Ambiente de desenvolvimento
Devcontainer para Codespaces e VS Code, e os ganchos do pre-commit que rodam o CI antes do commit.
O defeito mais caro de um projeto novo é o “na minha máquina funciona”. Duas peças o reduzem: um contêiner de desenvolvimento, igual para todos, e ganchos que rodam o que o CI roda antes do commit — onde consertar custa segundos, e não um ciclo inteiro de revisão.
Devcontainer#
bash
dataforge devops devcontainer
# .devcontainer/devcontainer.json — abra no VS Code ("Reopen in Container")
# ou num Codespace, e a linguagem, a extensao e as dependencias ja estao lajson
{
"name": "loja",
"image": "mcr.microsoft.com/devcontainers/python:3.13",
"postCreateCommand": "pip install dataforge-lang && dataforge editor && dataforge install",
"forwardPorts": [8080]
}A extensão é instalada por dataforge editor, e não por id do marketplace: ela vem no pacote, na mesma versão da linguagem. Um id do marketplace instalaria a última, que pode não concordar com a linguagem instalada.
pre-commit#
bash
dataforge devops pre-commit
pip install pre-commit
pre-commit install # a partir daqui, todo commit roda os ganchos| Gancho | O que para |
|---|---|
dataforge fmt | o diff de formatação no meio do diff de lógica |
dataforge check --strict | o nome errado que só apareceria no CI, dez minutos depois |
dataforge seguranca | o token colado no código — o único erro que não se desfaz com outro commit |
Continue em Numa VM.