Olá! Na lição anterior, você deu vida ao seu projeto, iniciando o servidor de desenvolvimento com npm run dev e visualizando a página de boas-vindas. Você aprendeu que o servidor atua como um "chef", transformando seus arquivos .astro em um site funcional.
Agora que a "casa" está de pé, é hora de fazer um tour guiado por seus cômodos. Esta lição mapeia a estrutura de pastas que o Astro criou, para que você saiba exatamente onde cada tipo de arquivo deve ir. Compreender essa organização é o alicerce para instruir uma IA com precisão e validar o código que ela gera.
O nosso objetivo é identificar a função das pastas principais do projeto: src/pages, src/layouts, src/components e public.
1. Hook (A Trava Mental)
- Aprendiz: "Mestre, eu vejo várias pastas:
src,public,node_modules... parece complexo. Se eu pedir para a IA criar uma nova página, onde exatamente ela deve colocar o arquivo? E se for um elemento reutilizável, como um botão?"
2. Deep Dive (A Solução)
- Mestre: "Excelente pergunta. A estrutura de pastas do Astro não é aleatória; é uma planta baixa lógica e organizada. Pense nela como uma casa bem planejada. Cada pasta tem um propósito claro, e conhecê-los transforma seus prompts para a IA de pedidos vagos em ordens de construção precisas."
Vamos explorar os quatro "cômodos" principais que você precisa dominar.
Para ter uma visão geral e oficial, a documentação do Astro é seu mapa.
Project structure - Astro Docs
A documentação oficial do Astro detalha a função de cada diretório. Use-a como sua principal referência para entender a 'planta baixa' do projeto.
Leia as seções que descrevem a estrutura geral, começando em 'Directories and Files' até a descrição da pasta 'public/'. Preste atenção especial às explicações para: src/, src/pages, src/components, src/layouts e public/. Note como o documento diferencia o que é obrigatório (como src/pages) do que é convenção.
Agora, vamos analisar cada pasta com nossas analogias.
A. public/ - A Garagem
- Analogia: Pense na pasta
publiccomo a garagem ou o depósito da sua casa. É onde você guarda coisas que não precisam ser construídas ou processadas, apenas movidas para o local final. - Função: Arquivos aqui são copiados para o site final sem modificação. É o lugar ideal para:
- Imagens que você não quer que o Astro otimize (
logo.svg,favicon.ico). - Fontes personalizadas (
minha-fonte.woff2). - Arquivos especiais como
robots.txtou PDFs para download.
- Imagens que você não quer que o Astro otimize (
- Em resumo: O que entra em
public/sai exatamente igual no site publicado.
B. src/ - A Oficina
- Analogia: A pasta
src(de "source" ou fonte) é a sua oficina de trabalho. É aqui que toda a mágica acontece. O Astro pega os materiais brutos desta pasta (seu código) e os constrói, otimiza e monta para criar o site final. - Função: Contém todo o seu código-fonte que será processado pelo Astro. Dentro dela, temos três áreas de trabalho cruciais.
C. src/pages - Os Quartos (As Páginas)
- Analogia: Cada arquivo dentro de
src/pagesé um cômodo da sua casa. O nome do arquivo vira o endereço do cômodo. - Função: O Astro usa um sistema de roteamento baseado em arquivos.
src/pages/index.astro→ se torna a página principal do seu site (meusite.com/).src/pages/sobre.astro→ se torna a páginameusite.com/sobre.src/pages/contato.astro→ se torna a páginameusite.com/contato.
- Em resumo: Quer criar uma nova página? Basta criar um novo arquivo
.astroaqui. É a pasta mais importante e a única que é estritamente obrigatória.
D. src/layouts - A Estrutura (Paredes e Teto)
- Analogia: Usando a analogia do nosso curso, esta é a "Caixa de Pizza". É a estrutura que se repete em várias páginas: o cabeçalho com o logo, o menu de navegação e o rodapé. A página em si é o "recheio" que muda.
- Função: Layouts são componentes especiais que definem a estrutura de uma ou mais páginas. Eles contêm um marcador especial
<slot />, que é onde o conteúdo específico de cada página será injetado. Isso evita que você copie e cole o mesmo cabeçalho e rodapé em todos os arquivos. - Em resumo: Defina o esqueleto da sua página uma vez, reutilize em todo lugar.
E. src/components - A Mobília (Os Blocos de Lego)
- Analogia: Se as páginas são os cômodos, os componentes são a mobília e a decoração que você pode usar em qualquer um deles. Um botão, um card de produto, um formulário de contato. Você constrói a "cadeira" (
Button.astro) uma vez e pode colocá-la na sala (index.astro) ou no quarto (sobre.astro). - Função: São blocos de construção de interface, reutilizáveis e independentes. A essência do Astro é construir sites combinando esses pequenos componentes.
- Em resumo: Tudo que você pretende reutilizar em mais de um lugar deve ser um componente.
3. O Fazer (Explorando na Prática)
Para ver essa estrutura em ação, nada melhor do que um vídeo que percorre essas pastas e explica sua função.
O vídeo 'Astro: A Primeira Meia Hora' do canal dpw (em português) faz um excelente tour por essa estrutura de pastas. Assista aos trechos selecionados para ver cada conceito na prática.
Assista aos seguintes segmentos: public e src: de 01:49 a 04:06 (Introdução geral às pastas). src/components: de 04:30 a 05:32 (Entendendo componentes reutilizáveis). src/pages: de 09:34 a 10:20 (Demonstração do roteamento baseado em arquivos). src/layouts: de 12:00 a 13:00 (Explicação de como layouts envolvem o conteúdo da página).
Visualmente, a estrutura no seu editor de código se parecerá com isto:

4. Checkpoint (Dica de IA)
- Mestre: "Perfeito. Agora você não está mais olhando para um amontoado de arquivos. Você está vendo a planta baixa de um arquiteto. Este conhecimento é o seu superpoder para o Context Engineering."
Ao dar instruções para uma IA, você agora pode ser extremamente específico, o que aumenta drasticamente a qualidade do resultado.
- Prompt Genérico (Ruim): "Crie uma página sobre mim."
- Prompt com Contexto (Ótimo): "Atue como um desenvolvedor Astro. Crie uma nova página em
src/pages/sobre.astro. Esta página deve usar o layout definido emsrc/layouts/BaseLayout.astro. Dentro da página, adicione um componenteProfileCard.astroque você criará emsrc/components/. OProfileCarddeve mostrar uma imagemprofile.jpg, que deve ser colocada na pastapublic/images/."
Percebe a diferença? O segundo prompt não deixa espaço para ambiguidade. Você está fornecendo o contexto estrutural para a IA trabalhar, garantindo que o código gerado se encaixe perfeitamente no seu projeto.
Conclusão
Nesta lição, você mapeou o território do seu projeto Astro. Você agora entende a lógica por trás da estrutura de pastas.
-
Key Takeaways:
public/: Para arquivos estáticos, sem processamento (a garagem).src/pages/: Cria as páginas e URLs do seu site (os cômodos).src/layouts/: Define a estrutura reutilizável das páginas (as paredes e o teto).src/components/: Contém os blocos de construção reutilizáveis da sua UI (a mobília).
-
Próximo Passo: Conhecemos a planta baixa e a função de cada cômodo. Na próxima lição, vamos pegar uma dessas peças de "Lego" (
.astro) e olhar para dentro dela com uma lupa. Vamos dissecar sua anatomia e entender as duas partes que a compõem: a "mente" (o código JavaScript no frontmatter) e o "corpo" (o template HTML).