@connsoft-tech/claude-init 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +17 -0
- package/.claude-plugin/plugin.json +10 -0
- package/LICENSE +21 -0
- package/README.md +193 -0
- package/bin/cli.js +892 -0
- package/commands/claude-init.md +141 -0
- package/package.json +39 -0
- package/templates/.claude/agents/backend-implementer.md.tpl +30 -0
- package/templates/.claude/agents/db-migrator.md.tpl +27 -0
- package/templates/.claude/agents/frontend-implementer.md.tpl +26 -0
- package/templates/.claude/agents/implementer.md.tpl +27 -0
- package/templates/.claude/agents/orchestrator.md.tpl +85 -0
- package/templates/.claude/agents/queue-worker.md.tpl +20 -0
- package/templates/.claude/agents/reviewer.md.tpl +18 -0
- package/templates/.claude/commands/diagrama.md.tpl +20 -0
- package/templates/.claude/commands/finalizar.md.tpl +12 -0
- package/templates/.claude/commands/nova-implementacao.md.tpl +15 -0
- package/templates/.claude/commands/onboarding.md.tpl +25 -0
- package/templates/.claude/commands/registrar-decisao.md.tpl +15 -0
- package/templates/.claude/commands/versao.md.tpl +34 -0
- package/templates/.claude/hooks/guard-git-safety.sh.tpl +33 -0
- package/templates/.claude/hooks/guard-migration-rollback.sh.tpl +35 -0
- package/templates/.claude/layer/CLAUDE.layer.md.tpl +23 -0
- package/templates/.claude/rules/convencoes.md.tpl +7 -0
- package/templates/.claude/rules/registro-decisoes.md.tpl +18 -0
- package/templates/.claude/rules/stack.md.tpl +6 -0
- package/templates/.github/workflows/auto-tag.yml.tpl +31 -0
- package/templates/CLAUDE.root.md.tpl +41 -0
- package/templates/app/CLAUDE.app.md.tpl +21 -0
- package/templates/docs/architecture/README.md.tpl +11 -0
- package/templates/docs/architecture/decisions.md.tpl +23 -0
- package/templates/docs/architecture/visao-geral.md.tpl +17 -0
- package/templates/specs/README.md.tpl +32 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "claude-init",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "Connsoft"
|
|
5
|
+
},
|
|
6
|
+
"metadata": {
|
|
7
|
+
"description": "Marketplace com o plugin claude-init — scaffolder de setup Claude Code (orchestrator, agentes por camada, SDD, hooks) pra qualquer stack."
|
|
8
|
+
},
|
|
9
|
+
"plugins": [
|
|
10
|
+
{
|
|
11
|
+
"name": "claude-init",
|
|
12
|
+
"source": "./",
|
|
13
|
+
"description": "Scaffolder de estrutura Claude Code para qualquer stack — gera orchestrator, agentes por camada, specs SDD e hooks de segurança.",
|
|
14
|
+
"version": "1.0.0"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "claude-init",
|
|
3
|
+
"description": "Scaffolder de estrutura Claude Code (orchestrator arquiteto, agentes por camada detectados pela stack, Spec-Driven Development, hooks de segurança) para qualquer stack, monorepo ou não.",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Connsoft"
|
|
7
|
+
},
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"homepage": "https://github.com/<seu-usuario>/claude-setup-cli"
|
|
10
|
+
}
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Connsoft
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# @connsoft-tech/claude-init
|
|
2
|
+
|
|
3
|
+
Scaffolder de estrutura Claude Code (CLAUDE.md em camadas, `.claude/rules`,
|
|
4
|
+
`.claude/agents`, `.claude/commands`, `docs/architecture`, `specs/`) pra
|
|
5
|
+
qualquer stack — não depende de Node no projeto alvo, é só a ferramenta
|
|
6
|
+
de geração.
|
|
7
|
+
|
|
8
|
+
Gera um `orchestrator` (arquiteto de software do projeto) que conduz o
|
|
9
|
+
fluxo de spec-driven development (specify → clarify → plan → tasks →
|
|
10
|
+
implement → validate), delega pra agentes especializados detectados pela
|
|
11
|
+
sua stack, e finaliza com merge ou Pull Request — sua escolha.
|
|
12
|
+
|
|
13
|
+
## Pré-requisitos
|
|
14
|
+
|
|
15
|
+
- Node.js 16+ (só pra rodar o CLI — não afeta a stack do seu projeto)
|
|
16
|
+
- Git
|
|
17
|
+
- [GitHub CLI (`gh`)](https://cli.github.com/) instalado e autenticado —
|
|
18
|
+
**só necessário se você escolher a estratégia de Pull Request** na
|
|
19
|
+
pergunta de finalização
|
|
20
|
+
|
|
21
|
+
## Uso
|
|
22
|
+
|
|
23
|
+
Direto do registro do npm, sem clonar nada:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npx @connsoft-tech/claude-init
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Ou instalando globalmente uma vez:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm i -g @connsoft-tech/claude-init
|
|
33
|
+
claude-init
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Rodando a partir do código-fonte (desenvolvimento/customização)
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
git clone https://github.com/<seu-usuario>/claude-setup-cli.git
|
|
40
|
+
cd claude-setup-cli
|
|
41
|
+
npm install
|
|
42
|
+
npm link
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Depois, dentro de qualquer repositório novo (ou existente):
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
cd /caminho/do/seu/projeto
|
|
49
|
+
claude-init
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Sem instalar globalmente:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npx --package=/caminho/absoluto/para/claude-setup-cli claude-init
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Instalar como plugin do Claude Code (sem precisar de Node)
|
|
59
|
+
|
|
60
|
+
Se você só usa isso dentro de uma sessão do Claude Code e não quer lidar
|
|
61
|
+
com Node/npm, este mesmo repositório também é um plugin:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
claude plugin marketplace add <seu-usuario>/claude-setup-cli
|
|
65
|
+
claude plugin install claude-init@claude-init
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Dentro de qualquer sessão do Claude Code, rode `/claude-init`. O comando
|
|
69
|
+
faz as mesmas perguntas do CLI e gera os mesmos arquivos — lendo os
|
|
70
|
+
templates bundlados no próprio plugin (`${CLAUDE_PLUGIN_ROOT}/templates/`)
|
|
71
|
+
e escrevendo com as ferramentas de arquivo do Claude, sem precisar
|
|
72
|
+
executar `bin/cli.js`. Mantenha os dois em paridade: qualquer mudança de
|
|
73
|
+
pergunta/lógica em `bin/cli.js` deve ser refletida em
|
|
74
|
+
`commands/claude-init.md`.
|
|
75
|
+
|
|
76
|
+
## Perguntas que o CLI faz
|
|
77
|
+
|
|
78
|
+
1. **Nome do projeto/produto** — usado nos textos gerados
|
|
79
|
+
2. **É um monorepo com múltiplos apps/pacotes?**
|
|
80
|
+
3. **Liste os apps/pacotes** (só se respondeu sim acima) — ex: `api, web`
|
|
81
|
+
4. **Linguagem/framework principal** — texto livre, ex: `Laravel/PHP`
|
|
82
|
+
5. **Banco de dados e padrão de arquitetura** — ex: `PostgreSQL multi-tenant`
|
|
83
|
+
6. **Mensageria/filas**, se houver — pode deixar em branco
|
|
84
|
+
7. **Como é feito o deploy** — ex: `Dokploy/Docker self-hosted`
|
|
85
|
+
8. **Branch principal de desenvolvimento** — padrão `develop`
|
|
86
|
+
9. **Branch que dispara o deploy em produção** — padrão `main` (onde a
|
|
87
|
+
tag de release é criada)
|
|
88
|
+
10. **Adicionar automação de versionamento** (`/versao` + GitHub Action
|
|
89
|
+
de auto-tag)?
|
|
90
|
+
11. **Deixar o Claude Code sempre iniciar em Plan Mode neste projeto?** —
|
|
91
|
+
gera `.claude/settings.json` com `defaultMode: "plan"`
|
|
92
|
+
12. **Adicionar hooks de segurança?** — bloqueia push forçado, push
|
|
93
|
+
direto na branch de release, e migration sem rollback
|
|
94
|
+
13. **Ao finalizar, o orchestrator deve fazer merge direto ou abrir PR?**
|
|
95
|
+
14. **O que mais deseja gerar?** — subagentes, regras, slash commands,
|
|
96
|
+
esqueleto de docs/architecture (todos marcados por padrão)
|
|
97
|
+
15. *(se detectar backend com convenção conhecida, ex: Laravel, e for
|
|
98
|
+
monorepo com mais de um app)* — qual pasta é o backend
|
|
99
|
+
16. *(mesma condição)* — gerar `CLAUDE.md` por camada
|
|
100
|
+
(models/controllers/services/repositories)?
|
|
101
|
+
17. *(ao final)* — quais skills complementares populares instalar
|
|
102
|
+
(a lista muda conforme a stack detectada — ver seção abaixo)
|
|
103
|
+
|
|
104
|
+
## O que é gerado
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
CLAUDE.md
|
|
108
|
+
.claude/settings.json (se Plan Mode e/ou hooks confirmados)
|
|
109
|
+
.claude/hooks/guard-git-safety.sh (se hooks confirmados)
|
|
110
|
+
.claude/hooks/guard-migration-rollback.sh (se hooks confirmados e detectou db-migrator)
|
|
111
|
+
docs/architecture/README.md
|
|
112
|
+
docs/architecture/visao-geral.md
|
|
113
|
+
docs/architecture/decisions.md
|
|
114
|
+
specs/README.md
|
|
115
|
+
.claude/rules/stack.md
|
|
116
|
+
.claude/rules/convencoes.md
|
|
117
|
+
.claude/rules/registro-decisoes.md
|
|
118
|
+
.claude/agents/orchestrator.md (sempre)
|
|
119
|
+
.claude/agents/reviewer.md (sempre)
|
|
120
|
+
.claude/agents/<camada>-implementer.md (conforme stack detectada)
|
|
121
|
+
.claude/commands/nova-implementacao.md
|
|
122
|
+
.claude/commands/finalizar.md
|
|
123
|
+
.claude/commands/registrar-decisao.md
|
|
124
|
+
.claude/commands/diagrama.md
|
|
125
|
+
.claude/commands/onboarding.md
|
|
126
|
+
.claude/commands/versao.md (se automação de versionamento confirmada)
|
|
127
|
+
.github/workflows/auto-tag.yml (se automação de versionamento confirmada)
|
|
128
|
+
apps/<cada-app>/CLAUDE.md (se monorepo)
|
|
129
|
+
apps/<app-backend>/<pasta-da-camada>/CLAUDE.md (se confirmado)
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Campos marcados como `[definir]` devem ser revisados manualmente antes do
|
|
133
|
+
primeiro commit — o CLI preenche a estrutura, não decide seus padrões.
|
|
134
|
+
|
|
135
|
+
## Detecção de stack
|
|
136
|
+
|
|
137
|
+
O CLI lê as respostas de linguagem/banco/mensageria e gera agentes por
|
|
138
|
+
camada automaticamente (`backend-implementer`, `frontend-implementer`,
|
|
139
|
+
`db-migrator`, `queue-worker`) com base em palavras-chave. Se nada bater,
|
|
140
|
+
gera um `implementer` genérico. A lista de palavras-chave e as
|
|
141
|
+
convenções de pasta conhecidas (hoje só Laravel) ficam em
|
|
142
|
+
`STACK_DETECTORS` e `FRAMEWORK_LAYER_PATHS`, no `bin/cli.js`.
|
|
143
|
+
|
|
144
|
+
## Publicando no npm (uma vez, e a cada atualização)
|
|
145
|
+
|
|
146
|
+
1. Ter conta no [npmjs.com](https://www.npmjs.com/signup) e criar o
|
|
147
|
+
escopo/organização `connsoft` lá (gratuito para pacotes públicos) —
|
|
148
|
+
ou trocar `@connsoft` por seu usuário pessoal no `name` do
|
|
149
|
+
`package.json` se preferir não criar org.
|
|
150
|
+
2. `npm login` no terminal (pede 2FA se estiver ativado na conta).
|
|
151
|
+
3. Dentro da pasta do projeto: `npm publish` — o campo
|
|
152
|
+
`publishConfig.access: "public"` já no `package.json` evita precisar
|
|
153
|
+
lembrar do `--access public` toda vez (pacotes com escopo `@algo/`
|
|
154
|
+
são privados por padrão).
|
|
155
|
+
4. Pronto — `npx @connsoft-tech/claude-init` já funciona pra qualquer pessoa,
|
|
156
|
+
de qualquer máquina com Node, sem clonar nada.
|
|
157
|
+
|
|
158
|
+
Pra publicar uma atualização depois: suba a versão em `version` no
|
|
159
|
+
`package.json` (`npm version patch` faz isso e já cria o commit/tag de
|
|
160
|
+
git) e rode `npm publish` de novo — o npm nunca deixa republicar a
|
|
161
|
+
mesma versão, então esse passo é obrigatório mesmo pra uma mudança
|
|
162
|
+
pequena.
|
|
163
|
+
|
|
164
|
+
## Skills complementares
|
|
165
|
+
|
|
166
|
+
Ao final, o CLI oferece instalar skills populares de terceiros — mas só
|
|
167
|
+
as que fazem sentido pra stack detectada **naquele projeto específico**
|
|
168
|
+
(cada projeto/dev pode usar uma stack diferente, então a lista muda).
|
|
169
|
+
|
|
170
|
+
Hoje o catálogo é:
|
|
171
|
+
- `grill-me` (sempre oferecida) — interroga uma pergunta por vez antes de
|
|
172
|
+
travar um plano/design; o `orchestrator` já usa no passo de clarify
|
|
173
|
+
quando presente.
|
|
174
|
+
- `terms` (sempre oferecida) — mantém glossário de domínio e ADRs.
|
|
175
|
+
- `e2e-setup`, `code-quality` (só se detectar frontend JS/TS) — Playwright
|
|
176
|
+
e baseline de lint/format.
|
|
177
|
+
|
|
178
|
+
Para adicionar novas skills ao catálogo, edite `SKILL_CATALOG` em
|
|
179
|
+
`bin/cli.js`.
|
|
180
|
+
|
|
181
|
+
## Customizando os templates
|
|
182
|
+
|
|
183
|
+
Edite os arquivos em `templates/`. Placeholders no formato `{{NOME}}` são
|
|
184
|
+
substituídos pelas respostas do prompt e por valores calculados
|
|
185
|
+
(`PROJECT_NAME`, `LANGUAGE`, `DATABASE`, `MESSAGING`, `DEPLOY`,
|
|
186
|
+
`DEV_BRANCH`, `APPS_LIST`, `APP_NAME`, `AGENTS_LIST`, `LAYERS_SECTION`,
|
|
187
|
+
`FINALIZE_TITLE`, `FINALIZE_BODY`, `FINALIZE_AVOID_LINE`,
|
|
188
|
+
`FINALIZE_STEPS`, `FINALIZE_DESC_SUFFIX`).
|
|
189
|
+
|
|
190
|
+
## Licença e contribuição
|
|
191
|
+
|
|
192
|
+
MIT — veja [LICENSE](./LICENSE). Este repositório não aceita Pull
|
|
193
|
+
Requests de terceiros — veja [CONTRIBUTING.md](./CONTRIBUTING.md).
|