theforge-cli 0.2.3 → 0.2.4
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/CHANGELOG.md +6 -0
- package/README.md +37 -12
- package/dist/index.js +6801 -2934
- package/docs/installation.md +157 -0
- package/docs/solucao-de-problemas.md +17 -10
- package/docs/troubleshooting.md +62 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
Todas as mudanças notáveis deste projeto são documentadas aqui, no
|
|
4
4
|
formato [Keep a Changelog](https://keepachangelog.com/pt-BR/1.1.0/).
|
|
5
5
|
|
|
6
|
+
## [0.2.4] - 2026-10-20
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
- Cycle 12.1 local-source + environment discovery: gitless forge detection (`GITLESS_*` states, A/B/C identity), `local install|update|repair|uninstall` bound to managed artifacts, `forge/LocalForgeSourceDetection/v1` + `forge/EnvironmentDiscovery/v1` contracts, deterministic shell + python pipelines (`env discover`, `env paths`), FORGE-PYTHON/FORGE-SHELL refusal codes, `install.windows.sh` routed when PowerShell is unavailable, ubuntu+windows+macos CI matrix with a simulated no-PowerShell gate.
|
|
11
|
+
|
|
6
12
|
## [0.2.3] - 2026-10-20
|
|
7
13
|
|
|
8
14
|
### Changed
|
package/README.md
CHANGED
|
@@ -19,10 +19,15 @@ feedback visual em tempo real.
|
|
|
19
19
|
- **Provisionamento de `.env`**: antes de qualquer script de
|
|
20
20
|
instalação, copia `.env.example` para `.env` ou cria um modelo com
|
|
21
21
|
comentários. Um `.env` existente nunca é sobrescrito.
|
|
22
|
-
- **Scripts por sistema operacional**: `install.ps1` no
|
|
23
|
-
`install.sh`
|
|
22
|
+
- **Scripts por sistema operacional**: `install.ps1`/`setup.ps1` no
|
|
23
|
+
Windows (powershell.exe → pwsh → Git Bash via `install.windows.sh`) e
|
|
24
|
+
`install.sh`/`setup.sh` no Linux/macOS, detectados automaticamente.
|
|
25
|
+
- **Fonte local (gitless)**: `install <dir>` instala de ZIP extraído,
|
|
26
|
+
pasta copiada ou diretório sem `.git` — detecção por filesystem, sem
|
|
27
|
+
spawn de git e sem rede no caminho gitless.
|
|
24
28
|
- **Verificação de ambiente (preflight)**: confirma `git`, Node.js
|
|
25
|
-
> = 20 e
|
|
29
|
+
> = 20 e uma shell de instalação no Windows (powershell.exe, pwsh ou
|
|
30
|
+
> Git Bash) antes de qualquer alteração.
|
|
26
31
|
- **Isolamento de falhas**: o erro em um repositório não interrompe os
|
|
27
32
|
demais; o relatório final mostra `[OK]`, `[AVISO]` ou `[ERRO]` por
|
|
28
33
|
item, com tempo de execução.
|
|
@@ -31,13 +36,17 @@ feedback visual em tempo real.
|
|
|
31
36
|
|
|
32
37
|
## Requisitos
|
|
33
38
|
|
|
34
|
-
| Requisito
|
|
35
|
-
|
|
|
36
|
-
| Node.js
|
|
37
|
-
| npm
|
|
38
|
-
| Git
|
|
39
|
-
| PowerShell
|
|
40
|
-
| Credenciais Git
|
|
39
|
+
| Requisito | Versão | Observação |
|
|
40
|
+
| ---------------------- | ---------------- | ------------------------------------------------ |
|
|
41
|
+
| Node.js | >= 20 | Verificado no preflight |
|
|
42
|
+
| npm | >= 10 | Gerenciador de pacotes fixo |
|
|
43
|
+
| Git | qualquer recente | Precisa estar no `PATH` |
|
|
44
|
+
| PowerShell ou Git Bash | qualquer | Somente Windows — `.ps1` ou `install.windows.sh` |
|
|
45
|
+
| Credenciais Git | — | Acesso aos repositórios privados |
|
|
46
|
+
|
|
47
|
+
> PowerShell **não** é obrigatório no Windows: sem `powershell.exe`/`pwsh`
|
|
48
|
+
> o Git Bash executa `install.windows.sh`. WSL nunca substitui shell
|
|
49
|
+
> nativo — detalhes em [docs/installation.md](docs/installation.md).
|
|
41
50
|
|
|
42
51
|
## Instalação
|
|
43
52
|
|
|
@@ -119,6 +128,17 @@ recusado antes de qualquer mutação.
|
|
|
119
128
|
- `uninstall --method registry` remove venv + receipt com plano e
|
|
120
129
|
confirmação (`--yes`); `--all`/`--only` resolvem o conjunto instalado.
|
|
121
130
|
|
|
131
|
+
## Fonte local (ZIP, pasta copiada, sem `.git`)
|
|
132
|
+
|
|
133
|
+
`forge-cli install <dir>` instala direto de um diretório — ZIP do GitHub
|
|
134
|
+
extraído, pasta copiada ou checkout sem `.git`. O bootstrap roda no
|
|
135
|
+
lugar, sem `git init`/clone/pull e sem rede; `update <dir-novo>`
|
|
136
|
+
reconcilia arquivos na fonte registrada, `reinstall <nome>` re-executa
|
|
137
|
+
o bootstrap e `uninstall <nome>` remove só os artefatos gerenciados
|
|
138
|
+
(a fonte e os arquivos do usuário nunca são apagados). Guia completo
|
|
139
|
+
por cenário: [docs/installation.md](docs/installation.md); códigos de
|
|
140
|
+
recusa: [docs/troubleshooting.md](docs/troubleshooting.md).
|
|
141
|
+
|
|
122
142
|
## Independência
|
|
123
143
|
|
|
124
144
|
O forge-cli é uma conveniência opcional: nenhuma Forja depende dele e remover o CLI (`self uninstall`) não afeta Forjas já instaladas. Instalações feitas à mão são reconhecidas (`forge-cli status`) sem precisar reinstalar. Estes cenários estão cobertos em `tests/independence.test.ts`.
|
|
@@ -127,6 +147,8 @@ O forge-cli é uma conveniência opcional: nenhuma Forja depende dele e remover
|
|
|
127
147
|
|
|
128
148
|
```bash
|
|
129
149
|
forge-cli install api-forge platform-forge # instala Forjas escolhidas
|
|
150
|
+
forge-cli install ./minha-fonte # fonte local (ZIP/cópia/sem .git)
|
|
151
|
+
forge-cli update ./minha-fonte-nova # update por diretório mais novo
|
|
130
152
|
forge-cli install # fluxo interativo
|
|
131
153
|
forge-cli clone api-forge # só clona/sincroniza, sem scripts
|
|
132
154
|
forge-cli status # estado local (clonado, versão, alterações)
|
|
@@ -164,8 +186,9 @@ Execute `npm run dev` (ou `forge-cli`, se instalado globalmente) e siga
|
|
|
164
186
|
o fluxo interativo:
|
|
165
187
|
|
|
166
188
|
1. **Banner e verificação de ambiente.** O CLI exibe o banner do Forge
|
|
167
|
-
e valida `git`, a versão do Node.js e
|
|
168
|
-
Windows). Falhas encerram o
|
|
189
|
+
e valida `git`, a versão do Node.js e uma shell de instalação no
|
|
190
|
+
Windows (`powershell.exe`, `pwsh` ou Git Bash). Falhas encerram o
|
|
191
|
+
processo antes de qualquer prompt.
|
|
169
192
|
2. **Diretório de instalação.** Informe onde os repositórios serão
|
|
170
193
|
clonados. O padrão é `./forge-workspace`; o caminho é convertido
|
|
171
194
|
para absoluto e o diretório criado se não existir.
|
|
@@ -263,6 +286,8 @@ factory/ # fluxo spec-driven (Loop Factory)
|
|
|
263
286
|
|
|
264
287
|
- [Arquitetura e decisões de design](https://github.com/EdgarSocrates98/forge-cli/blob/v0.1.0/docs/arquitetura.md)
|
|
265
288
|
- [Matriz de capacidades das Forjas](https://github.com/EdgarSocrates98/forge-cli/blob/v0.1.0/docs/capabilities.md)
|
|
289
|
+
- [Guia de instalação por cenário](docs/installation.md)
|
|
290
|
+
- [Códigos FORGE-* de recusa](docs/troubleshooting.md)
|
|
266
291
|
- [Solução de problemas](https://github.com/EdgarSocrates98/forge-cli/blob/v0.1.0/docs/solucao-de-problemas.md)
|
|
267
292
|
- [Como contribuir](https://github.com/EdgarSocrates98/forge-cli/blob/v0.1.0/CONTRIBUTING.md)
|
|
268
293
|
- [Registro de mudanças](https://github.com/EdgarSocrates98/forge-cli/blob/v0.1.0/CHANGELOG.md)
|