@semacode/cli 2.3.0 → 3.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.
Files changed (267) hide show
  1. package/LICENSE +39 -39
  2. package/README.md +112 -41
  3. package/dist/agentContextPack.js +14 -10
  4. package/dist/agentEntryPoints.d.ts +5 -0
  5. package/dist/agentEntryPoints.js +102 -91
  6. package/dist/angular-consumer-standalone.d.ts +3 -1
  7. package/dist/angular-consumer-standalone.js +12 -8
  8. package/dist/bin.d.ts +6 -0
  9. package/dist/bin.js +130 -0
  10. package/dist/cliArgs.js +4 -4
  11. package/dist/cliControlError.d.ts +12 -0
  12. package/dist/cliControlError.js +47 -0
  13. package/dist/cliGrammar.d.ts +11 -0
  14. package/dist/cliGrammar.js +551 -0
  15. package/dist/cliHelp.d.ts +13 -0
  16. package/dist/cliHelp.js +19 -0
  17. package/dist/cliHelpTexto.d.ts +3 -0
  18. package/dist/cliHelpTexto.js +168 -0
  19. package/dist/cliRuntime.d.ts +2 -0
  20. package/dist/cliRuntime.js +31 -0
  21. package/dist/comandos.js +9 -22
  22. package/dist/contexto.js +5 -5
  23. package/dist/dev/index.d.ts +1 -0
  24. package/dist/dev/index.js +51 -9
  25. package/dist/discovery/catalog.js +3 -3
  26. package/dist/distribuicao/filesystemGlobal.d.ts +63 -0
  27. package/dist/distribuicao/filesystemGlobal.js +701 -0
  28. package/dist/distribuicao/index.d.ts +7 -0
  29. package/dist/distribuicao/index.js +227 -0
  30. package/dist/distribuicao/launcherGlobal.d.ts +53 -0
  31. package/dist/distribuicao/launcherGlobal.js +643 -0
  32. package/dist/distribuicao/launcherWindows.d.ts +28 -0
  33. package/dist/distribuicao/launcherWindows.js +326 -0
  34. package/dist/distribuicao/lockContextGlobal.d.ts +10 -0
  35. package/dist/distribuicao/lockContextGlobal.js +17 -0
  36. package/dist/distribuicao/lockGlobal.d.ts +6 -0
  37. package/dist/distribuicao/lockGlobal.js +520 -0
  38. package/dist/distribuicao/skillGlobal.d.ts +48 -0
  39. package/dist/distribuicao/skillGlobal.js +652 -0
  40. package/dist/distribuicao/skillIntentPolicy.d.ts +21 -0
  41. package/dist/distribuicao/skillIntentPolicy.js +115 -0
  42. package/dist/distribuicao/tipos.d.ts +50 -0
  43. package/dist/distribuicao/tipos.js +10 -0
  44. package/dist/distribuicao/versaoSemantica.d.ts +3 -0
  45. package/dist/distribuicao/versaoSemantica.js +62 -0
  46. package/dist/drift.part01.d.ts +34 -2
  47. package/dist/drift.part01.js +3 -0
  48. package/dist/drift.part04.d.ts +12 -2
  49. package/dist/drift.part04.js +89 -15
  50. package/dist/drift.part05.d.ts +2 -1
  51. package/dist/drift.part05.js +9 -6
  52. package/dist/drift.part06.d.ts +2 -1
  53. package/dist/drift.part06.js +115 -24
  54. package/dist/drift.part07.d.ts +11 -10
  55. package/dist/drift.part07.js +261 -255
  56. package/dist/drift.part08.d.ts +2 -1
  57. package/dist/drift.part08.js +35 -25
  58. package/dist/drift.part11.js +279 -32
  59. package/dist/drift.part12.d.ts +1 -1
  60. package/dist/drift.part12.js +196 -11
  61. package/dist/drift.part13.d.ts +18 -2
  62. package/dist/drift.part13.js +654 -76
  63. package/dist/drift.part14.js +21 -7
  64. package/dist/driftCacheCas.d.ts +43 -0
  65. package/dist/driftCacheCas.js +351 -0
  66. package/dist/driftCacheFilesystem.d.ts +64 -0
  67. package/dist/driftCacheFilesystem.js +313 -0
  68. package/dist/driftCacheModes.d.ts +38 -0
  69. package/dist/driftCacheModes.js +147 -0
  70. package/dist/driftCacheStore.d.ts +80 -0
  71. package/dist/driftCacheStore.js +603 -0
  72. package/dist/driftCatalogo.d.ts +65 -0
  73. package/dist/driftCatalogo.js +516 -0
  74. package/dist/driftEscopo.d.ts +21 -0
  75. package/dist/driftEscopo.js +647 -0
  76. package/dist/driftEscopoReferencias.d.ts +8 -0
  77. package/dist/driftEscopoReferencias.js +612 -0
  78. package/dist/driftOrcamento.d.ts +6 -0
  79. package/dist/driftOrcamento.js +20 -3
  80. package/dist/geracaoCore.js +4 -6
  81. package/dist/iaPrompts.d.ts +3 -3
  82. package/dist/iaPrompts.js +13 -14
  83. package/dist/index.d.ts +4 -1
  84. package/dist/index.js +6 -25
  85. package/dist/index.part01.d.ts +21 -14
  86. package/dist/index.part01.js +20 -165
  87. package/dist/index.part02.js +57 -43
  88. package/dist/index.part03.d.ts +23 -1
  89. package/dist/index.part03.js +83 -8
  90. package/dist/index.part04.d.ts +10 -2
  91. package/dist/index.part04.js +48 -14
  92. package/dist/index.part05.d.ts +1 -1
  93. package/dist/index.part05.js +109 -30
  94. package/dist/index.part06.js +34 -16
  95. package/dist/index.part07.js +31 -27
  96. package/dist/index.part08.d.ts +1 -1
  97. package/dist/index.part08.js +23 -28
  98. package/dist/init/templates.part01.js +393 -393
  99. package/dist/init/templates.part02.js +189 -189
  100. package/dist/initCommand.js +5 -1
  101. package/dist/initTemplatesBackend.js +73 -73
  102. package/dist/initTemplatesBase.js +7 -5
  103. package/dist/initTemplatesFlutter.js +137 -137
  104. package/dist/initTemplatesRuntime.js +350 -350
  105. package/dist/initTemplatesWeb.js +309 -309
  106. package/dist/pipelineConteudo/command.d.ts +1 -0
  107. package/dist/pipelineConteudo/command.js +4 -32
  108. package/dist/pipelineConteudo/help.d.ts +2 -0
  109. package/dist/pipelineConteudo/help.js +33 -0
  110. package/dist/profileAuthorCommand.js +3 -7
  111. package/dist/profileCommand.js +3 -7
  112. package/dist/projeto.d.ts +1 -1
  113. package/dist/projetoCarregar.d.ts +2 -2
  114. package/dist/projetoCarregar.js +69 -28
  115. package/dist/projetoCatalogo.d.ts +8 -0
  116. package/dist/projetoCatalogo.js +164 -0
  117. package/dist/projetoOrigens.d.ts +2 -0
  118. package/dist/projetoOrigens.js +65 -9
  119. package/dist/projetoTipos.d.ts +15 -5
  120. package/dist/resultadoCli.d.ts +20 -0
  121. package/dist/resultadoCli.js +57 -0
  122. package/dist/saidaCli.d.ts +35 -0
  123. package/dist/saidaCli.js +118 -0
  124. package/dist/sistemasInterativos/acceptanceEvidence.d.ts +22 -0
  125. package/dist/sistemasInterativos/acceptanceEvidence.js +345 -0
  126. package/dist/sistemasInterativos/engineObservation.d.ts +12 -0
  127. package/dist/sistemasInterativos/engineObservation.js +438 -0
  128. package/dist/sistemasInterativos/jobOrchestration.d.ts +2 -0
  129. package/dist/sistemasInterativos/jobOrchestration.js +204 -0
  130. package/dist/sistemasInterativos/operationPrimitives.d.ts +21 -0
  131. package/dist/sistemasInterativos/operationPrimitives.js +194 -0
  132. package/dist/sistemasInterativos/operations.d.ts +4 -39
  133. package/dist/sistemasInterativos/operations.js +5 -1164
  134. package/dist/skillCommand.d.ts +5 -0
  135. package/dist/skillCommand.js +88 -0
  136. package/dist/sync/index.js +35 -35
  137. package/docs/README.md +11 -7
  138. package/docs/ai-integration.md +18 -11
  139. package/docs/ai-onboarding.md +81 -62
  140. package/docs/ai-workflow.md +10 -4
  141. package/docs/auth.md +26 -26
  142. package/docs/cli.md +197 -79
  143. package/docs/commands.md +30 -6
  144. package/docs/database.md +15 -15
  145. package/docs/deploy.md +54 -41
  146. package/docs/documentation.md +11 -10
  147. package/docs/drift-cache.md +108 -0
  148. package/docs/env.md +16 -16
  149. package/docs/frontend.md +41 -41
  150. package/docs/getting-started.md +82 -57
  151. package/docs/i18n.md +15 -15
  152. package/docs/repositories.md +60 -43
  153. package/docs/rollback.md +38 -31
  154. package/docs/security.md +54 -32
  155. package/docs/sistemas-interativos.md +27 -27
  156. package/docs/support.md +8 -8
  157. package/docs/testing.md +123 -17
  158. package/docs/vocabulary.md +29 -29
  159. package/exemplos/agendamento.sema +1 -1
  160. package/exemplos/assinatura.sema +1 -1
  161. package/exemplos/auditoria.sema +1 -1
  162. package/exemplos/autenticacao.sema +1 -1
  163. package/exemplos/author_obra_comum.sema +1 -1
  164. package/exemplos/author_tema_sensivel.sema +1 -1
  165. package/exemplos/automacao.sema +1 -1
  166. package/exemplos/cadastro_usuario.sema +1 -1
  167. package/exemplos/calculadora.sema +1 -1
  168. package/exemplos/crud_simples.sema +1 -1
  169. package/exemplos/estoque.sema +1 -1
  170. package/exemplos/exportacao.sema +1 -1
  171. package/exemplos/fila.sema +1 -1
  172. package/exemplos/integracao_externa.sema +1 -1
  173. package/exemplos/multi_tenant.sema +1 -1
  174. package/exemplos/notificacao.sema +1 -1
  175. package/exemplos/operacao_estrategia.sema +132 -132
  176. package/exemplos/operacao_estrategia_discovery.sema +220 -220
  177. package/exemplos/operacao_estrategia_fluxo.sema +114 -114
  178. package/exemplos/operacao_estrategia_gates.sema +106 -106
  179. package/exemplos/operacao_estrategia_quarentena.sema +133 -133
  180. package/exemplos/operacao_estrategia_rollout.sema +124 -124
  181. package/exemplos/pagamento.sema +1 -1
  182. package/exemplos/pagamento_dominio.sema +1 -1
  183. package/exemplos/pedido.sema +1 -1
  184. package/exemplos/permissao.sema +1 -1
  185. package/exemplos/persistencia_vendor_first.sema +1 -1
  186. package/exemplos/profile_conversas.sema +165 -165
  187. package/exemplos/profile_game.sema +1 -1
  188. package/exemplos/profile_legal.sema +1 -1
  189. package/exemplos/profile_ops.sema +1 -1
  190. package/exemplos/profile_research.sema +1 -1
  191. package/exemplos/profile_software.sema +1 -1
  192. package/exemplos/profile_workflow_n8n.sema +1 -1
  193. package/exemplos/relatorio.sema +1 -1
  194. package/exemplos/replica_analitica_erp.sema +1 -1
  195. package/exemplos/testes_embutidos.sema +1 -1
  196. package/exemplos/tratamento_erro.sema +1 -1
  197. package/exemplos/upload_arquivo.sema +1 -1
  198. package/exemplos/webhook.sema +1 -1
  199. package/node_modules/@sema/gerador-cpp/dist/index.js +176 -176
  200. package/node_modules/@sema/gerador-css/dist/index.part01.js +10 -10
  201. package/node_modules/@sema/gerador-css/dist/index.part02.js +460 -460
  202. package/node_modules/@sema/gerador-dotnet/dist/index.js +169 -169
  203. package/node_modules/@sema/gerador-html/dist/index.js +17 -17
  204. package/node_modules/@sema/gerador-python/dist/index.part02.js +3 -3
  205. package/node_modules/@sema/gerador-typescript/dist/index.part02.js +11 -11
  206. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +42 -42
  207. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +1 -0
  208. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1 -0
  209. package/package.json +7 -2
  210. package/scripts/postinstall.mjs +148 -0
  211. package/skills/sema/SKILL.md +199 -0
  212. package/skills/sema/agents/openai.yaml +4 -0
  213. package/node_modules/@sema/gerador-cpp/dist/index.js.map +0 -1
  214. package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
  215. package/node_modules/@sema/gerador-css/dist/index.part01.js.map +0 -1
  216. package/node_modules/@sema/gerador-css/dist/index.part02.js.map +0 -1
  217. package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
  218. package/node_modules/@sema/gerador-dotnet/dist/index.js.map +0 -1
  219. package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
  220. package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
  221. package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
  222. package/node_modules/@sema/gerador-php/dist/index.js.map +0 -1
  223. package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
  224. package/node_modules/@sema/gerador-python/dist/index.part01.js.map +0 -1
  225. package/node_modules/@sema/gerador-python/dist/index.part02.js.map +0 -1
  226. package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
  227. package/node_modules/@sema/gerador-typescript/dist/index.part01.js.map +0 -1
  228. package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +0 -1
  229. package/node_modules/@sema/gerador-typescript/dist/index.part03.js.map +0 -1
  230. package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
  231. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
  232. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +0 -1
  233. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js.map +0 -1
  234. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
  235. package/node_modules/@sema/nucleo/dist/formatador/index.part01.js.map +0 -1
  236. package/node_modules/@sema/nucleo/dist/formatador/index.part02.js.map +0 -1
  237. package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
  238. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
  239. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +0 -1
  240. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js.map +0 -1
  241. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js.map +0 -1
  242. package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
  243. package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
  244. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
  245. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +0 -1
  246. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
  247. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js.map +0 -1
  248. package/node_modules/@sema/nucleo/dist/parser/parser.part01.js.map +0 -1
  249. package/node_modules/@sema/nucleo/dist/parser/parser.part02.js.map +0 -1
  250. package/node_modules/@sema/nucleo/dist/parser/parser.part03.js.map +0 -1
  251. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +0 -1
  252. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
  253. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +0 -1
  254. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js.map +0 -1
  255. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js.map +0 -1
  256. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js.map +0 -1
  257. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js.map +0 -1
  258. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js.map +0 -1
  259. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js.map +0 -1
  260. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js.map +0 -1
  261. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
  262. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js.map +0 -1
  263. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js.map +0 -1
  264. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +0 -1
  265. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
  266. package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
  267. package/node_modules/@sema/padroes/dist/index.js.map +0 -1
