Repositório wrapper para habilitar o fluxo spec-driven (SDD) do Clovis CLI em cenários cross-repo, permitindo planejar e implementar, em uma mesma rodada, features que atravessam vários microserviços ou combinam backend e frontend. Este repositório centraliza skills, specs, mapas e inventário dos repositórios do ecossistema para dar contexto único ao trabalho, enquanto cada repositório continua com ciclo de vida próprio (versionamento, releases, pipelines e automações).
| Documento | Para quem |
|---|---|
| Papéis e responsabilidades | todos — comece por aqui |
| Tutorial do curador | quem monta o repositório central e roda as Etapas 1 e 2 |
| Guia do dia a dia | dev, PO e analista, a partir das Etapas 3 e 4 |
- Node.js 24+ (ver
.nvmrc) —nvm use - git no
PATH, com acesso aos remotes já configurado (chave SSH carregada no agente)
nvm use
npm run initinit faz as duas etapas de preparação, uma após a outra, e mostra no fim como cada uma terminou:
- Skills — aponta
.claude/skillspara.agents/skills, que é onde o Claude Code procura as skills do projeto. Funciona em Windows, Linux e macOS, e pode ser repetido à vontade. - Repositórios — clona em
repositories/o que está declarado emrepositories.json. Esse diretório fica fora do controle de versão daqui; cada projeto clonado mantém o próprio ciclo de vida — remote, releases e automações seguem no repositório dele.
Os scripts abaixo estão definidos em package.json e podem ser executados com npm run.
Roda a preparação inicial do wrapper em duas etapas:
- cria/atualiza o link de skills com
npm run link:skills; - executa o clone de repositórios com
npm run clone.
Exemplos:
npm run init
npm run init -- --depth 1
npm run init -- --only core-serviceClona em repositories/ todos os repositórios declarados em repositories.json que ainda não
existem localmente.
Exemplos:
npm run clone
npm run clone -- --only integration-api
npm run clone -- --depth 1
npm run clone -- --dry-runExecuta o mesmo fluxo de clone, mas com atualização dos clones existentes (fetch +
fast-forward quando possível).
Exemplos:
npm run clone:update
npm run clone:update -- --only core-serviceCria (ou corrige) o link .claude/skills apontando para .agents/skills.
Exemplo:
npm run link:skillsO arquivo repositories.json usa formato de array simples.
Cada item deve ter, no mínimo, name e url.
Exemplo:
[
{
"name": "core-service",
"url": "git@github.com:your-org/core-service.git"
},
{
"name": "novo-repositorio",
"url": "git@github.com:your-org/novo-repositorio.git"
}
]Regras importantes:
namevira o nome da pasta emrepositories/, então precisa ser único.- Use apenas caracteres seguros no
name:a-z,0-9,.,_e-. urldeve ser a URL do remote git com acesso configurado na sua máquina.
Depois de editar o inventário:
npm run clone -- --dry-run
npm run cloneArgumentos informados após -- em npm run init são repassados para o script de clone.
npm run init -- --depth 1
npm run init -- --only core-servicePara sincronizar repositórios já clonados:
npm run clone:updateCom --update, o script faz fetch e só avança a branch local por fast-forward.
Se houver alterações locais não commitadas, o repositório é apenas reportado.
Uma falha em um repositório não interrompe os demais. Ao final, sai um relatório com o que foi clonado, atualizado, mantido sem alteração e com falha.
node scripts/clone-repositories.js --help| Caminho | Conteúdo |
|---|---|
AGENTS.md |
Instruções e convenções para agentes — leia primeiro |
.agents/skills/ |
Skills de domínio e de convenção |
.agents/specs/ |
Specs por unidade de trabalho |
repositories.json |
Inventário dos repositórios do ecossistema |
repositories/ |
Clones locais, provisionados pelo script |
scripts/ |
Automações deste repositório em JavaScript (Node 24+, sem dependências) |