Funcionalidade init - BrunodosSantosVaz/big-bang GitHub Wiki

Fundação inicial

Funcionalidade BB-F-015 · requisito RF-BB-015 · versão documentada 3.0.0 · código 87ff729053d3bcb820d4246be971af7f028d5867.

Finalidade

Preparar F0 com identidade, modo padrão ou Flash, configuração e arquivos comunitários sem destruir conteúdo do projeto.

Atores

Pessoa responsável pelo projeto, IA com posse confirmada e automações explicitamente autorizadas.

Pré-condições

Repositório e raiz corretos, versão instalada e configuração compatível. Para operações de escrita, exige-se autorização vigente, branch adequada e acesso ao recurso envolvido; consultas não conferem permissão adicional.

Fluxo principal

Validar opções e ambiente Python; para público conferir Wiki inicializada antes de mover arquivos; gerar configuração e README correspondente à visibilidade. Um sistema nasce copiando o template do framework: o bb init retira do AGENTS.md exatamente o trecho marcado entre <!-- bigbang:framework:inicio --> e <!-- bigbang:framework:fim --> (instruções exclusivas do próprio framework, como o modo e as prioridades dele) e preserva todo o restante da seção de projeto. O plano mostrado em --simular lista essa etapa. Desde a v3, o sistema nasce no fluxo agrupador (--fluxo grouping, padrão): bigbang.toml em inglês (ADR-0024), quadro único (board.model = "single", número preenchido em F4), labels v3, workflow.model = "grouping" e a label type:foundation na issue de F0. --modo aceita normal (o antigo padrao), flash e autonomous; o autonomous só existe no fluxo v3. O bb init remove também .bigbang-framework.toml e .bigbang-producao.json, arquivos só do framework (o segundo é o contrato de produção do framework, que isentaria o sistema de provar o checklist). --fluxo epic-branch mantém o fluxo anterior, com o bigbang.toml em português e os três painéis.

Validações

Não existe código do sistema antes de F2; a nova matriz pública começa incompleta e deve ser preenchida nas etapas seguintes. Sem os marcadores do framework, a seção de projeto do AGENTS.md fica intacta, mesmo quando cita o repositório de origem. O teste ponta a ponta do lançador (test_launcher.py) confere que nenhum arquivo, workflow ou instrução exclusiva do framework sobra num sistema recém-fundado. set_config_value grava uma chave no idioma do arquivo existente, usando os nomes legados como referência.

Alternativas e erros

Repositório incorreto, Wiki ausente ou pré-condição inválida interrompe a inicialização preservando os documentos existentes.

Permissões

Leitura usa permissões mínimas do repositório. Operações locais respeitam a posse e worktree; escrita no GitHub exige acesso explícito. Esta funcionalidade não concede novas permissões a visitantes nem substitui decisões exigidas pelo fluxo.

Resultados

Resultado esperado: Preparar F0 com identidade, modo padrão ou Flash, configuração e arquivos comunitários sem destruir conteúdo do projeto. O retorno e os arquivos afetados são conferidos pelos cenários rastreados abaixo; falha impede considerar a operação concluída.

O bb init também remove o autonomy.toml herdado do framework (junto com .bigbang-framework.toml e .bigbang-producao.json): o contrato de autonomia do Big Bang jamais delega aprovações a um sistema novo, que escreve o próprio contrato quando escolher o modo autonomous.

Referência da implementação

Os símbolos abaixo compõem o inventário real do módulo, incluindo auxiliares internos; não representam APIs públicas independentes.

init.py

Implementação revisada.

Símbolo Linha
hook_python_problem 36
slugify 56
set_value 61
set_config_value 83
_repository_from_git 91
resolve_options 100
build_config_text 121
grouping_text 139
plan_steps 159
run 180
_drop_framework_project_section 232
_license_text 244
_github_steps 254
keep_comment_column 69

Cenários e rastreabilidade

Requisitos · Matriz de rastreabilidade · Referência CLI

Fontes rastreadas