@semacode/cli 3.8.4 → 3.8.5
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/dist/docs.part01.d.ts +4 -0
- package/dist/docs.part02.js +10 -5
- package/package.json +1 -1
package/dist/docs.part01.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export interface DocumentoPlanejado {
|
|
|
5
5
|
tipo: TipoDocumentoMudanca;
|
|
6
6
|
motivo: string;
|
|
7
7
|
permitirCriacao: boolean;
|
|
8
|
+
obrigatoriedade?: "bloqueante" | "recomendada";
|
|
8
9
|
}
|
|
9
10
|
export interface DocumentoObrigatorioMudanca {
|
|
10
11
|
caminho: string;
|
|
@@ -20,6 +21,7 @@ export interface DocumentoObrigatorioMudanca {
|
|
|
20
21
|
template?: string;
|
|
21
22
|
templatePendente?: boolean;
|
|
22
23
|
substancia?: boolean;
|
|
24
|
+
obrigatoriedade: "bloqueante" | "recomendada";
|
|
23
25
|
}
|
|
24
26
|
export interface BloqueioDocumentacaoMudanca {
|
|
25
27
|
tipo: "documentacao_ausente" | "leitura_obrigatoria_nao_comprovada" | "documentacao_template_cru" | "documentacao_sem_substancia" | "arquivo_monolitico" | "codigo_governado_sem_cabecalho";
|
|
@@ -38,6 +40,7 @@ export interface ResultadoDocumentacaoObrigatoria {
|
|
|
38
40
|
leituraObrigatoria: DocumentoObrigatorioMudanca[];
|
|
39
41
|
docsAusentes: DocumentoObrigatorioMudanca[];
|
|
40
42
|
docsCriadas: DocumentoObrigatorioMudanca[];
|
|
43
|
+
leituraRecomendada: DocumentoObrigatorioMudanca[];
|
|
41
44
|
bloqueios: BloqueioDocumentacaoMudanca[];
|
|
42
45
|
instrucoes: string[];
|
|
43
46
|
}
|
|
@@ -45,6 +48,7 @@ export interface ResultadoVerificacaoDocumentacaoMudanca {
|
|
|
45
48
|
sucesso: boolean;
|
|
46
49
|
baseProjeto: string;
|
|
47
50
|
intencao: string;
|
|
51
|
+
leituraRecomendada: DocumentoObrigatorioMudanca[];
|
|
48
52
|
categorias: string[];
|
|
49
53
|
docsLidas: string[];
|
|
50
54
|
leituraObrigatoria: DocumentoObrigatorioMudanca[];
|
package/dist/docs.part02.js
CHANGED
|
@@ -51,7 +51,7 @@ export async function resolverDocumentacaoObrigatoria(opcoes) {
|
|
|
51
51
|
await adicionarDocsRaizExistentes(baseProjeto, registrar);
|
|
52
52
|
for (const regra of REGRAS_DOCUMENTACAO.filter((item) => categorias.includes(item.categoria))) {
|
|
53
53
|
for (const doc of regra.docs) {
|
|
54
|
-
registrar(doc);
|
|
54
|
+
registrar({ ...doc, obrigatoriedade: "recomendada" });
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
await adicionarReadmesDeArquivos(baseProjeto, arquivosAlvo, registrar);
|
|
@@ -87,6 +87,7 @@ export async function resolverDocumentacaoObrigatoria(opcoes) {
|
|
|
87
87
|
criado,
|
|
88
88
|
criacaoAutomatica: doc.permitirCriacao,
|
|
89
89
|
obrigatorio: true,
|
|
90
|
+
obrigatoriedade: doc.obrigatoriedade ?? "bloqueante",
|
|
90
91
|
template: existe ? undefined : template,
|
|
91
92
|
};
|
|
92
93
|
if (existe) {
|
|
@@ -101,7 +102,7 @@ export async function resolverDocumentacaoObrigatoria(opcoes) {
|
|
|
101
102
|
}
|
|
102
103
|
const docsAusentes = leituraObrigatoria.filter((doc) => !doc.existe);
|
|
103
104
|
const docsCriadas = leituraObrigatoria.filter((doc) => doc.criado);
|
|
104
|
-
const bloqueios = docsAusentes.map((doc) => ({
|
|
105
|
+
const bloqueios = docsAusentes.filter((doc) => doc.obrigatoriedade !== "recomendada").map((doc) => ({
|
|
105
106
|
tipo: "documentacao_ausente",
|
|
106
107
|
severidade: 4,
|
|
107
108
|
caminho: doc.relativo,
|
|
@@ -118,6 +119,9 @@ export async function resolverDocumentacaoObrigatoria(opcoes) {
|
|
|
118
119
|
leituraObrigatoria,
|
|
119
120
|
docsAusentes,
|
|
120
121
|
docsCriadas,
|
|
122
|
+
leituraRecomendada: leituraObrigatoria
|
|
123
|
+
.filter((doc) => doc.obrigatoriedade === "recomendada")
|
|
124
|
+
.map(compactarDocumentoObrigatorio),
|
|
121
125
|
bloqueios,
|
|
122
126
|
instrucoes: [
|
|
123
127
|
"A IA deve ler todos os itens de leituraObrigatoria antes de executar a mudanca.",
|
|
@@ -149,9 +153,9 @@ export async function verificarDocumentacaoMudanca(opcoes) {
|
|
|
149
153
|
});
|
|
150
154
|
const docsLidas = [...new Set((opcoes.docsLidas ?? []).map((doc) => normalizarDocLida(baseProjeto, doc)).filter(Boolean))];
|
|
151
155
|
const setDocsLidas = new Set(docsLidas);
|
|
152
|
-
const docsNaoLidas = impacto.leituraObrigatoria.filter((doc) => doc.existe && !setDocsLidas.has(doc.relativo));
|
|
153
|
-
const docsTemplatePendentes = impacto.leituraObrigatoria.filter((doc) => (doc.existe && doc.templatePendente && setDocsLidas.has(doc.relativo)));
|
|
154
|
-
const docsSemSubstancia = impacto.leituraObrigatoria.filter((doc) => (doc.existe && !doc.templatePendente && doc.substancia === false));
|
|
156
|
+
const docsNaoLidas = impacto.leituraObrigatoria.filter((doc) => (doc.existe && doc.obrigatoriedade !== "recomendada" && !setDocsLidas.has(doc.relativo)));
|
|
157
|
+
const docsTemplatePendentes = impacto.leituraObrigatoria.filter((doc) => (doc.existe && doc.obrigatoriedade !== "recomendada" && doc.templatePendente && setDocsLidas.has(doc.relativo)));
|
|
158
|
+
const docsSemSubstancia = impacto.leituraObrigatoria.filter((doc) => (doc.existe && doc.obrigatoriedade !== "recomendada" && !doc.templatePendente && doc.substancia === false));
|
|
155
159
|
const diagnosticosOrcamento = await emitirDiagnosticosArquivosOrcamento({
|
|
156
160
|
baseProjeto,
|
|
157
161
|
arquivos: opcoes.arquivosAlvo ?? [],
|
|
@@ -201,6 +205,7 @@ export async function verificarDocumentacaoMudanca(opcoes) {
|
|
|
201
205
|
intencao: opcoes.intencao,
|
|
202
206
|
categorias: impacto.categorias,
|
|
203
207
|
docsLidas,
|
|
208
|
+
leituraRecomendada: impacto.leituraRecomendada,
|
|
204
209
|
leituraObrigatoria: impacto.leituraObrigatoria.map(compactarDocumentoObrigatorio),
|
|
205
210
|
docsNaoLidas: docsNaoLidas.map(compactarDocumentoObrigatorio),
|
|
206
211
|
docsAusentes: impacto.docsAusentes.map(compactarDocumentoObrigatorio),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semacode/cli",
|
|
3
|
-
"version": "3.8.
|
|
3
|
+
"version": "3.8.5",
|
|
4
4
|
"description": "Local-first semantic governance CLI for AI agents, proven with Claude, Codex, zCode (GLM) and Kimi: contracts, drift, impact, docs gates, and code generation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"icon": "logo.png",
|