@@ -1,7 +1,5 @@
1
- // SEMA-GOVERNED
2
- // M?dulo: sema.produto.orcamento_semantico
3
- // Contrato: contratos/sema/orcamento_semantico.sema
4
- // Descri??o: normaliza??o de gera??o, escrita estruturada e execu??o de testes gerados por alvo.
1
+ // SEMA-GOVERNED: sema.produto.geradores_nativos
2
+ // Descricao: normaliza geracao, escrita estruturada e execucao de testes gerados por alvo.
5
3
  import path from "node:path";
6
4
  import { spawnSync } from "node:child_process";
7
5
  import { formatarDiagnosticos } from "@sema/nucleo";
@@ -301,7 +299,7 @@ export function executarTestesGerados(alvo, baseSaida, arquivos, silencioso = fa
301
299
  saidaErro: "Nao foi possivel localizar o runner tsx junto da CLI para executar testes TypeScript.",
302
300
  };
303
301
  }
304
- const execucao = spawnSync("node", [TSX_EXECUTOR_CLI, arquivoTeste], {
302
+ const execucao = spawnSync(process.execPath, [TSX_EXECUTOR_CLI, arquivoTeste], {
305
303
  stdio: silencioso ? "pipe" : "inherit",
306
304
  cwd: baseSaida,
307
305
  encoding: silencioso ? "utf8" : undefined,
@@ -321,7 +319,7 @@ export function executarTestesGerados(alvo, baseSaida, arquivos, silencioso = fa
321
319
  }
322
320
  return { codigoSaida: 0, quantidadeTestes, saidaPadrao: "", saidaErro: "" };
323
321
  }
324
- const execucao = spawnSync("node", ["--test", path.join(baseSaida, arquivoTeste)], {
322
+ const execucao = spawnSync(process.execPath, ["--test", path.join(baseSaida, arquivoTeste)], {
325
323
  stdio: silencioso ? "pipe" : "inherit",
326
324
  encoding: silencioso ? "utf8" : undefined,
327
325
  });
@@ -1,6 +1,6 @@
1
- export declare const STARTER_IA = "Voce esta trabalhando com Sema, um contrato semantico IA-first para agentes operarem software vivo em backend e front consumer.\n\nImportante:\n- a Sema se apresenta publicamente como protocolo e funciona tecnicamente como linguagem de intencao\n- a Sema e protocolo de governanca semantica desenhado para IA, nao para ergonomia humana\n- humanos sao autores/aprovadores; agentes sao os consumidores primarios do contrato\n- leitura humana e bonus toleravel, nao objetivo de produto\n- a Sema nao e gerador magico que deveria fazer tudo\n- a Sema modela contratos, estados, fluxos, erros, efeitos, garantias, vinculos e execucao\n- a Sema gera codigo e scaffolding real para TypeScript, Python, PHP, Dart, Lua, JavaScript, HTML e CSS\n- a Sema usa `importar` para bootstrap revisavel, nao para contrato final automatico\n- a Sema usa `impl` para ligar task a simbolo real do runtime\n- a Sema usa `vinculos` para ligar contrato a arquivo, simbolo, recurso e superficie real\n- a Sema usa `execucao` para explicitar timeout, retry, compensacao e criticidade\n- a Sema usa `drift` para medir diferenca entre contrato e codigo vivo com score, confianca e lacunas\n- a Sema usa `resumo` e `prompt-curto` para IA fraca, gratuita ou com pouco contexto\n- a Sema usa `contexto-ia` para gerar `ast.json`, `ir.json`, `drift.json`, `briefing.json` e artefatos compactos antes da edicao\n- timeout definido pelo agente nao e falha do Sema; aumente o timeout e tente de novo antes de concluir falha\n- a Sema pode servir de base para interfaces graficas elegantes e coerentes\n- a Sema gera artefatos HTML/CSS derivados, mas nao substitui sozinha uma interface completa de produto\n- trate a Sema como cerebro semantico da aplicacao, nao como gerador magico de front-end pronto\n- se a tarefa envolver UI, prefira pedir Sema + React + TypeScript ou Sema + arquitetura de front-end\n- evite pedir HTML unico solto quando a intencao for testar a Sema de verdade\n\nRegras:\n- nao invente sintaxe fora da gramatica e dos exemplos oficiais\n- antes de qualquer acao, crie, edite ou remova o contrato .sema aplicavel; isso vale para Software, Author, Workflow, Ops, Game, Legal e Research\n- se a IA for fraca, nao tente abrir tudo de uma vez\n- use `sema resumo <arquivo> --micro --json` pelo stdout antes de subir para o pacote completo\n- se `sema resumo . --micro` estourar timeout local, repita com timeout maior ou escopo menor; nao avance com codigo\n- trate `ir --json` como fonte de verdade semantica\n- trate `briefing.json` como plano de intervencao antes de editar projeto vivo\n- trate `diagnosticos --json` como fonte de correcao\n- use `sema formatar` como fonte unica de estilo\n- preserve a intencao do contrato\n- nao cobre da Sema adivinhacao de negocio que nao esta no contrato nem no codigo\n\nComandos essenciais:\n- resumo compacto por capacidade: `sema resumo <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`\n- prompt curto para IA fraca: `sema prompt-curto <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`\n- descoberta do projeto: `sema inspecionar [arquivo-ou-pasta] --json`\n- auditoria do contrato vivo: `sema drift <arquivo-ou-pasta> [--escopo <arquivo|modulo|projeto>] [--json]`\n- mapa de impacto: `sema impacto <arquivo-ou-pasta> --alvo <token> [--mudanca <descricao>] [--json]`\n- renomeacao assistida: `sema renomear-semantico <arquivo-ou-pasta> --de <nome-atual> --para <nome-novo> [--json]`\n- contexto completo do modulo: `sema contexto-ia <arquivo.sema>`\n- estrutura sintatica: `sema ast <arquivo.sema> --json`\n- estrutura semantica: `sema ir <arquivo.sema> --json`\n- validacao: `sema validar <arquivo.sema> --json`\n- diagnosticos: `sema diagnosticos <arquivo.sema> --json`\n- formatacao: `sema formatar <arquivo.sema>`\n- importacao assistida de legado: `sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|dotnet|java|go|rust|cpp|php|typescript|python|dart> <diretorio> --saida <diretorio>`\n- exemplos oficiais no projeto: `sema instalar-exemplos`\n- geracao de codigo: `sema compilar <arquivo-ou-pasta> --alvo <typescript|python|php|dart|lua|javascript|html|css|dotnet|cpp> --saida <diretorio>`\n- verificacao final: `sema verificar <arquivo-ou-pasta> [--json]`\n\nAntes de editar:\n1. leia README, docs de IA e um exemplo oficial parecido\n2. se a IA for fraca, rode `sema resumo <arquivo> --micro --json` e use o stdout compacto\n - se timeout local estourar, aumente o timeout e tente de novo; timeout nao significa Sema inativo\n3. se a IA aguentar mais, rode `sema drift` para medir impls, vinculos, rotas, score e lacunas\n4. se a tarefa for pesada, rode `sema contexto-ia` e leia `briefing.json`\n5. consulte AST e IR do modulo alvo so quando a capacidade realmente aguentar\n\nDepois de editar:\n1. rode `sema formatar`\n2. rode `sema validar --json`\n3. se houver falha, use `diagnosticos --json`\n4. rode `sema drift` de novo quando mexer em codigo vivo\n5. se a tarefa pedir codigo derivado, rode `sema compilar`\n6. feche com `sema verificar <arquivo-ou-pasta> --json`\n\nPriorize sempre:\n- exemplos oficiais\n- JSON da CLI\n- o menor artefato que resolva a tarefa da IA atual\n- score, confianca e lacunas do `drift`\n- `briefing.json` como guia de mudanca\n- consistencia semantica\n\nSuperficies que a IA deve enxergar como first-class:\n- `route`\n- `worker`\n- `evento`\n- `fila`\n- `cron`\n- `webhook`\n- `cache`\n- `storage`\n- `policy`\n\nNao improvise quando faltar contexto.\n";
2
- export declare const PROMPT_BASE_IA = "Voce esta trabalhando com Sema, um contrato semantico IA-first para agentes operarem software vivo.\n\nTrate a Sema como protocolo de governanca semantica e linguagem de intencao feita para IA, nao para leitura humana confortavel. Humanos escrevem e aprovam; agentes consomem. Nao invente sintaxe, palavras-chave ou blocos fora da gramatica e dos exemplos oficiais.\n\nFontes de verdade, em ordem:\n1. se o projeto expuser `SEMA_CONTEXT.md`, comece por ele\n2. `AGENT_CONTEXT_PACK.json`\n3. `SEMA_BRIEF.md`\n4. `SEMA_INDEX.json`\n5. `AGENTS.md`\n6. README do projeto\n7. gramatica e documentacao de sintaxe da Sema\n8. exemplos oficiais, com prioridade para o vertical de pagamento\n9. `sema resumo <arquivo> --micro --json` e o stdout compacto quando a IA for fraca\n10. AST, IR e diagnosticos exportados pela CLI em JSON quando a capacidade aguentar\n\nRegras de operacao:\n- contrato vem antes da acao: crie, edite ou remova o .sema aplicavel antes de codigo, docs operacionais, texto Author, workflow, jogo, pesquisa, legal ou ops\n- preserve o significado semantico\n- use o formatador oficial da Sema como fonte unica de estilo\n- use diagnosticos estruturados como contrato de correcao\n- use a IR como fonte de verdade semantica quando houver duvida\n- use predicados canonicos como normalizacao opcional, preservando a forma original\n- nao conclua uma alteracao sem validar e verificar o modulo\n- comece pelo menor artefato semantico que resolva a tarefa\n\nAntes de editar `.sema`, entenda:\n- o module alvo\n- os contratos de task, route, error, effects, guarantees, state e flow\n- os exemplos oficiais relacionados\n\nDepois de editar `.sema`, execute este fluxo:\n1. formatar\n2. validar\n3. diagnosticar, se houver falha\n4. verificar\n\nSe houver conflito entre texto livre e IR/diagnosticos, priorize a IR e os diagnosticos da CLI.\n\nSe algo nao estiver claro, siga a forma ja usada nos exemplos oficiais. Nao improvise sem base.\n";
1
+ export declare const STARTER_IA = "Voce esta trabalhando com Sema, um contrato semantico IA-first para agentes operarem software vivo em backend e front consumer.\n\nImportante:\n- a Sema se apresenta publicamente como protocolo e funciona tecnicamente como linguagem de intencao\n- a Sema e protocolo de governanca semantica desenhado para IA, nao para ergonomia humana\n- humanos sao autores/aprovadores; agentes sao os consumidores primarios do contrato\n- leitura humana e bonus toleravel, nao objetivo de produto\n- a Sema nao e gerador magico que deveria fazer tudo\n- a Sema modela contratos, estados, fluxos, erros, efeitos, garantias, vinculos e execucao\n- a Sema gera codigo e scaffolding real para TypeScript, Python, PHP, Dart, Lua, JavaScript, HTML e CSS\n- a Sema usa `importar` para bootstrap revisavel, nao para contrato final automatico\n- a Sema usa `impl` para ligar task a simbolo real do runtime\n- a Sema usa `vinculos` para ligar contrato a arquivo, simbolo, recurso e superficie real\n- a Sema usa `execucao` para explicitar timeout, retry, compensacao e criticidade\n- a Sema usa `drift` para medir diferenca entre contrato e codigo vivo com score, confianca e lacunas\n- a Sema usa `resumo` e `prompt-curto` para IA fraca, gratuita ou com pouco contexto\n- a Sema usa `contexto-ia` para gerar `ast.json`, `ir.json`, `drift.json`, `briefing.json` e artefatos compactos antes da edicao\n- timeout definido pelo agente nao e falha do Sema; aumente o timeout e tente de novo antes de concluir falha\n- a Sema pode servir de base para interfaces graficas elegantes e coerentes\n- a Sema gera artefatos HTML/CSS derivados, mas nao substitui sozinha uma interface completa de produto\n- trate a Sema como cerebro semantico da aplicacao, nao como gerador magico de front-end pronto\n- se a tarefa envolver UI, prefira pedir Sema + React + TypeScript ou Sema + arquitetura de front-end\n- evite pedir HTML unico solto quando a intencao for testar a Sema de verdade\n\nRegras:\n- nao invente sintaxe fora da gramatica e dos exemplos oficiais\n- antes de qualquer acao, crie, edite ou remova o contrato .sema aplicavel; isso vale para Software, Author, Workflow, Ops, Game, Legal e Research\n- se a IA for fraca, nao tente abrir tudo de uma vez\n- use `sema resumo <arquivo> --micro --drift none --json` pelo stdout antes de subir para o pacote completo; score, confian\u00E7a e implementa\u00E7\u00E3o ficam n\u00E3o avaliados\n- se `sema resumo . --micro` estourar timeout local, repita com timeout maior ou escopo menor; nao avance com codigo\n- trate `ir --json` como fonte de verdade semantica\n- trate `briefing.json` como plano de intervencao antes de editar projeto vivo\n- trate `diagnosticos --json` como fonte de correcao\n- use `sema formatar` como fonte unica de estilo\n- preserve a intencao do contrato\n- nao cobre da Sema adivinhacao de negocio que nao esta no contrato nem no codigo\n\nComandos essenciais:\n- resumo compacto por capacidade: `sema resumo <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>] [--drift <none|cache|fresh>]` (padr\u00E3o: none, sem evid\u00EAncia derivada)\n- prompt curto para IA fraca: `sema prompt-curto <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`\n- descoberta do projeto: `sema inspecionar [arquivo-ou-pasta] [--drift <none|cache|fresh>] --json` (padr\u00E3o: none)\n- auditoria do contrato vivo: `sema drift <arquivo-ou-pasta> [--escopo <arquivo|modulo|projeto>] [--cache <none|cache|fresh>] [--json]` (padr\u00E3o: fresh; none ainda executa sem cache persistente)\n- mapa de impacto: `sema impacto <arquivo-ou-pasta> --alvo <token> [--mudanca <descricao>] [--json]`\n- renomeacao assistida: `sema renomear-semantico <arquivo-ou-pasta> --de <nome-atual> --para <nome-novo> [--json]`\n- contexto completo do modulo: `sema contexto-ia <arquivo.sema>`\n- estrutura sintatica: `sema ast <arquivo.sema> --json`\n- estrutura semantica: `sema ir <arquivo.sema> --json`\n- validacao: `sema validar <arquivo.sema> --json`\n- diagnosticos: `sema diagnosticos <arquivo.sema> --json`\n- formatacao: `sema formatar <arquivo.sema>`\n- importacao assistida de legado: `sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|dotnet|java|go|rust|cpp|php|typescript|python|dart> <diretorio> --saida <diretorio>`\n- exemplos oficiais no projeto: `sema instalar-exemplos`\n- geracao de codigo: `sema compilar <arquivo-ou-pasta> --alvo <typescript|python|php|dart|lua|javascript|html|css|dotnet|cpp> --saida <diretorio>`\n- verificacao final: `sema verificar <arquivo-ou-pasta> [--json]`\n- distribui\u00E7\u00E3o global: `sema skill status --json` diagnostica sem alterar; `sema skill sync --json` repara launcher e skill; no Windows, PowerShell usa `sema.ps1` no PATH, cmd.exe usa `sema.cmd`, e `& \"$env:SystemRoot\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -File \"$HOME\\.sema\\bin\\sema-managed.ps1\" --version` \u00E9 o fallback absoluto\n\nAntes de editar:\n1. leia README, docs de IA e um exemplo oficial parecido\n2. se a IA for fraca, rode `sema resumo <arquivo> --micro --drift none --json` e use o stdout compacto sem inventar evid\u00EAncia de implementa\u00E7\u00E3o\n - se timeout local estourar, aumente o timeout e tente de novo; timeout nao significa Sema inativo\n3. se a IA aguentar mais, rode `sema drift --cache fresh` para medir impls, vinculos, rotas, score e lacunas com evid\u00EAncia recalculada\n4. se a tarefa for pesada, rode `sema contexto-ia` e leia `briefing.json`\n5. consulte AST e IR do modulo alvo so quando a capacidade realmente aguentar\n\nDepois de editar:\n1. rode `sema formatar`\n2. rode `sema validar --json`\n3. se houver falha, use `diagnosticos --json`\n4. rode `sema drift --cache fresh` de novo quando mexer em codigo vivo\n5. se a tarefa pedir codigo derivado, rode `sema compilar`\n6. feche com `sema verificar <arquivo-ou-pasta> --json`\n\nPriorize sempre:\n- exemplos oficiais\n- JSON da CLI\n- o menor artefato que resolva a tarefa da IA atual\n- score, confianca e lacunas do `drift`\n- `briefing.json` como guia de mudanca\n- consistencia semantica\n\nSuperficies que a IA deve enxergar como first-class:\n- `route`\n- `worker`\n- `evento`\n- `fila`\n- `cron`\n- `webhook`\n- `cache`\n- `storage`\n- `policy`\n\nNao improvise quando faltar contexto.\n";
2
+ export declare const PROMPT_BASE_IA = "Voce esta trabalhando com Sema, um contrato semantico IA-first para agentes operarem software vivo.\n\nTrate a Sema como protocolo de governanca semantica e linguagem de intencao feita para IA, nao para leitura humana confortavel. Humanos escrevem e aprovam; agentes consomem. Nao invente sintaxe, palavras-chave ou blocos fora da gramatica e dos exemplos oficiais.\n\nFontes de verdade, em ordem:\n1. se o projeto expuser `SEMA_CONTEXT.md`, comece por ele\n2. `AGENT_CONTEXT_PACK.json`\n3. `SEMA_BRIEF.md`\n4. `SEMA_INDEX.json`\n5. `AGENTS.md`\n6. README do projeto\n7. gramatica e documentacao de sintaxe da Sema\n8. exemplos oficiais, com prioridade para o vertical de pagamento\n9. `sema resumo <arquivo> --micro --drift none --json` e o stdout compacto quando a IA for fraca; campos derivados nulos significam n\u00E3o avaliados\n10. AST, IR e diagnosticos exportados pela CLI em JSON quando a capacidade aguentar\n\nRegras de operacao:\n- contrato vem antes da acao: crie, edite ou remova o .sema aplicavel antes de codigo, docs operacionais, texto Author, workflow, jogo, pesquisa, legal ou ops\n- preserve o significado semantico\n- use o formatador oficial da Sema como fonte unica de estilo\n- use diagnosticos estruturados como contrato de correcao\n- use a IR como fonte de verdade semantica quando houver duvida\n- use predicados canonicos como normalizacao opcional, preservando a forma original\n- nao conclua uma alteracao sem validar e verificar o modulo\n- comece pelo menor artefato semantico que resolva a tarefa\n\nAntes de editar `.sema`, entenda:\n- o module alvo\n- os contratos de task, route, error, effects, guarantees, state e flow\n- os exemplos oficiais relacionados\n\nDepois de editar `.sema`, execute este fluxo:\n1. formatar\n2. validar\n3. diagnosticar, se houver falha\n4. verificar\n\nSe houver conflito entre texto livre e IR/diagnosticos, priorize a IR e os diagnosticos da CLI.\n\nSe algo nao estiver claro, siga a forma ja usada nos exemplos oficiais. Nao improvise sem base.\n";
3
3
  export declare const PROMPT_IA_UI = "Atue como Engenheiro de Software Senior e UX/UI Designer de elite.\n\nQuero que voce trabalhe com Sema como fonte de verdade semantica do sistema e com React + TypeScript como camada de interface.\n\nEntregue obrigatoriamente duas partes integradas:\n1. os arquivos `.sema` do dominio\n2. a proposta ou implementacao da interface em React + TypeScript\n\nRegras:\n- nao entregue apenas HTML solto em arquivo unico\n- nao trate a Sema como enfeite conceitual\n- a interface deve nascer do contrato semantico definido em Sema\n- use os exemplos oficiais da Sema como referencia de estilo e semantica\n- nao invente sintaxe fora da gramatica suportada\n\nA Sema deve modelar, quando fizer sentido:\n- `module`\n- `use`\n- `entity`\n- `enum`\n- `state`\n- `task`\n- `flow`\n- `route`\n- `effects`\n- `error`\n- `guarantees`\n- `tests`\n- `docs`\n\nA interface deve refletir visualmente:\n- `state` como status e progresso observavel\n- `flow` como etapas ou orquestracao visivel\n- `error` como falhas tratadas com clareza\n- `effects` como operacoes relevantes para usuario ou operacao\n- `guarantees` como confianca, confirmacao ou consistencia final\n\nEstruture a entrega assim:\n1. visao do produto\n2. dominio modelado em Sema\n3. arquitetura de pastas em React + TypeScript\n4. componentes principais\n5. estrategia visual\n6. codigo principal da interface\n7. explicacao curta de como a UI conversa com a semantica da Sema\n\nSe a tarefa envolver app visual, a Sema governa o significado e o React renderiza a experiencia. Nao atropele essa separacao.\n";
4
4
  export declare const PROMPT_IA_REACT = "Crie uma solucao com Sema + React + TypeScript.\n\nRegras principais:\n- a Sema deve ser a fonte de verdade semantica do dominio\n- React + TypeScript deve ser a camada de interface e experiencia\n- nao entregue HTML unico solto\n- nao trate a Sema como enfeite\n\nEntregue obrigatoriamente:\n1. arquivos `.sema` do dominio\n2. arquitetura de pastas do frontend\n3. componentes React principais\n4. contratos e tipos derivados da semantica\n5. interface elegante e implementavel\n\nA modelagem Sema deve cobrir, quando fizer sentido:\n- `entity`\n- `enum`\n- `state`\n- `task`\n- `flow`\n- `route`\n- `effects`\n- `error`\n- `guarantees`\n- `tests`\n\nA interface React deve tornar visiveis:\n- estado atual e transicoes relevantes\n- fluxo operacional\n- erros publicos\n- efeitos operacionais importantes\n- garantias ou confirmacoes finais\n\nEstruture a entrega assim:\n1. visao do produto\n2. arquivos `.sema`\n3. arquitetura React + TypeScript\n4. componentes e telas\n5. codigo principal\n6. explicacao de como a UI deriva da semantica da Sema\n\nSe houver duvida, siga os exemplos oficiais e mantenha a separacao:\n- Sema governa o significado\n- React governa a apresentacao\n";
5
5
  export declare const PROMPT_IA_SEMA_PRIMEIRO = "Quero que voce trabalhe no modo \"Sema primeiro\".\n\nRegra principal:\n- modele primeiro o dominio em arquivos `.sema`\n- se a intencao mudar, crie, edite ou remova o contrato antes de qualquer acao operacional\n- so depois proponha ou gere codigo de aplicacao derivado disso\n\nFluxo obrigatorio:\n1. entender o dominio pedido\n2. modelar o contrato em Sema\n3. validar coerencia entre `task`, `route`, `state`, `flow`, `error`, `effects` e `guarantees`\n4. so depois gerar TypeScript, Python, React ou outra camada de implementacao\n\nNao entregue apenas codigo de interface ou codigo imperativo direto sem antes entregar a camada semantica.\n\nA modelagem em Sema deve:\n- preservar a intencao do dominio\n- explicitar entradas, saidas, erros, efeitos e garantias\n- usar apenas blocos e sintaxe oficiais\n- incluir testes embutidos quando fizer sentido\n\nSe houver interface grafica:\n- entregue a modelagem Sema primeiro\n- depois explique como a interface deve refletir a semantica\n- se gerar UI, use React + TypeScript em vez de HTML unico solto\n\nSe houver backend:\n- entregue a modelagem Sema primeiro\n- depois gere a borda publica e a implementacao derivada\n\nNao pule a etapa semantica. A camada `.sema` e a ancora principal da solucao.\n";
6
- export declare const EXEMPLOS_PROMPT_IA = "Exemplos de prompt oficial para trabalhar com Sema\n\n1. Sema primeiro\n\nCrie uma solucao seguindo a estrategia \"Sema primeiro\".\nEntregue primeiro os arquivos `.sema` do dominio e so depois a implementacao derivada.\nNao entregue apenas codigo imperativo.\nUse Sema como fonte de verdade para contratos, estados, erros, efeitos e garantias.\n\n2. Sema + React + TypeScript\n\nCrie um projeto com Sema + React + TypeScript.\nEntregue:\n- os arquivos `.sema` do dominio\n- a arquitetura de pastas do frontend\n- componentes React que reflitam `state`, `flow`, `error`, `effects` e `guarantees`\n- uma interface elegante e implementavel\n- nao entregue HTML solto em arquivo unico\n\n3. Revisar ou corrigir um modulo Sema\n\nRevise e corrija um modulo `.sema`.\nAntes de editar:\n- leia os exemplos oficiais parecidos\n- consulte AST e IR\nDepois de editar:\n- rode `sema formatar`\n- rode `sema validar --json`\n- use `diagnosticos --json` se houver falha\n- feche com `sema verificar`\n\n4. Caso de UI sem perder a semantica\n\nQuero uma interface premium para este dominio, mas a solucao deve continuar ancorada em Sema.\nModele primeiro o dominio em `.sema`.\nDepois proponha uma interface em React + TypeScript que torne visiveis:\n- estado\n- fluxo\n- erros\n- efeitos\n- garantias\nNao transforme isso em um `index.html` solto.\n\nComandos uteis da CLI para esse fluxo:\n- `sema starter-ia`\n- `sema ajuda-ia`\n- `sema descobrir catalogo --json`\n- `sema descobrir recomendar --intencao \"<objetivo>\" --json`\n- `sema interativo pipelines --json`\n- `sema resumo <arquivo-ou-pasta>`\n- `sema prompt-curto <arquivo-ou-pasta>`\n- `sema prompt-ia`\n- `sema prompt-ia-ui`\n- `sema prompt-ia-react`\n- `sema prompt-ia-sema-primeiro`\n- `sema contexto-ia <arquivo.sema>`\n";
6
+ export declare const EXEMPLOS_PROMPT_IA = "Exemplos de prompt oficial para trabalhar com Sema\n\n1. Sema primeiro\n\nCrie uma solucao seguindo a estrategia \"Sema primeiro\".\nEntregue primeiro os arquivos `.sema` do dominio e so depois a implementacao derivada.\nNao entregue apenas codigo imperativo.\nUse Sema como fonte de verdade para contratos, estados, erros, efeitos e garantias.\n\n2. Sema + React + TypeScript\n\nCrie um projeto com Sema + React + TypeScript.\nEntregue:\n- os arquivos `.sema` do dominio\n- a arquitetura de pastas do frontend\n- componentes React que reflitam `state`, `flow`, `error`, `effects` e `guarantees`\n- uma interface elegante e implementavel\n- nao entregue HTML solto em arquivo unico\n\n3. Revisar ou corrigir um modulo Sema\n\nRevise e corrija um modulo `.sema`.\nAntes de editar:\n- leia os exemplos oficiais parecidos\n- consulte AST e IR\nDepois de editar:\n- rode `sema formatar`\n- rode `sema validar --json`\n- use `diagnosticos --json` se houver falha\n- feche com `sema verificar`\n\n4. Caso de UI sem perder a semantica\n\nQuero uma interface premium para este dominio, mas a solucao deve continuar ancorada em Sema.\nModele primeiro o dominio em `.sema`.\nDepois proponha uma interface em React + TypeScript que torne visiveis:\n- estado\n- fluxo\n- erros\n- efeitos\n- garantias\nNao transforme isso em um `index.html` solto.\n\nComandos uteis da CLI para esse fluxo:\n- `sema starter-ia`\n- `sema ajuda-ia`\n- `sema descobrir catalogo --json`\n- `sema descobrir recomendar --intencao \"<objetivo>\" --json`\n- `sema interativo pipelines --json`\n- `sema resumo <arquivo-ou-pasta> --drift none`\n- `sema prompt-curto <arquivo-ou-pasta>`\n- `sema prompt-ia`\n- `sema prompt-ia-ui`\n- `sema prompt-ia-react`\n- `sema prompt-ia-sema-primeiro`\n- `sema contexto-ia <arquivo.sema>`\n";
package/dist/iaPrompts.js CHANGED
@@ -1,7 +1,5 @@
1
- // SEMA-GOVERNED
2
- // M?dulo: sema.produto.orcamento_semantico
3
- // Contrato: contratos/sema/orcamento_semantico.sema
4
- // Descri??o: textos oficiais de prompt e onboarding IA-first usados pela CLI.
1
+ // SEMA-GOVERNED: sema.produto.governanca_ia.drift.cache.modos, sema.governanca_ia_contexto
2
+ // Descrição: textos oficiais de prompt e onboarding que distinguem contrato resumido de evidência fresh do código vivo.
5
3
  export const STARTER_IA = `Voce esta trabalhando com Sema, um contrato semantico IA-first para agentes operarem software vivo em backend e front consumer.
6
4
 
7
5
  Importante:
@@ -30,7 +28,7 @@ Regras:
30
28
  - nao invente sintaxe fora da gramatica e dos exemplos oficiais
31
29
  - antes de qualquer acao, crie, edite ou remova o contrato .sema aplicavel; isso vale para Software, Author, Workflow, Ops, Game, Legal e Research
32
30
  - se a IA for fraca, nao tente abrir tudo de uma vez
33
- - use \`sema resumo <arquivo> --micro --json\` pelo stdout antes de subir para o pacote completo
31
+ - use \`sema resumo <arquivo> --micro --drift none --json\` pelo stdout antes de subir para o pacote completo; score, confiança e implementação ficam não avaliados
34
32
  - se \`sema resumo . --micro\` estourar timeout local, repita com timeout maior ou escopo menor; nao avance com codigo
35
33
  - trate \`ir --json\` como fonte de verdade semantica
36
34
  - trate \`briefing.json\` como plano de intervencao antes de editar projeto vivo
@@ -40,10 +38,10 @@ Regras:
40
38
  - nao cobre da Sema adivinhacao de negocio que nao esta no contrato nem no codigo
41
39
 
42
40
  Comandos essenciais:
43
- - resumo compacto por capacidade: \`sema resumo <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]\`
41
+ - resumo compacto por capacidade: \`sema resumo <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>] [--drift <none|cache|fresh>]\` (padrão: none, sem evidência derivada)
44
42
  - prompt curto para IA fraca: \`sema prompt-curto <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]\`
45
- - descoberta do projeto: \`sema inspecionar [arquivo-ou-pasta] --json\`
46
- - auditoria do contrato vivo: \`sema drift <arquivo-ou-pasta> [--escopo <arquivo|modulo|projeto>] [--json]\`
43
+ - descoberta do projeto: \`sema inspecionar [arquivo-ou-pasta] [--drift <none|cache|fresh>] --json\` (padrão: none)
44
+ - auditoria do contrato vivo: \`sema drift <arquivo-ou-pasta> [--escopo <arquivo|modulo|projeto>] [--cache <none|cache|fresh>] [--json]\` (padrão: fresh; none ainda executa sem cache persistente)
47
45
  - mapa de impacto: \`sema impacto <arquivo-ou-pasta> --alvo <token> [--mudanca <descricao>] [--json]\`
48
46
  - renomeacao assistida: \`sema renomear-semantico <arquivo-ou-pasta> --de <nome-atual> --para <nome-novo> [--json]\`
49
47
  - contexto completo do modulo: \`sema contexto-ia <arquivo.sema>\`
@@ -55,13 +53,14 @@ Comandos essenciais:
55
53
  - importacao assistida de legado: \`sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|dotnet|java|go|rust|cpp|php|typescript|python|dart> <diretorio> --saida <diretorio>\`
56
54
  - exemplos oficiais no projeto: \`sema instalar-exemplos\`
57
55
  - geracao de codigo: \`sema compilar <arquivo-ou-pasta> --alvo <typescript|python|php|dart|lua|javascript|html|css|dotnet|cpp> --saida <diretorio>\`
58
- - verificacao final: \`sema verificar <arquivo-ou-pasta> [--json]\`
56
+ - verificacao final: \`sema verificar <arquivo-ou-pasta> [--json]\`
57
+ - distribuição global: \`sema skill status --json\` diagnostica sem alterar; \`sema skill sync --json\` repara launcher e skill; no Windows, PowerShell usa \`sema.ps1\` no PATH, cmd.exe usa \`sema.cmd\`, e \`& "$env:SystemRoot\\System32\\WindowsPowerShell\\v1.0\\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -File "$HOME\\.sema\\bin\\sema-managed.ps1" --version\` é o fallback absoluto
59
58
 
60
59
  Antes de editar:
61
60
  1. leia README, docs de IA e um exemplo oficial parecido
62
- 2. se a IA for fraca, rode \`sema resumo <arquivo> --micro --json\` e use o stdout compacto
61
+ 2. se a IA for fraca, rode \`sema resumo <arquivo> --micro --drift none --json\` e use o stdout compacto sem inventar evidência de implementação
63
62
  - se timeout local estourar, aumente o timeout e tente de novo; timeout nao significa Sema inativo
64
- 3. se a IA aguentar mais, rode \`sema drift\` para medir impls, vinculos, rotas, score e lacunas
63
+ 3. se a IA aguentar mais, rode \`sema drift --cache fresh\` para medir impls, vinculos, rotas, score e lacunas com evidência recalculada
65
64
  4. se a tarefa for pesada, rode \`sema contexto-ia\` e leia \`briefing.json\`
66
65
  5. consulte AST e IR do modulo alvo so quando a capacidade realmente aguentar
67
66
 
@@ -69,7 +68,7 @@ Depois de editar:
69
68
  1. rode \`sema formatar\`
70
69
  2. rode \`sema validar --json\`
71
70
  3. se houver falha, use \`diagnosticos --json\`
72
- 4. rode \`sema drift\` de novo quando mexer em codigo vivo
71
+ 4. rode \`sema drift --cache fresh\` de novo quando mexer em codigo vivo
73
72
  5. se a tarefa pedir codigo derivado, rode \`sema compilar\`
74
73
  6. feche com \`sema verificar <arquivo-ou-pasta> --json\`
75
74
 
@@ -107,7 +106,7 @@ Fontes de verdade, em ordem:
107
106
  6. README do projeto
108
107
  7. gramatica e documentacao de sintaxe da Sema
109
108
  8. exemplos oficiais, com prioridade para o vertical de pagamento
110
- 9. \`sema resumo <arquivo> --micro --json\` e o stdout compacto quando a IA for fraca
109
+ 9. \`sema resumo <arquivo> --micro --drift none --json\` e o stdout compacto quando a IA for fraca; campos derivados nulos significam não avaliados
111
110
  10. AST, IR e diagnosticos exportados pela CLI em JSON quando a capacidade aguentar
112
111
 
113
112
  Regras de operacao:
@@ -310,7 +309,7 @@ Comandos uteis da CLI para esse fluxo:
310
309
  - \`sema descobrir catalogo --json\`
311
310
  - \`sema descobrir recomendar --intencao "<objetivo>" --json\`
312
311
  - \`sema interativo pipelines --json\`
313
- - \`sema resumo <arquivo-ou-pasta>\`
312
+ - \`sema resumo <arquivo-ou-pasta> --drift none\`
314
313
  - \`sema prompt-curto <arquivo-ou-pasta>\`
315
314
  - \`sema prompt-ia\`
316
315
  - \`sema prompt-ia-ui\`
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
- #!/usr/bin/env node
2
1
  export * from "./index.part01.js";
3
2
  export * from "./index.part08.js";
3
+ export * from "./cliHelp.js";
4
+ export { criarAjudaRaiz } from "./cliHelpTexto.js";
5
+ export * from "./saidaCli.js";
4
6
  export { iniciarProfileAuthor, comandoAuthor, criarAuthorBriefing, revisarClichesAuthor } from "./profileAuthorCommand.js";
5
7
  export { validarProfileSemantico } from "./profileCommand.js";
6
8
  export { materializarExemplosOficiais } from "./exemplosOficiais.js";
@@ -8,3 +10,4 @@ export { expandirIntencaoSemanticaProfile, sugerirStarterPresetProfile, validarP
8
10
  export * from "./pipelineConteudo/index.js";
9
11
  export * from "./sistemasInterativos/index.js";
10
12
  export * from "./discovery/index.js";
13
+ export * from "./distribuicao/index.js";
package/dist/index.js CHANGED
@@ -1,12 +1,10 @@
1
- #!/usr/bin/env node
2
- // SEMA-GOVERNED: sema.governanca_ia_contexto
3
- // Descricao: CLI particionada; consulte contratos/sema/governanca_ia_contexto.sema antes de editar.
4
- import { realpathSync } from "node:fs";
5
- import path from "node:path";
6
- import { fileURLToPath } from "node:url";
7
- import { principal } from "./index.part08.js";
1
+ // SEMA-GOVERNED: sema.governanca_ia_contexto, sema.produto.distribuicao_global, sema.produto.cli_invocacao_publica
2
+ // Descrição: superfície de biblioteca da CLI; o executável público vive exclusivamente em bin.ts.
8
3
  export * from "./index.part01.js";
9
4
  export * from "./index.part08.js";
5
+ export * from "./cliHelp.js";
6
+ export { criarAjudaRaiz } from "./cliHelpTexto.js";
7
+ export * from "./saidaCli.js";
10
8
  export { iniciarProfileAuthor, comandoAuthor, criarAuthorBriefing, revisarClichesAuthor } from "./profileAuthorCommand.js";
11
9
  export { validarProfileSemantico } from "./profileCommand.js";
12
10
  export { materializarExemplosOficiais } from "./exemplosOficiais.js";
@@ -14,22 +12,5 @@ export { expandirIntencaoSemanticaProfile, sugerirStarterPresetProfile, validarP
14
12
  export * from "./pipelineConteudo/index.js";
15
13
  export * from "./sistemasInterativos/index.js";
16
14
  export * from "./discovery/index.js";
17
- function moduloExecutadoDiretamente() {
18
- if (!process.argv[1]) {
19
- return false;
20
- }
21
- try {
22
- return realpathSync(process.argv[1]) === realpathSync(fileURLToPath(import.meta.url));
23
- }
24
- catch {
25
- return path.resolve(process.argv[1]) === path.resolve(fileURLToPath(import.meta.url));
26
- }
27
- }
28
- if (moduloExecutadoDiretamente()) {
29
- principal().catch((erro) => {
30
- console.error("Falha ao executar a CLI da Sema.");
31
- console.error(erro instanceof Error ? erro.stack ?? erro.message : erro);
32
- process.exit(1);
33
- });
34
- }
15
+ export * from "./distribuicao/index.js";
35
16
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,10 @@
1
1
  import { compilarCodigo, type IrModulo } from "@sema/nucleo";
2
2
  import { analisarDriftLegado, type OpcoesDriftLegado } from "./drift.js";
3
3
  import { type GuiaCapacidadeIaMap } from './agentContextTipos.js';
4
- import { criarBriefingAgente, resumirDriftPorModulo } from "./index.part03.js";
5
- export type Comando = "iniciar" | "init" | "dev" | "sync" | "author" | "profile" | "conteudo" | "interativo" | "descobrir" | "pipeline" | "capabilities" | "validar" | "ast" | "ir" | "compilar" | "gerar" | "testar" | "diagnosticos" | "verificar" | "inspecionar" | "drift" | "impacto" | "renomear-semantico" | "importar" | "doctor" | "formatar" | "ajuda-ia" | "starter-ia" | "sync-codex" | "instalar-exemplos" | "rule-packs" | "docs-impacto" | "finalizar-mudanca" | "resumo" | "prompt-curto" | "prompt-ia" | "prompt-ia-ui" | "prompt-ia-react" | "prompt-ia-sema-primeiro" | "exemplos-prompt-ia" | "contexto-ia";
4
+ import { renderizarCaixaAscii, renderizarSecaoAscii } from './cliHelpTexto.js';
5
+ import { criarBriefingAgente, criarBriefingAgenteContratos, resumirDriftPorModulo } from "./index.part03.js";
6
+ import { type ComandoConsultaDrift, type ModoCacheDrift, type ResolucaoModoCacheDrift } from "./driftCacheModes.js";
7
+ export type Comando = "iniciar" | "init" | "dev" | "sync" | "author" | "profile" | "conteudo" | "interativo" | "descobrir" | "pipeline" | "capabilities" | "validar" | "ast" | "ir" | "compilar" | "gerar" | "testar" | "diagnosticos" | "verificar" | "inspecionar" | "drift" | "impacto" | "renomear-semantico" | "importar" | "doctor" | "formatar" | "ajuda-ia" | "starter-ia" | "sync-codex" | "skill" | "instalar-exemplos" | "rule-packs" | "docs-impacto" | "finalizar-mudanca" | "resumo" | "prompt-curto" | "prompt-ia" | "prompt-ia-ui" | "prompt-ia-react" | "prompt-ia-sema-primeiro" | "exemplos-prompt-ia" | "contexto-ia";
6
8
  export interface ResultadoFormatacaoArquivo {
7
9
  caminho: string;
8
10
  alterado: boolean;
@@ -74,11 +76,14 @@ export interface PacoteContextoModuloIa {
74
76
  comando: "drift";
75
77
  caminho: string;
76
78
  modulo: string | null;
77
- sucesso: boolean;
78
- resumo: ResumoModuloDrift;
79
- drift: ResultadoDriftIa;
79
+ modo: ModoCacheDrift;
80
+ executada: boolean;
81
+ sucesso: boolean | null;
82
+ aviso: string | null;
83
+ resumo: ResumoModuloDrift | null;
84
+ drift: ResultadoDriftIa | null;
80
85
  };
81
- briefing: ReturnType<typeof criarBriefingAgente>;
86
+ briefing: ReturnType<typeof criarBriefingAgente> | ReturnType<typeof criarBriefingAgenteContratos>;
82
87
  }
83
88
  export interface ResumoSemanticoModuloIa {
84
89
  geradoEm: string;
@@ -88,8 +93,8 @@ export interface ResumoSemanticoModuloIa {
88
93
  avisoVerificacaoCodigo: string | null;
89
94
  fontesConclusao: string[];
90
95
  perfilCompatibilidade: string;
91
- scoreSemantico: number;
92
- confiancaGeral: string;
96
+ scoreSemantico: number | null;
97
+ confiancaGeral: string | null;
93
98
  riscoOperacional: string;
94
99
  faz: string;
95
100
  tarefasPrincipais: string[];
@@ -108,22 +113,24 @@ export interface ResumoSemanticoModuloIa {
108
113
  checksSugeridos: string[];
109
114
  testesMinimos: string[];
110
115
  consumerFramework: string | null;
111
- appRoutes: string[];
112
- consumerSurfaces: string[];
113
- consumerBridges: string[];
114
- ancoragensVinculo: string[];
116
+ appRoutes: string[] | null;
117
+ consumerSurfaces: string[] | null;
118
+ consumerBridges: string[] | null;
119
+ ancoragensVinculo: string[] | null;
115
120
  arquivosProvaveisEditar: string[];
116
121
  }
117
122
  export declare const DIRETORIO_CLI_ATUAL: string;
118
123
  export declare const VERSAO_CLI: string;
124
+ export { renderizarCaixaAscii, renderizarSecaoAscii };
119
125
  export declare function obterArgumentos(): {
120
126
  comando?: Comando;
121
127
  resto: string[];
122
128
  };
123
- export declare function renderizarCaixaAscii(linhas: string[]): string;
124
- export declare function renderizarSecaoAscii(titulo: string, linhas: string[]): string;
125
129
  export declare function ajuda(): string;
126
130
  export declare function resolverOpcoesDriftCli(args: string[]): OpcoesDriftLegado;
131
+ export declare function resolverAnaliseDriftConsultaCli(args: string[], comando: ComandoConsultaDrift): ResolucaoModoCacheDrift & {
132
+ opcoes: OpcoesDriftLegado;
133
+ };
127
134
  export declare function normalizarTamanhoResumo(args: string[]): TamanhoResumoIa;
128
135
  export declare function normalizarModoResumo(valor?: string): ModoResumoIa;
129
136
  export declare function descobrirDocsIa(): Promise<DescobertaDocsIa>;
@@ -3,181 +3,36 @@ import { fileURLToPath } from "node:url";
3
3
  import pacoteCli from "../package.json" with { type: "json" };
4
4
  import { caminhoExiste } from './fsGovernado.js';
5
5
  import { obterOpcao, possuiFlag } from './cliArgs.js';
6
+ import { criarAjudaRaiz, renderizarCaixaAscii, renderizarSecaoAscii } from './cliHelpTexto.js';
7
+ import { resolverModoCacheComandoDrift, resolverModoCacheConsultaDrift, } from "./driftCacheModes.js";
6
8
  export const DIRETORIO_CLI_ATUAL = path.dirname(fileURLToPath(import.meta.url));
7
9
  export const VERSAO_CLI = pacoteCli.version;
10
+ export { renderizarCaixaAscii, renderizarSecaoAscii };
8
11
  export function obterArgumentos() {
9
12
  const [, , comando, ...resto] = process.argv;
10
13
  return { comando: comando, resto };
11
14
  }
12
- export function renderizarCaixaAscii(linhas) {
13
- const largura = Math.max(...linhas.map((linha) => linha.length), 12);
14
- const borda = `+${"-".repeat(largura + 2)}+`;
15
- return [
16
- borda,
17
- ...linhas.map((linha) => `| ${linha.padEnd(largura, " ")} |`),
18
- borda,
19
- ].join("\n");
20
- }
21
- export function renderizarSecaoAscii(titulo, linhas) {
22
- return [
23
- titulo,
24
- ...linhas.map((linha) => ` ${linha}`),
25
- ].join("\n");
26
- }
27
15
  export function ajuda() {
28
- return [
29
- renderizarCaixaAscii([
30
- `Sema CLI v${VERSAO_CLI}`,
31
- "IA-first para contrato, geração e adoção incremental",
32
- "novo projeto, edição guiada e legado sem contrato inicial",
33
- ]),
34
- "",
35
- renderizarSecaoAscii("Fluxos rápidos", [
36
- "[1] Projeto novo / produção inicial",
37
- "sema iniciar --template <base|nestjs|fastapi|nextjs-api|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer> [--force]",
38
- "Arquivos existentes sao preservados; use --force somente para sobrescrita explicita.",
39
- "sema validar contratos/<modulo>.sema --json",
40
- "sema compilar <arquivo-ou-pasta> --alvo <typescript|python|php|dart|lua|javascript|html|css|dotnet|cpp> --saida <diretorio>",
41
- "sema verificar <arquivo-ou-pasta> --json",
42
- "",
43
- "[2] Editar projeto que já usa Sema",
44
- "sema inspecionar . --json",
45
- "sema resumo <arquivo-ou-pasta> --micro --para mudanca",
46
- "sema drift <arquivo-ou-pasta> --escopo modulo --json",
47
- "sema impacto <arquivo-ou-pasta> --alvo <token> --mudanca <descricao> --json",
48
- "sema docs-impacto --intencao \"fazer deploy\" --criar-ausentes --json",
49
- "sema contexto-ia <arquivo.sema> --saida ./.tmp/contexto --json",
50
- "",
51
- "[3] Governar escrita autoral com Sema Author",
52
- "sema author iniciar [--tema-sensivel] [--saida contratos/author.sema]",
53
- "sema author validar contratos/author.sema --json",
54
- "sema author briefing contratos/author.sema --json",
55
- "sema author revisar-cliches contratos/author.sema --texto <texto> --json # reprova se houver bloqueio",
56
- "sema author validar-narrativa contratos/author.sema --texto <texto> --texto-anterior <texto> --json",
57
- "sema author validar-proibicoes contratos/author.sema --texto <texto> --json",
58
- "",
59
- "[4] Validar profiles semânticos",
60
- "sema profile validar workflow contratos/sema/workflow_ops.sema --maturidade production --preset webhook --artefato-arquivo workflow.md --json",
61
- "sema profile validar ops contratos/sema/workflow_ops.sema --maturidade critical --preset deploy --artefato-arquivo runbook.md --json",
62
- "sema profile validar game contratos/sema/game.sema --maturidade prototype --preset playtest --artefato-arquivo playtest.md --json",
63
- "sema profile validar simulation contratos/sema/simulation.sema --maturidade production --preset calibration --artefato-arquivo calibration.md --json",
64
- "sema profile validar redacao contratos/sema/redator.sema --maturidade production --preset seo --artefato-arquivo materia.md --json",
65
- "sema profile validar propostas contratos/sema/propostas_comerciais.sema --maturidade production --preset score90 --artefato-arquivo proposta.md --json",
66
- "sema profile validar conversas contratos/sema/conversas.sema --maturidade production --preset vendas --artefato-arquivo conversa.md --json",
67
- "sema profile capabilities --json",
68
- "sema rule-packs --profile legal --json",
69
- "",
70
- "[5] Descobrir a capacidade ou pipeline certo",
71
- "sema descobrir catalogo --json",
72
- "sema descobrir recomendar --intencao \"validar simulador 3D autonomo calibrado\" --json",
73
- "sema descobrir explicar simulation.calibrate --json",
74
- "sema pipeline listar --json",
75
- "sema capabilities --json",
76
- "",
77
- "[6] Modelar jogos e simulações em qualquer combinação espacial, visual e de render",
78
- "sema interativo capabilities --json",
79
- "sema interativo schema --json",
80
- "sema interativo pipelines --json",
81
- "sema interativo adapters --spatial-model THREE_D --render-mode VISUAL --json",
82
- "sema interativo validar <definition.json> --json",
83
- "sema interativo planejar <definition.json> --json",
84
- "sema interativo validar-evidencias <definition.json> [--plano-arquivo <plan.json>] --bundle-arquivo <bundle.json> --json",
85
- "sema interativo validar-protocolo <adapter-run.json> --json",
86
- "sema interativo validar-ir <experience-ir.json> --json",
87
- "sema interativo consultar-ir <experience-ir.json> --semantic-id <id> --json",
88
- "sema interativo validar-engine-snapshot <snapshot.json> --json",
89
- "sema interativo validar-temporal <temporal.json> --json",
90
- "sema interativo validar-autonomia <cycle.json> --json",
91
- "sema interativo validar-playtest-fuzz <plan.json> --json",
92
- "sema interativo validar-multiplayer <model.json> --json",
93
- "sema interativo analisar-portabilidade <plan.json> --json",
94
- "sema interativo validar-workers <plan.json> --json",
95
- "",
96
- "[7] Orquestrar criação de conteúdo por IA",
97
- "sema conteudo capabilities --json",
98
- "sema conteudo validar <definition.json> --json",
99
- "sema conteudo planejar <definition.json> --alvos-arquivo <targets.json> --json",
100
- "sema conteudo registrar <ledger.ndjson> --envelope-arquivo <envelope.json> --politica-arquivo <policy-envelope.json> --confianca-arquivo <trust.json> --trust-root-digest <sha256:...> --revocation-digest <sha256:...> --ledger-id <id> --expected-head <sha256:...> --json",
101
- "sema conteudo status <definition.json> --politica-arquivo <policy-envelope.json> --confianca-arquivo <trust.json> --trust-root-digest <sha256:...> --revocation-digest <sha256:...> --ledger-arquivo <ledger.ndjson> --expected-head <sha256:...> --json",
102
- "",
103
- "[8] Adotar Sema em projeto que ainda não usa",
104
- "sema importar <fonte> <diretorio> --saida <diretorio> --json",
105
- "sema formatar <arquivo-ou-pasta>",
106
- "sema validar <arquivo-ou-pasta> --json",
107
- "sema drift <arquivo-ou-pasta> --escopo modulo --json",
108
- ]),
109
- "",
110
- renderizarSecaoAscii("IA por capacidade", [
111
- "fraca: sema resumo <arquivo> --micro --json (stdout compacto)",
112
- "média: sema resumo <arquivo> --curto --json + sema drift <arquivo> --json",
113
- "forte: sema contexto-ia <arquivo.sema> --saida <diretorio> --json",
114
- ]),
115
- "",
116
- renderizarSecaoAscii("Comandos principais", [
117
- "descoberta: sema inspecionar [arquivo-ou-pasta] [--json]",
118
- "catálogo: sema descobrir <catalogo|recomendar|explicar> [id] [--intencao <objetivo>] [--json]",
119
- "pipelines: sema pipeline <listar|descrever> [id] [--json]",
120
- "todas as capacidades: sema capabilities [--json]",
121
- "auditoria: sema drift <arquivo-ou-pasta> [--escopo <arquivo|modulo|projeto>] [--incluir-worktrees] [--incluir-consumidores-laterais] [--json]",
122
- "impacto: sema impacto <arquivo-ou-pasta> --alvo <token> [--mudanca <descricao>] [--escopo <arquivo|modulo|projeto>] [--json]",
123
- "renomeação: sema renomear-semantico <arquivo-ou-pasta> --de <nome-atual> --para <nome-novo> [--escopo <arquivo|modulo|projeto>] [--json]",
124
- "importação: sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|dotnet|java|go|rust|cpp|php|typescript|python|dart> <diretorio> [--saida <diretorio>] [--namespace <base>] [--json]",
125
- "validação: sema validar <arquivo-ou-pasta> [--json]",
126
- "diagnóstico: sema diagnosticos <arquivo.sema> [--json]",
127
- "geração: sema compilar <arquivo-ou-pasta> --alvo <typescript|python|php|dart|lua|javascript|html|css|dotnet|cpp> --saida <diretorio> [--estrutura <flat|modulos|backend>] [--framework <base|nestjs|fastapi>]",
128
- "teste local: sema testar <arquivo.sema> --alvo <typescript|python|php|dart|lua|javascript|html|css|dotnet|cpp> --saida <diretorio-temporario> [--estrutura <flat|modulos|backend>] [--framework <base|nestjs|fastapi>]",
129
- "aliases nativos: cs|csharp -> dotnet; c++|cxx|cc -> cpp (CLI e sema.config.json)",
130
- "verificação final: sema verificar <arquivo-ou-pasta> [--saida <diretorio-base>] [--json]",
131
- "formatação: sema formatar <arquivo-ou-pasta> [--check] [--json]",
132
- "author: sema author <iniciar|validar|briefing|revisar-cliches|validar-narrativa|validar-proibicoes> [arquivo] [--tema-sensivel] [--preset conto|romance|roteiro|lore|campanha] [--saida <arquivo>] [--texto <texto>] [--json]",
133
- "profile: sema profile validar <software|workflow|ops|game|simulation|legal|research|redacao|propostas|conversas> <arquivo-ou-pasta> [--maturidade draft|prototype|production|critical] [--preset <preset>] [--artefato <texto>|--artefato-arquivo <arquivo>] [--json]",
134
- "capabilities: sema profile capabilities [--json]",
135
- "conteúdo: sema conteudo <capabilities|validar|planejar|validar-envelope|registrar|status|projetar> [--trust-root-digest <sha256:...>] [--revocation-digest <sha256:...>] [--expected-head <sha256:...>] [opções] [--json]",
136
- "interativo: sema interativo <capabilities|schema|pipelines|adapters|validar|planejar|validar-evidencias|status|validar-protocolo|extensões-P0-P2> [opções] [--json]",
137
- "rule packs: sema rule-packs [--profile <author|software|workflow|ops|game|simulation|legal|research|redacao|propostas|conversas>] [--json]",
138
- ]),
139
- "",
140
- renderizarSecaoAscii("Ajuda IA-first", [
141
- "sema ajuda-ia",
142
- "sema starter-ia",
143
- "sema resumo <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>] [--saida <diretorio>] [--raiz] [--json]",
144
- "sema prompt-curto <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>] [--json]",
145
- "sema prompt-ia",
146
- "sema prompt-ia-ui",
147
- "sema prompt-ia-react",
148
- "sema prompt-ia-sema-primeiro",
149
- "sema exemplos-prompt-ia",
150
- "sema contexto-ia <arquivo.sema> [--saida <diretorio>] [--json]",
151
- "sema sync-codex [--json]",
152
- "sema instalar-exemplos [--json]",
153
- "sema docs-impacto --intencao <acao> [--arquivo <caminho>] [--criar-ausentes] [--json]",
154
- "sema finalizar-mudanca --intencao <acao> [--arquivo <caminho>] [--doc-lida <caminho>] [--json]",
155
- "sema author briefing <arquivo.sema> [--json]",
156
- "sema author revisar-cliches <arquivo.sema> [--texto <texto>|--texto-arquivo <arquivo>] [--texto-anterior <texto>|--texto-anterior-arquivo <arquivo>] [--json]",
157
- "sema author validar-narrativa <arquivo.sema> [--texto <texto>|--texto-arquivo <arquivo>] [--json]",
158
- "sema author validar-proibicoes <arquivo.sema> [--texto <texto>|--texto-arquivo <arquivo>] [--json]",
159
- "sema profile validar <profile> <arquivo.sema> [--maturidade draft|prototype|production|critical] [--preset <preset>] [--artefato <texto>|--artefato-arquivo <arquivo>] [--json]",
160
- "sema profile capabilities [--json]",
161
- "sema descobrir <catalogo|recomendar|explicar> [id] [--intencao <objetivo>] [--json]",
162
- "sema pipeline <listar|descrever> [id] [--json]",
163
- "sema capabilities [--json]",
164
- "sema interativo <capabilities|schema|pipelines|adapters|validar|planejar|validar-evidencias|status|validar-protocolo|extensões-P0-P2> [opções] [--json]",
165
- "sema conteudo <capabilities|validar|planejar|validar-envelope|registrar|status|projetar> [--trust-root-digest <sha256:...>] [--revocation-digest <sha256:...>] [--expected-head <sha256:...>] [opções] [--json]",
166
- "sema rule-packs [--profile <profile>] [--json]",
167
- ]),
168
- "",
169
- renderizarSecaoAscii("Operacional", [
170
- "sema doctor",
171
- "sema --versao | --version | -v",
172
- ]),
173
- ].join("\n");
16
+ return criarAjudaRaiz(VERSAO_CLI);
174
17
  }
175
- export function resolverOpcoesDriftCli(args) {
18
+ function criarOpcoesDriftCli(args, resolucao) {
176
19
  const escopo = obterOpcao(args, "--escopo");
177
20
  return {
178
21
  escopo: escopo === "arquivo" || escopo === "modulo" || escopo === "projeto" ? escopo : undefined,
179
22
  ignorarWorktrees: !possuiFlag(args, "--incluir-worktrees"),
180
23
  ignorarConsumidoresLaterais: !possuiFlag(args, "--incluir-consumidores-laterais"),
24
+ modoCache: resolucao.modo,
25
+ avisosModoCache: resolucao.avisos,
26
+ };
27
+ }
28
+ export function resolverOpcoesDriftCli(args) {
29
+ return criarOpcoesDriftCli(args, resolverModoCacheComandoDrift(args));
30
+ }
31
+ export function resolverAnaliseDriftConsultaCli(args, comando) {
32
+ const resolucao = resolverModoCacheConsultaDrift(args, comando);
33
+ return {
34
+ ...resolucao,
35
+ opcoes: criarOpcoesDriftCli(args, resolucao),
181
36
  };
182
37
  }
183
38
  export function normalizarTamanhoResumo(args) {
@@ -251,9 +106,9 @@ export function renderizarCabecalhoDocsIa(descoberta) {
251
106
  "Modo IA-first da instalacao atual",
252
107
  "- Use `sema` como interface publica principal.",
253
108
  "- A Sema entra em projeto novo, projeto ja semantizado e adocao incremental em legado sem contrato inicial.",
254
- "- Nao assuma monorepo, `node pacotes/cli/dist/index.js`, `npm run project:check` ou uma pasta `exemplos` externa ao projeto atual.",
255
- "- Se a IA tiver contexto curto, comece por `sema resumo` e `sema prompt-curto`.",
256
- "- Se a IA aguentar mais contexto, suba para `sema drift --json` e `sema contexto-ia`.",
109
+ "- Nao assuma monorepo, `node pacotes/cli/dist/bin.js`, `npm run project:check` ou uma pasta `exemplos` externa ao projeto atual.",
110
+ "- Se a IA tiver contexto curto, comece por `sema resumo --drift none` e `sema prompt-curto`; implementação e score ficam não avaliados.",
111
+ "- Se a IA aguentar mais contexto e precisar de evidência viva, suba para `sema drift --cache fresh --json` e `sema contexto-ia`.",
257
112
  "- So leia `ast.json` e `ir.json` completos quando a capacidade da IA realmente aguentar esse volume.",
258
113
  ];
259
114
  if (documentos.length > 0) {