theforge-cli 0.2.5 → 0.3.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/CHANGELOG.md +6 -0
- package/dist/index.js +575 -101
- package/docs/installation.md +48 -0
- package/package.json +1 -1
package/docs/installation.md
CHANGED
|
@@ -142,6 +142,54 @@ forge-cli install <dir> # fonte local: zero re
|
|
|
142
142
|
negado sai como `FORGE-INSTALL-PERMISSION-DENIED` com o fallback.
|
|
143
143
|
- Fonte local (`install <dir>`) não toca rede por definição.
|
|
144
144
|
|
|
145
|
+
## 11. Integrações opcionais (pós-install)
|
|
146
|
+
|
|
147
|
+
Depois que uma instalação termina com sucesso, o forge-cli lista as
|
|
148
|
+
**integrações opcionais** declaradas para a(s) Forja(s) instalada(s) —
|
|
149
|
+
especialistas que compõem com ela (verificadores independentes, delegates
|
|
150
|
+
do orquestrador, fallbacks). Regras invioláveis:
|
|
151
|
+
|
|
152
|
+
- **Consentimento explícito.** Em terminal interativo a lista é um
|
|
153
|
+
checkbox (`Espaço` marca, `Enter` confirma) sem nada pré-marcado;
|
|
154
|
+
seleção vazia = nada instalado. `--yes`, `--json` e pipes nunca
|
|
155
|
+
presumem consentimento — a lista sai como nota informativa (ou no
|
|
156
|
+
campo `optional_integrations` do relatório JSON).
|
|
157
|
+
- **Nunca automático.** Nenhum fluxo instala uma Forja irmã como
|
|
158
|
+
dependência — composição é sempre opcional, nunca mandatória.
|
|
159
|
+
- **Detecção por evidência.** Antes de oferecer, cada integração é
|
|
160
|
+
classificada: `verified` (receipt com verify ok), `installed`
|
|
161
|
+
(receipt sem prova ou binário no PATH), `checkout` (clone presente),
|
|
162
|
+
`degraded` (receipt com verify falho ou fonte ausente) e `absent`.
|
|
163
|
+
O que já está saudável não é oferecido de novo.
|
|
164
|
+
- **Sem rota honesta.** Integração sem dist no PyPI (hoje:
|
|
165
|
+
`data-sentinel-forge`) aparece com a razão e o remédio correto
|
|
166
|
+
(`--method git` / método do repositório) — nunca é fingida instalável
|
|
167
|
+
nem instalada.
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
forge-cli install the-forge # instala → oferece os delegates do orquestrador
|
|
171
|
+
forge-cli install the-forge --yes # instala → integrações saem como nota (nada extra entra)
|
|
172
|
+
forge-cli install the-forge --json # idem, no campo optional_integrations do documento
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Doctor — `installation.integrations.<forja>`
|
|
176
|
+
|
|
177
|
+
`forge doctor` ganha um check por Forja instalada que declara
|
|
178
|
+
integrações, cobrindo as dimensões exigidas pela lf-0031 em cada
|
|
179
|
+
especialista: instalação (state), capability (`derivável`/declarada),
|
|
180
|
+
versão (receipt), executable-health (verify do receipt), contract
|
|
181
|
+
(`forge.json` do checkout) e delegation-adapter (`the-forge`/`ausente`).
|
|
182
|
+
|
|
183
|
+
- `skip` — todas ausentes: opcionais, **nunca falham a Forja
|
|
184
|
+
principal** (e não entram no plano de `doctor --fix`);
|
|
185
|
+
- `pass` — ao menos uma presente e nenhuma degradada;
|
|
186
|
+
- `warn` (low) — alguma degradada (verify falho/fonte perdida);
|
|
187
|
+
reparo é `UNSUPPORTED` no heal — só diagnóstico.
|
|
188
|
+
|
|
189
|
+
Especialistas sem adapter the-forge (hoje `data-sentinel-forge`)
|
|
190
|
+
aparecem como `adapter=ausente`/`capability=não declarada` em evidência
|
|
191
|
+
— gap documentado, reportado, nunca transformado em falha.
|
|
192
|
+
|
|
145
193
|
## Ciclo de vida da fonte local
|
|
146
194
|
|
|
147
195
|
| Operação | Comando | Comportamento |
|