Pular para o conteúdo principal

Scaffolding de projetos Python

· 4 min para ler

Scaffolding é a estrutura inicial de pastas e arquivos que todo projeto precisa antes de começar a escrever código. Pense como a planta baixa antes de construir: você define onde vai cada coisa antes de começar.

Para engenheiros e arquitetos: é como montar a estrutura de pastas de um projeto BIM antes de começar a modelar.


Por que fazer scaffolding antes de codar?

  • O agente vai entender melhor o que você quer fazer
  • Você não perde arquivos importantes em pastas erradas
  • Facilita pedir ajuda para o agente depois (ele sabe onde está cada coisa)
  • Projetos organizados são mais fáceis de continuar semanas depois

Estrutura mínima recomendada

Para um projeto Python simples de automação (ex: leitura de IFC, geração de planilhas):

meu-projeto/
├── gemini.md ← instruções para o agente
├── main.py ← arquivo principal (ponto de entrada)
├── requirements.txt ← lista de bibliotecas usadas
├── .gitignore ← arquivos que o Git deve ignorar
├── README.md ← explicação do projeto
├── exemplos/ ← arquivos de entrada para testes (ex: .ifc, .xlsx)
├── artifacts/ ← outputs gerados pelos scripts
├── plans/ ← planos de tarefas aprovados
├── regras/
│ └── regras-de-negocio.md ← regras do projeto
└── .gemini/
└── commands/ ← seus slash commands (.toml)

Como criar manualmente (passo a passo no Windows)

  1. Crie uma pasta para o projeto onde quiser (ex: Documentos\projetos\meu-projeto)
  2. Abra o PowerShell dentro dessa pasta:
    • Segure Shift e clique com botão direito na pasta → Abrir janela do PowerShell aqui
  3. Cole os comandos abaixo para criar toda a estrutura de uma vez:
# Cria todas as pastas
mkdir exemplos, artifacts, plans, regras, .gemini\commands

# Cria os arquivos vazios
New-Item main.py, requirements.txt, README.md, gemini.md, .gitignore -ItemType File
New-Item regras\regras-de-negocio.md -ItemType File
  1. Abra o Antigravity IDE → File → Open Folder → selecione a pasta do projeto

Como pedir ao agente para fazer o scaffolding

Você pode pedir ao Gemini CLI ou ao Antigravity para criar a estrutura por você. Basta descrever o projeto:

Crie o scaffolding inicial para um projeto Python com as seguintes características:
- Objetivo: ler arquivos IFC e exportar uma planilha Excel com os elementos e propriedades
- Bibliotecas: ifcopenshell, openpyxl
- Sistema: Windows
- Inclua: gemini.md com instruções básicas, requirements.txt preenchido, README.md com descrição do projeto, .gitignore para Python, e a estrutura de pastas: exemplos/, artifacts/, plans/, regras/
- Não escreva o código ainda, apenas monte a estrutura

O que vai dentro de cada arquivo

requirements.txt

Lista as bibliotecas que o projeto usa. Uma por linha:

ifcopenshell
openpyxl
pandas

Para instalar tudo de uma vez:

pip install -r requirements.txt

.gitignore

Arquivos que o Git não deve salvar. Para Python, use este conteúdo mínimo:

# Ambientes virtuais
venv/
.venv/

# Cache do Python
__pycache__/
*.pyc

# Arquivos de configuração local
.env
*.env

# Arquivos grandes de exemplo (opcional)
*.ifc

README.md

Explicação simples do projeto. Modelo mínimo:

# Nome do Projeto

O que este projeto faz em 1 frase.

## Como usar

1. Instale as dependências: `pip install -r requirements.txt`
2. Coloque seu arquivo `.ifc` na pasta `exemplos/`
3. Rode: `python main.py`
4. O resultado aparece na pasta `artifacts/`

## Tecnologias
- Python 3.10+
- ifcopenshell
- openpyxl

Ambientes virtuais (opcional mas recomendado)

Um ambiente virtual isola as bibliotecas do projeto para não conflitar com outros projetos no mesmo computador.

# Criar ambiente virtual (rode uma vez na pasta do projeto)
python -m venv venv

# Ativar o ambiente (rode toda vez que abrir o terminal)
venv\Scripts\activate

# Você verá (venv) no início da linha quando estiver ativo
# Agora instale as dependências normalmente:
pip install -r requirements.txt