@neetru/cli 2.29.0 → 2.31.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.
Files changed (68) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.md +61 -17
  3. package/dist/commands/deploy.d.ts +45 -0
  4. package/dist/commands/deploy.js +134 -1
  5. package/dist/commands/deploy.js.map +1 -1
  6. package/dist/commands/dev-up.d.ts +7 -5
  7. package/dist/commands/dev-up.js +24 -23
  8. package/dist/commands/dev-up.js.map +1 -1
  9. package/dist/commands/docs-produto.d.ts +65 -0
  10. package/dist/commands/docs-produto.js +322 -0
  11. package/dist/commands/docs-produto.js.map +1 -0
  12. package/dist/commands/init.d.ts +2 -0
  13. package/dist/commands/init.js +7 -0
  14. package/dist/commands/init.js.map +1 -1
  15. package/dist/commands/new.d.ts +2 -0
  16. package/dist/commands/new.js +2 -0
  17. package/dist/commands/new.js.map +1 -1
  18. package/dist/index.js +72 -6
  19. package/dist/index.js.map +1 -1
  20. package/dist/lib/api-client.d.ts +8 -1
  21. package/dist/lib/api-client.js +20 -2
  22. package/dist/lib/api-client.js.map +1 -1
  23. package/dist/lib/compose-generator.d.ts +13 -9
  24. package/dist/lib/compose-generator.js +28 -60
  25. package/dist/lib/compose-generator.js.map +1 -1
  26. package/dist/lib/config-schema.d.ts +40 -6
  27. package/dist/lib/config-schema.js +11 -0
  28. package/dist/lib/config-schema.js.map +1 -1
  29. package/dist/lib/product-docs/check.d.ts +62 -0
  30. package/dist/lib/product-docs/check.js +489 -0
  31. package/dist/lib/product-docs/check.js.map +1 -0
  32. package/dist/lib/product-docs/config.d.ts +66 -0
  33. package/dist/lib/product-docs/config.js +234 -0
  34. package/dist/lib/product-docs/config.js.map +1 -0
  35. package/dist/lib/product-docs/dates.d.ts +17 -0
  36. package/dist/lib/product-docs/dates.js +41 -0
  37. package/dist/lib/product-docs/dates.js.map +1 -0
  38. package/dist/lib/product-docs/frontmatter.d.ts +43 -0
  39. package/dist/lib/product-docs/frontmatter.js +302 -0
  40. package/dist/lib/product-docs/frontmatter.js.map +1 -0
  41. package/dist/lib/product-docs/git.d.ts +16 -0
  42. package/dist/lib/product-docs/git.js +92 -0
  43. package/dist/lib/product-docs/git.js.map +1 -0
  44. package/dist/lib/product-docs/markdown.d.ts +27 -0
  45. package/dist/lib/product-docs/markdown.js +98 -0
  46. package/dist/lib/product-docs/markdown.js.map +1 -0
  47. package/dist/lib/product-docs/ops.d.ts +133 -0
  48. package/dist/lib/product-docs/ops.js +975 -0
  49. package/dist/lib/product-docs/ops.js.map +1 -0
  50. package/dist/lib/product-docs/structure.d.ts +61 -0
  51. package/dist/lib/product-docs/structure.js +239 -0
  52. package/dist/lib/product-docs/structure.js.map +1 -0
  53. package/dist/lib/product-docs/sync.d.ts +101 -0
  54. package/dist/lib/product-docs/sync.js +313 -0
  55. package/dist/lib/product-docs/sync.js.map +1 -0
  56. package/dist/lib/product-docs/taxonomy.d.ts +46 -0
  57. package/dist/lib/product-docs/taxonomy.js +163 -0
  58. package/dist/lib/product-docs/taxonomy.js.map +1 -0
  59. package/dist/lib/product-docs/templates.d.ts +53 -0
  60. package/dist/lib/product-docs/templates.js +245 -0
  61. package/dist/lib/product-docs/templates.js.map +1 -0
  62. package/dist/lib/public-secret-scan.d.ts +76 -0
  63. package/dist/lib/public-secret-scan.js +446 -0
  64. package/dist/lib/public-secret-scan.js.map +1 -0
  65. package/package.json +1 -1
  66. package/templates/dev/Dockerfile.agent +0 -39
  67. package/templates/dev/agent-entrypoint.sh +0 -41
  68. package/templates/dev/docker-compose.dev.yml +0 -63
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ops.js","sourceRoot":"","sources":["../../../src/lib/product-docs/ops.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Estrutura do `docs/` de um produto SaaS (PROTOCOLO_DOCS_PRODUTOS_SAAS §3, §6, §7)
3
+ * e modelos por tipo (PROTOCOLO_WIKI_INTERNA §7.4, §8).
4
+ *
5
+ * Tudo aqui é dado puro — sem I/O — para o validador, o `init`, o `new` e o
6
+ * `--migrar` lerem da mesma tabela.
7
+ */
8
+ export interface FolderRule {
9
+ /** Pasta de primeiro nível dentro de `docs/` ('' = a raiz de `docs/`). */
10
+ folder: string;
11
+ types: string[] | 'qualquer';
12
+ category: string;
13
+ subcategory: string;
14
+ audience: 'dev-produto' | 'publico' | 'staff';
15
+ idade: 'corrente' | 'intermediaria' | 'permanente' | 'gerada';
16
+ }
17
+ /**
18
+ * §3 do protocolo de produtos. `category/subcategory` são o PADRÃO da pasta
19
+ * (o protocolo diz "a do assunto" em várias — o padrão é só o ponto de partida).
20
+ */
21
+ export declare const FOLDER_RULES: FolderRule[];
22
+ /** Pastas do §3 que o `docs init` cria. */
23
+ export declare const STANDARD_FOLDERS: string[];
24
+ /** Pastas que o validador não visita. `_audit/` é saída de script (só FM001). */
25
+ export declare const SKIP_DIRS: Set<string>;
26
+ /** Primeira pasta de um caminho relativo a `docs/` ('' para a raiz). */
27
+ export declare function topFolder(relPath: string): string;
28
+ export declare function folderRule(relPath: string): FolderRule | undefined;
29
+ export interface DayOneItem {
30
+ /** Caminho relativo à RAIZ do repositório. */
31
+ path: string;
32
+ /** Obrigatório só quando o produto expõe /api/v1. */
33
+ soComApi?: boolean;
34
+ }
35
+ export declare const DAY_ONE: DayOneItem[];
36
+ /** "No primeiro mês" (recomendado; o validador só sugere). */
37
+ export declare const FIRST_MONTH: string[];
38
+ /** Seções que o README da raiz precisa ter (§7) — casamento tolerante. */
39
+ export declare const README_SECTIONS: Array<{
40
+ label: string;
41
+ match: RegExp;
42
+ }>;
43
+ export interface Section {
44
+ title: string;
45
+ required: boolean;
46
+ /** Orientação que vira `<!-- … -->` dentro da seção. */
47
+ hint: string;
48
+ }
49
+ export declare const TYPE_MODELS: Record<string, Section[]>;
50
+ /** Modelo de ameaças (base: `neetru-zelo/docs/design/modelos/threat-model.md`) — um `referencia` em `seguranca/`. */
51
+ export declare const THREAT_MODEL_SECTIONS: Section[];
52
+ /** Seções obrigatórias dos docs do mínimo do primeiro dia (§7.2), por caminho relativo a `docs/`. */
53
+ export declare const DAY_ONE_MODELS: Record<string, Section[]>;
54
+ export declare const FILE_NAME_REGEX: RegExp;
55
+ /** Prefixo de nome por tipo (doc novo). `referencia` não tem prefixo obrigatório. */
56
+ export declare const TYPE_PREFIX: Record<string, string>;
57
+ /** Pasta onde `docs new <tipo>` cria o doc, quando a categoria não decide. */
58
+ export declare const TYPE_DEFAULT_FOLDER: Record<string, string>;
59
+ /** Pasta preferida por categoria (quando o tipo cabe nela). */
60
+ export declare const CATEGORY_FOLDER: Record<string, string>;
61
+ export declare const STOPWORDS: Set<string>;
@@ -0,0 +1,239 @@
1
+ /**
2
+ * Estrutura do `docs/` de um produto SaaS (PROTOCOLO_DOCS_PRODUTOS_SAAS §3, §6, §7)
3
+ * e modelos por tipo (PROTOCOLO_WIKI_INTERNA §7.4, §8).
4
+ *
5
+ * Tudo aqui é dado puro — sem I/O — para o validador, o `init`, o `new` e o
6
+ * `--migrar` lerem da mesma tabela.
7
+ */
8
+ /**
9
+ * §3 do protocolo de produtos. `category/subcategory` são o PADRÃO da pasta
10
+ * (o protocolo diz "a do assunto" em várias — o padrão é só o ponto de partida).
11
+ */
12
+ export const FOLDER_RULES = [
13
+ // raiz: `index.md`. `changelog` também é aceito aqui (tipo próprio de produto, §4).
14
+ { folder: '', types: ['indice', 'changelog'], category: 'Documentação', subcategory: 'indices', audience: 'dev-produto', idade: 'corrente' },
15
+ { folder: 'produto', types: ['referencia', 'plano'], category: 'Produto', subcategory: 'visao', audience: 'dev-produto', idade: 'corrente' },
16
+ { folder: 'arquitetura', types: ['arquitetura', 'referencia'], category: 'Plataforma', subcategory: 'visao-geral', audience: 'dev-produto', idade: 'corrente' },
17
+ { folder: 'api', types: ['referencia'], category: 'API', subcategory: 'rest-v1', audience: 'dev-produto', idade: 'corrente' },
18
+ { folder: 'decisoes', types: ['adr'], category: 'Plataforma', subcategory: 'decisoes', audience: 'dev-produto', idade: 'corrente' },
19
+ { folder: 'runbooks', types: ['runbook'], category: 'Operações', subcategory: 'producao', audience: 'dev-produto', idade: 'corrente' },
20
+ { folder: 'guias', types: ['guia'], category: 'Desenvolvimento', subcategory: 'ambiente-local', audience: 'dev-produto', idade: 'corrente' },
21
+ { folder: 'integracoes', types: ['referencia', 'guia'], category: 'Integrações', subcategory: 'outras', audience: 'dev-produto', idade: 'corrente' },
22
+ { folder: 'seguranca', types: ['norma', 'referencia'], category: 'Segurança', subcategory: 'configuracao-segura', audience: 'dev-produto', idade: 'corrente' },
23
+ { folder: 'usuario', types: ['guia', 'referencia'], category: 'Ajuda ao usuário', subcategory: 'tarefas', audience: 'publico', idade: 'corrente' },
24
+ { folder: 'planos', types: ['plano'], category: 'Plataforma', subcategory: 'roadmap', audience: 'dev-produto', idade: 'intermediaria' },
25
+ { folder: 'superpowers', types: ['plano'], category: 'Plataforma', subcategory: 'roadmap', audience: 'dev-produto', idade: 'intermediaria' },
26
+ { folder: 'relatorios', types: ['relatorio', 'incidente', 'ata'], category: 'Plataforma', subcategory: 'visao-geral', audience: 'dev-produto', idade: 'intermediaria' },
27
+ { folder: '_archive', types: 'qualquer', category: 'Plataforma', subcategory: 'visao-geral', audience: 'dev-produto', idade: 'permanente' },
28
+ ];
29
+ /** Pastas do §3 que o `docs init` cria. */
30
+ export const STANDARD_FOLDERS = [
31
+ 'produto', 'arquitetura', 'api', 'decisoes', 'runbooks', 'guias', 'integracoes',
32
+ 'seguranca', 'usuario', 'planos', 'relatorios', '_archive',
33
+ ];
34
+ /** Pastas que o validador não visita. `_audit/` é saída de script (só FM001). */
35
+ export const SKIP_DIRS = new Set(['.git', 'node_modules', '.obsidian', '_assets', '_brand', '_diagrams']);
36
+ /** Primeira pasta de um caminho relativo a `docs/` ('' para a raiz). */
37
+ export function topFolder(relPath) {
38
+ const parts = relPath.replace(/\\/g, '/').split('/');
39
+ return parts.length > 1 ? parts[0] : '';
40
+ }
41
+ export function folderRule(relPath) {
42
+ const top = topFolder(relPath);
43
+ return FOLDER_RULES.find((r) => r.folder === top);
44
+ }
45
+ export const DAY_ONE = [
46
+ { path: 'README.md' },
47
+ { path: 'CHANGELOG.md' },
48
+ { path: 'docs/index.md' },
49
+ { path: 'docs/produto/VISAO_DO_PRODUTO.md' },
50
+ { path: 'docs/arquitetura/ARQUITETURA.md' },
51
+ { path: 'docs/runbooks/RUNBOOK_DEPLOY.md' },
52
+ { path: 'docs/api/API_V1.md', soComApi: true },
53
+ ];
54
+ /** "No primeiro mês" (recomendado; o validador só sugere). */
55
+ export const FIRST_MONTH = [
56
+ 'docs/arquitetura/MODELO_DE_DADOS.md',
57
+ 'docs/runbooks/RUNBOOK_INCIDENTES.md',
58
+ 'docs/produto/GLOSSARIO.md',
59
+ 'docs/guias/GUIA_DESENVOLVIMENTO_LOCAL.md',
60
+ ];
61
+ /** Seções que o README da raiz precisa ter (§7) — casamento tolerante. */
62
+ export const README_SECTIONS = [
63
+ { label: 'O que é', match: /o que (e|é)|sobre/i },
64
+ { label: 'Como rodar local', match: /rodar|local|desenvolv/i },
65
+ { label: 'Como fazer deploy', match: /deploy|publica/i },
66
+ ];
67
+ const s = (title, required, hint) => ({ title, required, hint });
68
+ export const TYPE_MODELS = {
69
+ runbook: [
70
+ s('Quando usar', true, 'Em que situação este procedimento é executado e o que ele resolve.'),
71
+ s('Pré-requisitos', false, 'Acessos, ferramentas e estado que precisam existir antes de começar.'),
72
+ s('Passo a passo', true, 'Passos numerados e verificáveis, com o comando exato de cada um.'),
73
+ s('Verificação', true, 'Como provar que deu certo (comando, URL, resultado esperado).'),
74
+ s('Como desfazer', false, 'Como voltar ao estado anterior se algo der errado.'),
75
+ s('Problemas comuns', false, 'Sintoma, causa e correção dos erros que já apareceram.'),
76
+ s('Relacionados', false, 'Links relativos (com .md) para docs próximos.'),
77
+ ],
78
+ guia: [
79
+ s('Objetivo', true, 'O que a pessoa consegue fazer ao fim do guia.'),
80
+ s('Pré-requisitos', false, 'O que precisa estar pronto antes.'),
81
+ s('Passo a passo', false, 'Passos em ordem, ou uma seção por tarefa.'),
82
+ s('Problemas comuns', false, 'Erros frequentes e como resolver.'),
83
+ s('Relacionados', false, 'Links relativos (com .md) para docs próximos.'),
84
+ ],
85
+ referencia: [
86
+ s('Visão geral', true, 'O que esta referência lista e como ler.'),
87
+ s('Exemplos', false, 'Exemplos reais de uso.'),
88
+ s('Relacionados', false, 'Links relativos (com .md) para docs próximos.'),
89
+ ],
90
+ arquitetura: [
91
+ s('Contexto', true, 'Que problema esta parte resolve e que restrições pesam.'),
92
+ s('Visão geral', true, 'O desenho em poucas linhas e, se ajudar, um diagrama.'),
93
+ s('Componentes', false, 'As peças, o papel de cada uma e onde moram no código.'),
94
+ s('Fluxos', false, 'Os caminhos principais de ponta a ponta.'),
95
+ s('Decisões e alternativas', false, 'Por que foi desenhado assim; aponte os ADRs.'),
96
+ s('Limites e riscos', false, 'O que não cobre, limites conhecidos e riscos.'),
97
+ s('Relacionados', false, 'Links relativos (com .md) para docs próximos.'),
98
+ ],
99
+ adr: [
100
+ s('Contexto', true, 'O que força a decisão: restrições, contrato, limite, fase. Só fatos.'),
101
+ s('Decisão', true, 'A opção escolhida e o motivo em 1 a 3 linhas. Diga também o que NÃO está decidido.'),
102
+ s('Alternativas consideradas', false, 'Uma H3 por opção ("### Opção A — <nome>") com prós, contras, custo/risco e o trade-off.'),
103
+ s('Consequências', true, 'Positivas; negativas e dívida assumida; como reverter; onde a decisão passa a viver (código, contrato da API, arquitetura). Se houver, a rastreabilidade: requisito, teste que prova, status.'),
104
+ s('Referências', false, 'Links relativos (com .md), PRs e commits.'),
105
+ ],
106
+ norma: [
107
+ s('Objetivo', true, 'Que risco ou bagunça esta norma evita.'),
108
+ s('Escopo', false, 'Onde vale e onde não vale.'),
109
+ s('Regras', true, 'Regras numeradas e verificáveis. Para uma ação ou política: nome, o que faz, se é reversível, privilégio, parâmetros tipados e validados (nada de texto livre que vire comando), quando dispara e o modo padrão (sugerir; agir é opt-in).'),
110
+ s('Como é verificado', false, 'Teste, validador ou revisão que prova o cumprimento. Inclua os critérios de aceite (fora da lista → recusado; parâmetro inválido → recusado antes de executar).'),
111
+ s('Exceções', false, 'Exceções aceitas, cada uma com motivo.'),
112
+ s('Histórico de mudanças', false, 'Versão, data e mudança.'),
113
+ ],
114
+ plano: [
115
+ s('Resumo', true, 'Um parágrafo: o que muda e por quê.'),
116
+ s('Problema', false, 'Sintoma observável, sem citar a solução.'),
117
+ s('Proposta', true, 'Fluxo, contrato (entradas, saídas, erros, idempotência), estados e transições, dados que trafegam e o impacto por frente.'),
118
+ s('Fora de escopo', false, 'O que este plano não faz.'),
119
+ s('Fases e critérios de aceite', false, 'Fases, rollout e rollback, e critérios verificáveis (teste, contrato, smoke).'),
120
+ s('Riscos', false, 'Casos de borda (offline, credencial inválida, concorrência, dado velho), privacidade e segurança.'),
121
+ s('Decisões pendentes', false, 'O que depende do dono ou do Core, com opções.'),
122
+ s('Status e evidência', false, 'Estado atual com evidência (arquivo:linha, commit, PR).'),
123
+ ],
124
+ relatorio: [
125
+ s('Resumo', true, 'O que foi olhado e a conclusão em poucas linhas.'),
126
+ s('Escopo e método', false, 'O que entrou, o que ficou de fora e como foi feito.'),
127
+ s('Achados', true, 'Por severidade: crítico, alto, médio, baixo. Cada achado com evidência.'),
128
+ s('Recomendações', false, 'O que fazer, em ordem de prioridade.'),
129
+ s('Decisões do dono', false, 'O que precisa de decisão.'),
130
+ s('Evidências', false, 'Comandos, saídas, links.'),
131
+ ],
132
+ incidente: [
133
+ s('Resumo', true, 'O que quebrou, em uma frase.'),
134
+ s('Impacto', true, 'Quem foi afetado, por quanto tempo, o que deixou de funcionar.'),
135
+ s('Linha do tempo', true, 'Horários (com fuso) do início, da detecção, da mitigação e do fim.'),
136
+ s('Causa raiz', true, 'A causa confirmada, com evidência — hipótese não é diagnóstico.'),
137
+ s('Correção', false, 'O que foi feito para resolver.'),
138
+ s('Ações de prevenção', false, 'O que muda para não repetir, com responsável.'),
139
+ s('Evidências', false, 'Logs, comandos, PRs.'),
140
+ ],
141
+ ata: [
142
+ s('Participantes', false, 'Quem esteve.'),
143
+ s('Pauta', false, 'Os assuntos.'),
144
+ s('Discussão', false, 'O que foi discutido.'),
145
+ s('Decisões', true, 'O que foi decidido.'),
146
+ s('Encaminhamentos', true, 'Cada um com responsável e prazo.'),
147
+ ],
148
+ juridico: [
149
+ s('Objeto', true, 'Do que trata o texto.'),
150
+ s('Vigência e versão', true, 'Desde quando vale e qual versão é.'),
151
+ s('Onde é publicado', false, 'Página ou superfície onde aparece.'),
152
+ ],
153
+ conteudo: [
154
+ s('Objetivo', true, 'Para que serve a peça.'),
155
+ s('Público', false, 'Para quem.'),
156
+ s('Peças', false, 'As peças.'),
157
+ s('Aprovação', false, 'Quem aprovou e quando.'),
158
+ ],
159
+ indice: [],
160
+ tour: [],
161
+ changelog: [],
162
+ };
163
+ /** Modelo de ameaças (base: `neetru-zelo/docs/design/modelos/threat-model.md`) — um `referencia` em `seguranca/`. */
164
+ export const THREAT_MODEL_SECTIONS = [
165
+ s('Visão geral', true, 'Superfície analisada (login, comando, credencial, transporte…), versão do desenho e data.'),
166
+ s('Ativos', true, 'Ativos (credencial, canal de comando, binário, dados) e fronteiras de confiança: navegador │ rede │ produto │ Core. O que cruza cada fronteira.'),
167
+ s('Ameaças', true, 'Tabela STRIDE: #, categoria (falsificação, adulteração, repúdio, vazamento, negação de serviço, elevação de privilégio), ameaça, como exploraria, impacto, probabilidade, risco.'),
168
+ s('Mitigações', true, 'Tabela: #, mitigação, tipo (prevenir/detectar/responder), onde implementa, se é regra dura.'),
169
+ s('Riscos aceitos', true, 'O que fica em aberto, por quê e quem é o dono do risco.'),
170
+ s('Relacionados', false, 'Como a mitigação é provada (teste, revisão) e os ADRs derivados.'),
171
+ ];
172
+ /** Seções obrigatórias dos docs do mínimo do primeiro dia (§7.2), por caminho relativo a `docs/`. */
173
+ export const DAY_ONE_MODELS = {
174
+ 'produto/VISAO_DO_PRODUTO.md': [
175
+ s('Problema que resolve', true, 'A dor do cliente, com exemplo concreto. Sem métrica inventada.'),
176
+ s('Para quem', true, 'Quem usa (perfil de empresa e de pessoa) e quem decide a compra.'),
177
+ s('O que o produto faz', true, 'As capacidades principais, em linguagem do cliente.'),
178
+ s('O que não faz', false, 'Limites claros, para não prometer o que não existe.'),
179
+ s('Como se mede o resultado', false, 'Só métricas reais, com a fonte.'),
180
+ s('Relacionados', false, 'Links relativos (com .md).'),
181
+ ],
182
+ 'arquitetura/ARQUITETURA.md': [
183
+ s('Contexto', true, 'O que o produto é tecnicamente e que restrições pesam.'),
184
+ s('Visão geral', true, 'O desenho em poucas linhas: front, servidor, banco, integrações.'),
185
+ s('Componentes', false, 'As peças, o papel de cada uma e onde moram no código.'),
186
+ s('Integração com o Core', true, 'SDK @neetru/sdk como ÚNICO caminho de dados; login OIDC do Core; banco por produto provisionado pelo Core; credenciais injetadas no servidor (nunca no navegador, nunca em .env versionado); ambientes dev → homologação → produção.'),
187
+ s('Dados', false, 'Entidades principais e onde ficam; aponte o MODELO_DE_DADOS.md quando existir.'),
188
+ s('Limites e riscos', false, 'Limites conhecidos e riscos.'),
189
+ s('Relacionados', false, 'Links relativos (com .md).'),
190
+ ],
191
+ 'api/API_V1.md': [
192
+ s('Base e autenticação', true, 'Base https://<produto>.neetru.com/api/v1. Authorization: Bearer com token OIDC no app, cookie de sessão na web. O tenant vem sempre do servidor, nunca do corpo.'),
193
+ s('Formato de erro', true, 'Sempre {"error":{"code","message","requestId"}}. Liste os códigos.'),
194
+ s('Idempotência', false, 'Idempotency-Key obrigatório em escrita que mexe com dinheiro ou estoque.'),
195
+ s('Limites de uso', false, '429 com Retry-After; os limites por rota.'),
196
+ s('Paginação, datas e dinheiro', false, 'Paginação por cursor, datas em ISO UTC, dinheiro em centavos.'),
197
+ s('Versionamento', true, 'A v1 só ganha campos; o que quebra vai para /api/v2. Se o produto foge da convenção, diga onde e por quê.'),
198
+ s('Endpoints', true, 'Uma H3 por endpoint (ex.: "### GET /api/v1/me") com autenticação, corpo, respostas, erros e exemplo.'),
199
+ ],
200
+ 'runbooks/RUNBOOK_DEPLOY.md': TYPE_MODELS.runbook,
201
+ };
202
+ // ─── nomes de arquivo (§8 da wiki, §6 de produtos) ──────────────────────────
203
+ export const FILE_NAME_REGEX = /^(ADR-\d{4}_[A-Z0-9]+(_[A-Z0-9]+)*|[A-Z][A-Z0-9]*(_[A-Z0-9]+)*(_\d{4}-\d{2}(-\d{2})?)?)\.md$/;
204
+ /** Prefixo de nome por tipo (doc novo). `referencia` não tem prefixo obrigatório. */
205
+ export const TYPE_PREFIX = {
206
+ runbook: 'RUNBOOK',
207
+ guia: 'GUIA',
208
+ arquitetura: 'ARQUITETURA',
209
+ norma: 'POLITICA',
210
+ plano: 'PLANO',
211
+ relatorio: 'RELATORIO',
212
+ incidente: 'INCIDENTE',
213
+ ata: 'ATA',
214
+ referencia: '',
215
+ adr: 'ADR',
216
+ };
217
+ /** Pasta onde `docs new <tipo>` cria o doc, quando a categoria não decide. */
218
+ export const TYPE_DEFAULT_FOLDER = {
219
+ guia: 'guias',
220
+ referencia: 'arquitetura',
221
+ arquitetura: 'arquitetura',
222
+ adr: 'decisoes',
223
+ runbook: 'runbooks',
224
+ norma: 'seguranca',
225
+ plano: 'planos',
226
+ relatorio: 'relatorios',
227
+ incidente: 'relatorios',
228
+ ata: 'relatorios',
229
+ };
230
+ /** Pasta preferida por categoria (quando o tipo cabe nela). */
231
+ export const CATEGORY_FOLDER = {
232
+ Produto: 'produto',
233
+ 'Ajuda ao usuário': 'usuario',
234
+ 'Integrações': 'integracoes',
235
+ 'Segurança': 'seguranca',
236
+ API: 'api',
237
+ };
238
+ export const STOPWORDS = new Set(['DE', 'DA', 'DO', 'DAS', 'DOS', 'E', 'O', 'A', 'OS', 'AS', 'EM', 'NO', 'NA', 'NOS', 'NAS', 'PARA', 'POR', 'COM', 'UM', 'UMA']);
239
+ //# sourceMappingURL=structure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structure.js","sourceRoot":"","sources":["../../../src/lib/product-docs/structure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ import { type FmData } from './frontmatter.js';
2
+ import type { DocsTaxonomy } from './taxonomy.js';
3
+ import type { ProductRepo } from './config.js';
4
+ export declare const MAX_PRODUCT_DOCS = 200;
5
+ export declare const MAX_PRODUCT_DOCS_BYTES: number;
6
+ /** Teto por doc no Core (`MAX_PRODUCT_DOC_BYTES`, 413 `doc_too_large`). */
7
+ export declare const MAX_PRODUCT_DOC_BYTES: number;
8
+ /** Abaixo do `cliWrite` do Core (30/min por IP), com folga para outro comando na mesma rede. */
9
+ export declare const POSTS_PER_MINUTE = 25;
10
+ /** Tentativas extras quando o Core responde 429/503. */
11
+ export declare const MAX_RETRIES = 3;
12
+ export type SyncStatus = 'ok' | 'parcial' | 'nada-a-enviar' | 'core-sem-suporte' | 'desligado' | 'sem-login' | 'limite-excedido' | 'produto-nao-encontrado' | 'falha';
13
+ export interface RemoteDoc {
14
+ slug: string;
15
+ title?: string | null;
16
+ description?: string | null;
17
+ category?: string | null;
18
+ subcategory?: string | null;
19
+ type?: string | null;
20
+ status?: string | null;
21
+ audience?: string | null;
22
+ order?: number | null;
23
+ updated?: string | null;
24
+ date?: string | null;
25
+ visibility?: string;
26
+ sha256?: string;
27
+ version?: number;
28
+ }
29
+ /** Metadados que o GET do Core devolve e que a CLI compara (o que vier). */
30
+ export declare const COMPARED_METADATA: readonly ["title", "description", "category", "subcategory", "type", "status", "audience", "order", "updated", "date"];
31
+ export interface LocalDoc {
32
+ file: string;
33
+ slug: string;
34
+ content: string;
35
+ frontmatter: FmData;
36
+ visibility: 'public' | 'internal';
37
+ sha256: string;
38
+ bytes: number;
39
+ }
40
+ export interface SyncResult {
41
+ status: SyncStatus;
42
+ message: string;
43
+ product: string;
44
+ dryRun: boolean;
45
+ enviados: Array<{
46
+ slug: string;
47
+ version?: number;
48
+ created?: boolean;
49
+ visibility: string;
50
+ }>;
51
+ inalterados: string[];
52
+ bloqueados: Array<{
53
+ file: string;
54
+ codes: string[];
55
+ }>;
56
+ falhas: Array<{
57
+ slug: string;
58
+ message: string;
59
+ }>;
60
+ /** Não enviados por regra do Core conferida localmente (slug, tamanho). */
61
+ recusados: Array<{
62
+ file: string;
63
+ motivo: string;
64
+ }>;
65
+ orfaos: string[];
66
+ /** Plano local (dry-run sem login / antes do envio). */
67
+ planejados: Array<{
68
+ slug: string;
69
+ visibility: string;
70
+ bytes: number;
71
+ }>;
72
+ }
73
+ export declare function visibilityFor(fm: FmData): 'public' | 'internal';
74
+ export declare function docSlugFor(relInDocs: string): string;
75
+ /**
76
+ * Motivo pelo qual o Core recusaria o slug (mesmas regras de
77
+ * `productDocSlugSchema`), ou null se ele passa.
78
+ */
79
+ export declare function slugProblem(slug: string): string | null;
80
+ /** Monta o lote local (sem I/O de rede). */
81
+ export declare function collectLocalDocs(repo: ProductRepo, taxonomy: DocsTaxonomy): Promise<{
82
+ docs: LocalDoc[];
83
+ bloqueados: SyncResult['bloqueados'];
84
+ recusados: SyncResult['recusados'];
85
+ }>;
86
+ export interface SyncOptions {
87
+ taxonomy: DocsTaxonomy;
88
+ dryRun?: boolean;
89
+ /** Token já resolvido (teste/deploy); senão lê a sessão. */
90
+ token?: string | null;
91
+ /** Relógio e espera injetáveis (teste). */
92
+ now?: () => number;
93
+ sleep?: (ms: number) => Promise<void>;
94
+ /** Chamado antes de cada espera (para mostrar "aguardando…"). */
95
+ onWait?: (ms: number, motivo: 'ritmo' | 'retry-after') => void;
96
+ }
97
+ /** O doc local é igual ao do Core (conteúdo + metadados que o GET devolve)? */
98
+ export declare function sameAsRemote(d: LocalDoc, r: RemoteDoc | undefined): boolean;
99
+ /** Janela deslizante: no máximo `limit` envios em 60 s. */
100
+ export declare function createPacer(limit: number, now: () => number, sleep: (ms: number) => Promise<void>, onWait?: SyncOptions['onWait']): () => Promise<void>;
101
+ export declare function syncProductDocs(repo: ProductRepo, opts: SyncOptions): Promise<SyncResult>;