@semacode/cli 1.5.48 → 1.5.52

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 (281) hide show
  1. package/LICENSE +39 -21
  2. package/README.md +47 -48
  3. package/dist/agentContext.d.ts +2 -2
  4. package/dist/agentContext.js +1 -1
  5. package/dist/agentContextPack.d.ts +1 -1
  6. package/dist/agentContextPack.js +20 -28
  7. package/dist/agentContextTipos.d.ts +2 -2
  8. package/dist/agentContextTipos.js +7 -13
  9. package/dist/agentEntryPoints.js +244 -281
  10. package/dist/billing/index.d.ts +1 -58
  11. package/dist/billing/index.js +17 -278
  12. package/dist/cliArgs.js +0 -3
  13. package/dist/comandos.js +15 -131
  14. package/dist/contexto.d.ts +0 -9
  15. package/dist/contexto.js +59 -109
  16. package/dist/docs.part01.js +30 -51
  17. package/dist/drift.part14.js +18 -3
  18. package/dist/driftOrcamento.js +1 -2
  19. package/dist/index.d.ts +0 -6
  20. package/dist/index.js +0 -6
  21. package/dist/index.part01.d.ts +1 -1
  22. package/dist/index.part01.js +1 -3
  23. package/dist/index.part04.js +4 -4
  24. package/dist/index.part08.js +1 -22
  25. package/dist/initTemplatesBase.js +5 -5
  26. package/dist/sync/index.js +1 -1
  27. package/docs/README.md +19 -0
  28. package/docs/ai-integration.md +90 -0
  29. package/docs/ai-onboarding.md +33 -0
  30. package/docs/ai-workflow.md +62 -0
  31. package/docs/auth.md +16 -0
  32. package/docs/cli.md +36 -95
  33. package/docs/commands.md +90 -0
  34. package/docs/database.md +15 -0
  35. package/docs/deploy.md +6 -38
  36. package/docs/documentation.md +39 -0
  37. package/docs/env.md +8 -109
  38. package/docs/frontend.md +41 -0
  39. package/docs/getting-started.md +33 -0
  40. package/docs/i18n.md +15 -0
  41. package/docs/profiles.md +43 -0
  42. package/docs/repositories.md +19 -61
  43. package/docs/rollback.md +9 -20
  44. package/docs/security.md +24 -0
  45. package/docs/support.md +8 -0
  46. package/docs/syntax.md +128 -0
  47. package/docs/testing.md +17 -0
  48. package/docs/vocabulary.md +28 -0
  49. package/node_modules/@sema/gerador-css/package.json +1 -1
  50. package/node_modules/@sema/gerador-dart/package.json +1 -1
  51. package/node_modules/@sema/gerador-html/package.json +1 -1
  52. package/node_modules/@sema/gerador-javascript/package.json +1 -1
  53. package/node_modules/@sema/gerador-lua/dist/index.js +10 -0
  54. package/node_modules/@sema/gerador-lua/dist/index.js.map +1 -1
  55. package/node_modules/@sema/gerador-lua/package.json +1 -1
  56. package/node_modules/@sema/gerador-python/package.json +1 -1
  57. package/node_modules/@sema/gerador-typescript/package.json +1 -1
  58. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +1 -1
  59. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +1 -1
  60. package/node_modules/@sema/nucleo/package.json +1 -1
  61. package/node_modules/@sema/padroes/package.json +1 -1
  62. package/package.json +15 -22
  63. package/AGENTS.md +0 -81
  64. package/AGENT_CONTEXT_PACK.json +0 -500
  65. package/SEMA_BRIEF.curto.txt +0 -18
  66. package/SEMA_BRIEF.md +0 -726
  67. package/SEMA_BRIEF.micro.txt +0 -16
  68. package/SEMA_INDEX.json +0 -11078
  69. package/dist/agentContext.js.map +0 -1
  70. package/dist/agentContextPack.js.map +0 -1
  71. package/dist/agentContextTipos.js.map +0 -1
  72. package/dist/agentEntryPoints.js.map +0 -1
  73. package/dist/angular-consumer-standalone.js.map +0 -1
  74. package/dist/authorAnalise.js.map +0 -1
  75. package/dist/authorPoliticas.js.map +0 -1
  76. package/dist/billing/index.js.map +0 -1
  77. package/dist/bridge.d.ts +0 -52
  78. package/dist/bridge.js +0 -333
  79. package/dist/bridge.js.map +0 -1
  80. package/dist/carregarModulos.js.map +0 -1
  81. package/dist/cliArgs.js.map +0 -1
  82. package/dist/comandos.js.map +0 -1
  83. package/dist/contexto.js.map +0 -1
  84. package/dist/controleComercialSupabase.d.ts +0 -7
  85. package/dist/controleComercialSupabase.js +0 -6
  86. package/dist/controleComercialSupabase.js.map +0 -1
  87. package/dist/controleComercialSupabaseAdmin.d.ts +0 -7
  88. package/dist/controleComercialSupabaseAdmin.js +0 -138
  89. package/dist/controleComercialSupabaseAdmin.js.map +0 -1
  90. package/dist/controleComercialSupabaseCadastro.d.ts +0 -4
  91. package/dist/controleComercialSupabaseCadastro.js +0 -85
  92. package/dist/controleComercialSupabaseCadastro.js.map +0 -1
  93. package/dist/controleComercialSupabaseConstantes.d.ts +0 -28
  94. package/dist/controleComercialSupabaseConstantes.js +0 -44
  95. package/dist/controleComercialSupabaseConstantes.js.map +0 -1
  96. package/dist/controleComercialSupabaseConsumo.d.ts +0 -2
  97. package/dist/controleComercialSupabaseConsumo.js +0 -77
  98. package/dist/controleComercialSupabaseConsumo.js.map +0 -1
  99. package/dist/controleComercialSupabaseConta.d.ts +0 -11
  100. package/dist/controleComercialSupabaseConta.js +0 -157
  101. package/dist/controleComercialSupabaseConta.js.map +0 -1
  102. package/dist/controleComercialSupabaseProfiles.d.ts +0 -4
  103. package/dist/controleComercialSupabaseProfiles.js +0 -55
  104. package/dist/controleComercialSupabaseProfiles.js.map +0 -1
  105. package/dist/controleComercialSupabaseTipos.d.ts +0 -3
  106. package/dist/controleComercialSupabaseTipos.js +0 -2
  107. package/dist/controleComercialSupabaseTipos.js.map +0 -1
  108. package/dist/controleComercialSupabaseTiposAdmin.d.ts +0 -152
  109. package/dist/controleComercialSupabaseTiposAdmin.js +0 -2
  110. package/dist/controleComercialSupabaseTiposAdmin.js.map +0 -1
  111. package/dist/controleComercialSupabaseTiposBase.d.ts +0 -169
  112. package/dist/controleComercialSupabaseTiposBase.js +0 -2
  113. package/dist/controleComercialSupabaseTiposBase.js.map +0 -1
  114. package/dist/controleComercialSupabaseTiposConta.d.ts +0 -220
  115. package/dist/controleComercialSupabaseTiposConta.js +0 -2
  116. package/dist/controleComercialSupabaseTiposConta.js.map +0 -1
  117. package/dist/cpp-symbols.js.map +0 -1
  118. package/dist/dev/index.js.map +0 -1
  119. package/dist/dev/watcher.js.map +0 -1
  120. package/dist/docs/resolver.js.map +0 -1
  121. package/dist/docs.js.map +0 -1
  122. package/dist/docs.part01.js.map +0 -1
  123. package/dist/docs.part02.js.map +0 -1
  124. package/dist/doctorCommand.js.map +0 -1
  125. package/dist/dotnet-http.js.map +0 -1
  126. package/dist/drift.contrato.js.map +0 -1
  127. package/dist/drift.js.map +0 -1
  128. package/dist/drift.part01.js.map +0 -1
  129. package/dist/drift.part02.js.map +0 -1
  130. package/dist/drift.part03.js.map +0 -1
  131. package/dist/drift.part04.js.map +0 -1
  132. package/dist/drift.part05.js.map +0 -1
  133. package/dist/drift.part06.js.map +0 -1
  134. package/dist/drift.part07.js.map +0 -1
  135. package/dist/drift.part08.js.map +0 -1
  136. package/dist/drift.part09.js.map +0 -1
  137. package/dist/drift.part10.js.map +0 -1
  138. package/dist/drift.part11.js.map +0 -1
  139. package/dist/drift.part12.js.map +0 -1
  140. package/dist/drift.part13.js.map +0 -1
  141. package/dist/drift.part14.js.map +0 -1
  142. package/dist/driftOrcamento.js.map +0 -1
  143. package/dist/driftScore.js.map +0 -1
  144. package/dist/execucoesExternas.js.map +0 -1
  145. package/dist/exemplosOficiais.js.map +0 -1
  146. package/dist/fsGovernado.js.map +0 -1
  147. package/dist/geracaoCore.js.map +0 -1
  148. package/dist/go-http.js.map +0 -1
  149. package/dist/guard.js.map +0 -1
  150. package/dist/iaPrompts.js.map +0 -1
  151. package/dist/importador.js.map +0 -1
  152. package/dist/importador.part01.js.map +0 -1
  153. package/dist/importador.part02.js.map +0 -1
  154. package/dist/importador.part03.js.map +0 -1
  155. package/dist/importador.part04.js.map +0 -1
  156. package/dist/importador.part05.js.map +0 -1
  157. package/dist/importador.part06.js.map +0 -1
  158. package/dist/importador.part07.js.map +0 -1
  159. package/dist/importador.part08.js.map +0 -1
  160. package/dist/importador.part09.js.map +0 -1
  161. package/dist/index.js.map +0 -1
  162. package/dist/index.part01.js.map +0 -1
  163. package/dist/index.part02.js.map +0 -1
  164. package/dist/index.part03.js.map +0 -1
  165. package/dist/index.part04.js.map +0 -1
  166. package/dist/index.part05.js.map +0 -1
  167. package/dist/index.part06.js.map +0 -1
  168. package/dist/index.part07.js.map +0 -1
  169. package/dist/index.part08.js.map +0 -1
  170. package/dist/init/index.js.map +0 -1
  171. package/dist/init/templates.js.map +0 -1
  172. package/dist/init/templates.part01.js.map +0 -1
  173. package/dist/init/templates.part02.js.map +0 -1
  174. package/dist/initCommand.js.map +0 -1
  175. package/dist/initTemplatesBackend.js.map +0 -1
  176. package/dist/initTemplatesBase.js.map +0 -1
  177. package/dist/initTemplatesFlutter.js.map +0 -1
  178. package/dist/initTemplatesRuntime.js.map +0 -1
  179. package/dist/initTemplatesWeb.js.map +0 -1
  180. package/dist/java-http.js.map +0 -1
  181. package/dist/lua-symbols.js.map +0 -1
  182. package/dist/mcpInstalarChaveCommand.d.ts +0 -1
  183. package/dist/mcpInstalarChaveCommand.js +0 -168
  184. package/dist/mcpInstalarChaveCommand.js.map +0 -1
  185. package/dist/mcpRemoto.d.ts +0 -32
  186. package/dist/mcpRemoto.js +0 -61
  187. package/dist/mcpRemoto.js.map +0 -1
  188. package/dist/mcp_chave.d.ts +0 -1
  189. package/dist/mcp_chave.js +0 -4
  190. package/dist/mcp_chave.js.map +0 -1
  191. package/dist/profileArtefatoBase.js.map +0 -1
  192. package/dist/profileArtefatoValidadores.js.map +0 -1
  193. package/dist/profileAuthorCommand.js.map +0 -1
  194. package/dist/profileAuthorTipos.js.map +0 -1
  195. package/dist/profileCatalogo.js.map +0 -1
  196. package/dist/profileCommand.js.map +0 -1
  197. package/dist/profileI18nCatalogo.js.map +0 -1
  198. package/dist/profileI18nVisivel.js.map +0 -1
  199. package/dist/profileOrquestracao.js.map +0 -1
  200. package/dist/profileRegras.js.map +0 -1
  201. package/dist/profileRulePacks.js.map +0 -1
  202. package/dist/profiles/validate.js.map +0 -1
  203. package/dist/projeto.js.map +0 -1
  204. package/dist/projetoBusca.js.map +0 -1
  205. package/dist/projetoCarregar.js.map +0 -1
  206. package/dist/projetoConfig.js.map +0 -1
  207. package/dist/projetoLegado.js.map +0 -1
  208. package/dist/projetoOrigens.js.map +0 -1
  209. package/dist/projetoResolucao.js.map +0 -1
  210. package/dist/projetoTipos.js.map +0 -1
  211. package/dist/python-http.js.map +0 -1
  212. package/dist/runnerValidacaoRemota.d.ts +0 -9
  213. package/dist/runnerValidacaoRemota.js +0 -9
  214. package/dist/runnerValidacaoRemota.js.map +0 -1
  215. package/dist/runnerValidacaoRemotaBateria.d.ts +0 -10
  216. package/dist/runnerValidacaoRemotaBateria.js +0 -117
  217. package/dist/runnerValidacaoRemotaBateria.js.map +0 -1
  218. package/dist/runnerValidacaoRemotaCli.d.ts +0 -4
  219. package/dist/runnerValidacaoRemotaCli.js +0 -86
  220. package/dist/runnerValidacaoRemotaCli.js.map +0 -1
  221. package/dist/runnerValidacaoRemotaComandos.d.ts +0 -7
  222. package/dist/runnerValidacaoRemotaComandos.js +0 -123
  223. package/dist/runnerValidacaoRemotaComandos.js.map +0 -1
  224. package/dist/runnerValidacaoRemotaEscopo.d.ts +0 -4
  225. package/dist/runnerValidacaoRemotaEscopo.js +0 -79
  226. package/dist/runnerValidacaoRemotaEscopo.js.map +0 -1
  227. package/dist/runnerValidacaoRemotaExecucao.d.ts +0 -2
  228. package/dist/runnerValidacaoRemotaExecucao.js +0 -104
  229. package/dist/runnerValidacaoRemotaExecucao.js.map +0 -1
  230. package/dist/runnerValidacaoRemotaRelatorio.d.ts +0 -3
  231. package/dist/runnerValidacaoRemotaRelatorio.js +0 -95
  232. package/dist/runnerValidacaoRemotaRelatorio.js.map +0 -1
  233. package/dist/runnerValidacaoRemotaServidor.d.ts +0 -4
  234. package/dist/runnerValidacaoRemotaServidor.js +0 -185
  235. package/dist/runnerValidacaoRemotaServidor.js.map +0 -1
  236. package/dist/runnerValidacaoRemotaSnapshot.d.ts +0 -10
  237. package/dist/runnerValidacaoRemotaSnapshot.js +0 -219
  238. package/dist/runnerValidacaoRemotaSnapshot.js.map +0 -1
  239. package/dist/runnerValidacaoRemotaTipos.d.ts +0 -158
  240. package/dist/runnerValidacaoRemotaTipos.js +0 -35
  241. package/dist/runnerValidacaoRemotaTipos.js.map +0 -1
  242. package/dist/runnerValidacaoRemotaUtil.d.ts +0 -3
  243. package/dist/runnerValidacaoRemotaUtil.js +0 -18
  244. package/dist/runnerValidacaoRemotaUtil.js.map +0 -1
  245. package/dist/runnerValidacaoRemotaWorkspace.d.ts +0 -2
  246. package/dist/runnerValidacaoRemotaWorkspace.js +0 -115
  247. package/dist/runnerValidacaoRemotaWorkspace.js.map +0 -1
  248. package/dist/rust-http.js.map +0 -1
  249. package/dist/semaChatCommand.d.ts +0 -1
  250. package/dist/semaChatCommand.js +0 -43
  251. package/dist/semaChatCommand.js.map +0 -1
  252. package/dist/semaChatRuntime.d.ts +0 -23
  253. package/dist/semaChatRuntime.js +0 -202
  254. package/dist/semaChatRuntime.js.map +0 -1
  255. package/dist/sync/index.js.map +0 -1
  256. package/dist/textoListas.js.map +0 -1
  257. package/dist/tipos.js.map +0 -1
  258. package/dist/typescript-http-body.js.map +0 -1
  259. package/dist/typescript-http-expressoes.js.map +0 -1
  260. package/dist/typescript-http-modelos.js.map +0 -1
  261. package/dist/typescript-http-rotas.js.map +0 -1
  262. package/dist/typescript-http-semantica.js.map +0 -1
  263. package/dist/typescript-http.js.map +0 -1
  264. package/docs/AGENT_STARTER.md +0 -147
  265. package/docs/agentes-por-capacidade.md +0 -130
  266. package/docs/api.md +0 -82
  267. package/docs/comandos.md +0 -807
  268. package/docs/como-ensinar-a-sema-para-ia.md +0 -30
  269. package/docs/documentacao.md +0 -74
  270. package/docs/extensao-vscode.md +0 -49
  271. package/docs/fluxo-pratico-ia-sema.md +0 -278
  272. package/docs/instalacao-e-primeiro-uso.md +0 -60
  273. package/docs/integracao-com-ia.md +0 -44
  274. package/docs/mcp.md +0 -69
  275. package/docs/pagamento-ponta-a-ponta.md +0 -171
  276. package/docs/persistencia-vendor-first.md +0 -151
  277. package/docs/prompt-base-ia-sema.md +0 -111
  278. package/docs/seguranca.md +0 -126
  279. package/docs/sintaxe.md +0 -390
  280. package/llms-full.txt +0 -40
  281. package/llms.txt +0 -23
@@ -1,30 +0,0 @@
1
- # Como Ensinar a Sema para IA
2
-
3
- <!-- sema:i18n -->
4
- > EN: English first.
5
- > PT: Português depois, com acentos preservados.
6
- > ES: Español al final.
7
-
8
- ## English
9
-
10
- Sema is taught to an AI through operational context, not through vague explanations. The agent needs syntax, semantics, intermediate representation, examples, and the project contract before it touches code or documents.
11
-
12
- In local IDEs, the first step is to confirm that `AGENTS.md` exists in the project root and run `sema --version`. If the command is missing, stop and ask the human to open the Sema panel and run the key installer. Then run `sema preflight resumo --json`; if the decision is not `use_cli_local`, stop. With CLI authorized, run `sema resumo`, `sema docs-impacto`, `sema inspecionar`, `sema drift`, and `sema impacto` locally. Do not call remote MCP, `sema_sync`, `sema_contratos_sincronizar`, or `sema mcp-client` to read a local workspace. In web chats, do not download files into the chat environment; call `sema_chat_contexto` and then `sema_sync` with contract, selected code, operational docs, and an index.
13
-
14
- The correct framing is simple: contract first, evidence before action, and no guessing from raw code when Sema can provide summary, drift, impact, and required docs.
15
-
16
- ## Português
17
-
18
- A Sema é ensinada para IA por contexto operacional, não por explicação vaga. O agente precisa de sintaxe, semântica, representação intermediária, exemplos e contrato do projeto antes de tocar código ou documentos.
19
-
20
- Em IDE local, o primeiro passo é confirmar que `AGENTS.md` existe na raiz do projeto e rodar `sema --version`. Se o comando não existir, pare. A IA não acessa o painel Sema: peça ao humano para abrir o painel e rodar o instalador de chave. Depois rode `sema preflight resumo --json`; se a decisão não for `use_cli_local`, pare. Com CLI autorizada, rode `sema resumo`, `sema docs-impacto`, `sema inspecionar`, `sema drift` e `sema impacto` localmente. Não chame MCP remoto, `sema_sync`, `sema_contratos_sincronizar` nem `sema mcp-client` para ler workspace local. Em chats web, não baixe arquivos no ambiente do chat; chame `sema_chat_contexto` e depois `sema_sync` com contrato, código selecionado, docs operacionais e índice.
21
-
22
- A moldura correta é simples: contrato primeiro, evidência antes da ação e nada de adivinhar lendo código cru quando a Sema pode entregar resumo, drift, impacto e docs obrigatórias.
23
-
24
- ## Español
25
-
26
- Sema se enseña a una IA con contexto operativo, no con explicaciones vagas. El agente necesita sintaxis, semántica, representación intermedia, ejemplos y contrato del proyecto antes de tocar código o documentos.
27
-
28
- En una IDE local, el primer paso es confirmar que `AGENTS.md` existe en la raíz del proyecto y ejecutar `sema --version`. Si el comando no existe, para y pide al humano que abra el panel Sema y ejecute el instalador de clave. Después ejecuta `sema preflight resumo --json`; si la decisión no es `use_cli_local`, para. Con la CLI autorizada, ejecuta `sema resumo`, `sema docs-impacto`, `sema inspecionar`, `sema drift` y `sema impacto` localmente. No llames el MCP remoto, `sema_sync`, `sema_contratos_sincronizar` ni `sema mcp-client` para leer un workspace local. En chats web, no descargues archivos en el entorno del chat; llama `sema_chat_contexto` y después `sema_sync` con contrato, código seleccionado, docs operativas e índice.
29
-
30
- El encuadre correcto es simple: contrato primero, evidencia antes de la acción y nada de adivinar leyendo código crudo cuando Sema puede entregar resumen, drift, impacto y docs obligatorias.
@@ -1,74 +0,0 @@
1
- # Governança De Documentação
2
-
3
- A Sema trata documentação como parte da mudança. README, runbook, contrato,
4
- instrução para IA, guia de CLI, deploy e rollback não são enfeites: são
5
- superfícies governadas.
6
-
7
- Antes de uma IA editar contrato, código, configuração, workflow, deploy, texto
8
- Author, regra de jogo, nota jurídica, pesquisa, operação ou README, ela precisa
9
- resolver qual documentação explica a intenção da mudança.
10
-
11
- ## Idioma
12
-
13
- Documentação interna da Sema é em PT-BR por padrão, com acentos preservados e
14
- sem mojibake. Inglês e espanhol não são obrigatórios em documento privado.
15
-
16
- Documentação multilíngue só entra quando a superfície for externa ou quando o
17
- contrato pedir explicitamente outro idioma. Comandos, identificadores, caminhos,
18
- variáveis, endpoints, pacotes e símbolos `.sema` continuam literais.
19
-
20
- ## Trava Operacional
21
-
22
- ```bash
23
- sema docs-impacto --intencao "criar rota de pagamento" --arquivo contratos/pagamento.sema --json
24
- ```
25
-
26
- O resultado informa:
27
-
28
- - `leituraObrigatoria`: documentos, READMEs e contratos que precisam ser lidos;
29
- - `docsAusentes`: documentação que bloqueia a mudança;
30
- - `docsCriadas`: esqueletos criados automaticamente quando autorizado;
31
- - `bloqueios`: diagnósticos de severidade 4.
32
-
33
- Documento criado automaticamente é rascunho. A IA precisa trocar template
34
- genérico por procedimento real, validação real e rollback real antes de
35
- considerar a mudança fechada.
36
-
37
- ## Fechamento
38
-
39
- Antes de dizer que terminou, o agente roda:
40
-
41
- ```bash
42
- sema finalizar-mudanca \
43
- --intencao "criar rota de pagamento" \
44
- --doc-lida README.md \
45
- --doc-lida docs/documentacao.md \
46
- --json
47
- ```
48
-
49
- Se houver leitura obrigatória não comprovada, documento ausente, template cru ou
50
- diagnóstico de severidade 4, a mudança não está concluída.
51
-
52
- ## Regra Para README
53
-
54
- O README principal deste repositório é manual interno. Ele deve explicar o Sema
55
- com profundidade suficiente para uma IA local operar sem inventar fluxo:
56
-
57
- - superfície CLI local;
58
- - superfície MCP remoto;
59
- - pré-checagem e SEMAS;
60
- - contratos `.sema`;
61
- - desvio semântico e impacto;
62
- - geração automática de código;
63
- - importação de legado;
64
- - templates de projeto novo;
65
- - contexto IA;
66
- - profiles;
67
- - Author;
68
- - documentação como trava;
69
- - comandos de sanidade;
70
- - fronteira privada.
71
-
72
- Se uma função importante existe na CLI, o README deve descrevê-la ou apontar
73
- para a documentação específica. README curto demais vira convite para IA
74
- apressada fazer besteira com confiança.
@@ -1,49 +0,0 @@
1
- # Extensão VS Code
2
-
3
- A extensão VS Code faz parte do fluxo privado da Sema. Ela ajuda humanos e IAs
4
- em IDE local a escrever contratos `.sema`, receber feedback rápido e manter o
5
- projeto preso ao fluxo correto: CLI local primeiro, contrato antes de código e
6
- fechamento governado.
7
-
8
- Esta extensão é o **Sema Guard**. Ela é guarda, diagnóstico e apoio de autoria.
9
- Ela não é o Sema Chat, não deve ser tratada como produto principal de chat e não
10
- deve virar gambiarra visual em cima de botões. O Sema Chat local nasce sobre o
11
- runtime OpenCode, documentado em
12
- [`docs/sema-chat-opencode.md`](./sema-chat-opencode.md).
13
-
14
- Ela não substitui o painel, a chave local, a CLI, o MCP remoto nem a validação
15
- final.
16
-
17
- ## Fluxo Obrigatório
18
-
19
- 1. Abrir o projeto no VS Code.
20
- 2. Ler `AGENTS.md`.
21
- 3. Rodar `sema --version`.
22
- 4. Se o comando não existir, parar. A IA não acessa o painel Sema: peça ao
23
- humano para abrir o painel e rodar o instalador de chave/CLI.
24
- 5. Rodar `sema preflight resumo --json` e exigir `use_cli_local`.
25
- 6. Editar ou criar o contrato `.sema` aplicável antes de alterar código.
26
- 7. Usar a extensão para autoria, snippets, hover, formatação e diagnóstico.
27
- 8. Fechar pela CLI com `validar`, `drift`, `impacto`, testes e
28
- `finalizar-mudanca`.
29
-
30
- ## Empacotar E Instalar Localmente
31
-
32
- ```bash
33
- npm run extensao:empacotar
34
- code --install-extension .tmp/editor-vscode/sema-language-tools-1.5.48.vsix --force
35
- ```
36
-
37
- ## Limites
38
-
39
- A extensão não deve:
40
-
41
- - fingir que é chat visual;
42
- - substituir o runtime OpenCode do Sema Chat;
43
- - tratar `sema chat doctor --json` como produto final;
44
- - instalar chave sozinha;
45
- - consultar o painel como se fosse humano;
46
- - usar MCP remoto para ler workspace local;
47
- - publicar pacote;
48
- - dizer que uma mudança está concluída sem CLI;
49
- - substituir contrato por README ou comentário de código.
@@ -1,278 +0,0 @@
1
- <!-- sema:agent-entrypoint:start -->
2
- # Fluxo Pratico IA + Sema
3
-
4
- Este e o fluxo minimo para agentes em workspace local.
5
-
6
- 1. Leia `SEMA_BOOT.md`.
7
- 2. Rode `sema --version`.
8
- 3. Rode `sema preflight resumo --json` e continue apenas se retornar `use_cli_local`.
9
- 4. Rode `sema resumo`.
10
- 5. Rode `sema docs-impacto --intencao "<acao>" --json`.
11
- 6. Leia a documentacao obrigatoria retornada.
12
- 7. Antes de escolher comando ou interpretar `--saida`, leia `docs/comandos.md`.
13
- 8. Antes de criar ou editar contrato, use `exemplos/` e `docs/sintaxe.md`.
14
- 9. Antes de editar codigo existente, rode `sema drift` e `sema impacto`.
15
- 10. Depois de alterar `.sema`, rode `sema formatar` e `sema validar`.
16
- 11. Antes de concluir, rode `sema finalizar-mudanca` com as docs lidas.
17
-
18
- Regra de edicao de contrato: `.sema` tem limite proprio. Acima de 300 linhas, planeje split por dominio/capacidade; acima de 500, nao crie nem edite antes de dividir. Nao use parte_1/parte_2 e nao force relacao 1:1 entre contrato e arquivo; varios contratos podem governar o mesmo arquivo por `vinculos`.
19
-
20
- Regra de fechamento: `sema drift --json` precisa retornar `sucesso:true`. Se houver `sucesso:false`, `vinculos_quebrados`, `rotas_divergentes` ou impl quebrada, a tarefa ainda esta bloqueada. Teste unitario verde nao substitui drift verde.
21
-
22
- Regra de UI: se a tarefa envolve interface, a evidencia minima inclui desktop e mobile. Em viewport estreito como 390px, `document.documentElement.scrollWidth <= document.documentElement.clientWidth` precisa passar; scroll horizontal bloqueia a conclusao.
23
-
24
- ## Capacidade
25
-
26
- - IA fraca: `SEMA_SMALL_MODEL.md`, `SEMA_BRIEF.micro.txt`, `AGENT_CONTEXT_PACK.json`, `SEMA_INDEX.json`.
27
- - IA media: `SEMA_BOOT.md`, `AGENT_CONTEXT_PACK.json`, `SEMA_BRIEF.curto.txt`, `SEMA_INDEX.json`, `AGENTS.md`.
28
- - IA forte: `SEMA_BOOT.md`, `AGENT_CONTEXT_PACK.json`, `SEMA_BRIEF.md`, `SEMA_INDEX.json`, AST, IR, drift e impacto.
29
-
30
- ## Quando gerar codigo
31
-
32
- Se a entrega inclui codigo derivado do contrato, rode `sema compilar`.
33
-
34
- ```bash
35
- sema compilar contratos/pedidos.sema --alvo javascript --saida ./generated/javascript
36
- ```
37
-
38
- Troque `javascript` por `typescript`, `python`, `dart`, `lua`, `html` ou `css` quando fizer sentido.
39
-
40
- ## Falha fechada
41
-
42
- - Se não conseguir chamar Sema, pare e declare bloqueio em vez de editar código ou contrato.
43
- - Se não houver contrato aplicável ou vínculo semântico do arquivo, inspecione o arquivo, descubra ou crie o .sema aplicável e vincule antes do código.
44
- - Em IDE local, rode sema --version; se falhar, pare. A IA não acessa o painel Sema: peça ao humano para instalar a CLI pelo painel. Depois rode sema preflight <comando> --json; só continue com use_cli_local; não use rota remota, sincronização externa ou leitura por espelho para workspace local.
45
- - Se não houver workspace local em disco, pare bloqueado e peça o fluxo apropriado; não invente caminho nem substitua a CLI local por ferramenta paralela.
46
- - Se arquivos_codigo.conteudo ou conteudo inline passar de 262144 caracteres, não aumente timeout para forçar: divida por responsabilidade ou use anexo/caminho de servidor autorizado.
47
- - Se for criar ou corrigir .sema, use sema_exemplos antes de escrever sintaxe.
48
- - Se a resposta humana estiver em PT-BR, use vocabulário Sema canônico e preserve acentos mesmo que a DSL use ASCII.
49
- - Se um arquivo de código tiver SEMA-GOVERNED, consulte Sema e o contrato aplicável antes de editar.
50
- - Se codigo governado passar de 1000 linhas, planeje divisao; se passar de 2000, pare e divida antes de concluir. Documentacao Markdown nao entra nesse limite de codigo.
51
- - Se contrato .sema passar de 300 linhas, planeje split por dominio/capacidade; acima de 500, criacao e edicao ficam bloqueadas. Nao use parte_1/parte_2 e nao remova guarantees, tests ou vinculos so para caber.
52
- - Um mesmo arquivo de codigo pode ser governado por varios contratos .sema via vinculos; Sema Codigo deve preservar essa rastreabilidade.
53
- - Se score, achados ou decisaoAgente parecerem bons, trate como sinal de triagem e confira evidência concreta no contrato e no código.
54
- - Se validar artefato inline com 100/100, ainda preserve cabeçalho SEMA-GOVERNED no arquivo físico sincronizado.
55
- - Se `sema drift` retornar sucesso:false, `vinculos_quebrados`, `rotas_divergentes` ou impls quebradas, a mudanca nao pode ser declarada concluida; corrija contrato/codigo e rode drift de novo.
56
- - Se a tarefa tiver site, sistema, app, UI, painel, jogo, CLI/TUI ou terminal, nao conclua sem acabamento moderno, contextual e evidenciado; em UI mobile estreita (ex. 390px), `document.documentElement.scrollWidth <= document.documentElement.clientWidth` precisa ser verdadeiro.
57
- - Se texto visivel PT-BR perder acento ou cedilha em termos como descricao, lancamentos, saude ou alimentacao, trate como defeito bloqueante quando houver i18n/idioma declarado.
58
- - Se aparecer caminho de servidor como /srv/sema/projetos, trate como espelho governado, não como pasta local do usuário.
59
- - Se uma chamada Sema estourar por timeout local, aumente o timeout e tente de novo; timeout do agente não libera ação sem Sema.
60
- - Se a plataforma bloquear ou alertar política, trate como bloqueio externo ou falso positivo possível; explique sem tentar contornar filtro.
61
- - Se a tarefa tiver experiência de uso e você não conseguir garantir padrão moderno, contextual e não genérico, pare e peça revisão em vez de entregar coisa engessada.
62
- <!-- sema:agent-entrypoint:end -->
63
-
64
- # Fluxo Pratico para IA Antes de Editar `.sema`
65
-
66
- <!-- sema:i18n -->
67
- > EN: English first. The canonical operational body below may still be in Portuguese until full translation lands.
68
- > PT: Português depois, com acentos preservados.
69
- > ES: Español al final; não traduza comandos, rotas nem sómbolos `.sema` sem contrato.
70
-
71
-
72
- Este documento descreve o fluxo operacional recomendado para qualquer IA antes, durante e depois de alterar arquivos `.sema`.
73
-
74
- Se a IA seguir isso, ela trabalha com contexto. Se não seguir, vira adivinhação gourmet.
75
-
76
- O ponto central: Sema não é texto para agradar humano. É contrato semântico IA-first. Humanos autorizam e revisam; a IA consome o contrato para decidir o próximo movimento.
77
-
78
- Antes de qualquer etapa, classifique a capacidade operacional do agente:
79
-
80
- - IA fraca: leia `SEMA_BOOT.md`, `SEMA_SMALL_MODEL.md` e `SEMA_BRIEF.micro.txt`; se Sema não responder, pare.
81
- - IA média: leia `SEMA_BOOT.md`, `AGENT_CONTEXT_PACK.json`, `SEMA_BRIEF.curto.txt` e `SEMA_INDEX.json`.
82
- - IA forte: pode usar `SEMA_BRIEF.md`, AST, IR e drift completo, mas ainda começa pelo boot.
83
-
84
- Regra de idioma humano: responda no idioma do usuário. Em PT-BR, use acentos, cedilha, pontuação e símbolos normais. A gramática `.sema` pode ser ASCII; texto humano não precisa ser.
85
-
86
- Regra de timeout: timeout local do agente não é falha do Sema. Se `sema resumo`, `drift`, `docs-impacto` ou outro gate estourar, aumente o timeout e tente de novo antes de declarar bloqueio. Para projeto grande, escopo menor vem primeiro: `sema resumo caminho/arquivo.sema --micro --para mudanca`.
87
-
88
- ## Superfície obrigatória
89
-
90
- 1. IDE local com workspace no disco: rode `sema --version`; se falhar, pare. A IA não acessa o painel Sema: peça ao humano para instalar pelo painel. Depois rode `sema preflight resumo --json`. Se `decisao` não for `use_cli_local`, pare bloqueado.
91
- 2. IDE local autorizada: use somente a CLI local para `resumo`, `docs-impacto`, `inspecionar`, `drift`, `impacto`, `validar`, `verificar` e `finalizar-mudanca`.
92
- 3. IDE local proibida: não chame MCP remoto, `sema_sync`, `sema_contratos_sincronizar` nem `sema mcp-client` para ler o workspace local.
93
- 4. Web/chat/remoto sem workspace local: use `sema_chat_contexto`, depois `sema_sync` inline com contrato `.sema`, código selecionado, documentação operacional e índice; use o `projeto` retornado.
94
- 5. Se a IA não consegue identificar se está em IDE local ou web/chat remoto, ela deve parar e declarar bloqueio. Não invente superfície.
95
-
96
- ## Fluxo curto
97
-
98
- 1. identificar a superfície: CLI local ou MCP remoto web/chat
99
- 2. em IDE local, rodar `sema --version`; se falhar, parar. A IA não acessa o painel Sema: pedir ao humano para instalar pelo painel; depois rodar `sema preflight resumo --json` e parar se não retornar `use_cli_local`
100
- 3. ler contexto do projeto
101
- 4. identificar a capacidade da IA
102
- 5. identificar o módulo alvo
103
- 6. consultar o menor artefato semântico suficiente
104
- 7. editar
105
- 8. formatar
106
- 9. validar
107
- 10. verificar
108
-
109
- ## Fluxo detalhado
110
-
111
- ### Etapa 1. Ler contexto mínimo
112
-
113
- Antes de tocar em qualquer arquivo, a IA deve ler:
114
-
115
- - [README.md](../README.md)
116
- - [integração-com-ia.md](./integracao-com-ia.md)
117
- - [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
118
-
119
- Se o trabalho estiver ligado a pagamento, ler também:
120
-
121
- - [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
122
-
123
- ### Etapa 2. Escolher a faixa de capacidade
124
-
125
- Antes de despejar contexto na IA, escolha o que ela aguenta:
126
-
127
- - IA fraca, gratuita ou com pouca disciplina: `sema preflight resumo --json`, `SEMA_BOOT.md`, `SEMA_SMALL_MODEL.md`, `sema resumo --micro` e `briefing.min.json`
128
- - IA média: `sema preflight resumo --json`, `sema resumo --curto`, `briefing.min.json` e `drift.json`
129
- - IA forte: `sema preflight resumo --json`, `contexto-ia`, `briefing.json`, `drift.json`, `ir.json` e `ast.json`
130
-
131
- Se qualquer comando Sema acima estourar timeout definido pela própria IA, ela deve aumentar o timeout e repetir. Timeout do agente não autoriza pular Sema nem concluir que a sessão está inativa.
132
-
133
- ### Etapa 3. Ler o módulo alvo e um exemplo parecido
134
-
135
- A IA deve identificar:
136
-
137
- - qual arquivo sera editado
138
- - qual módulo esse arquivo representa
139
- - qual exemplo oficial mais se parece com o que precisa ser feito
140
-
141
- Regra pratica:
142
-
143
- - automacao: [automacao.sema](../exemplos/automacao.sema)
144
- - erros e fluxos de falha: [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
145
- - borda pública e pagamento: [pagamento.sema](../exemplos/pagamento.sema)
146
-
147
- ### Etapa 4. Consultar AST e IR quando fizer sentido
148
-
149
- Antes de alterar, a IA deve executar:
150
-
151
- ```bash
152
- sema --version
153
- sema preflight resumo --json
154
- sema resumo caminho/arquivo.sema --curto --para mudanca
155
- sema ast caminho/arquivo.sema --json
156
- sema ir caminho/arquivo.sema --json
157
- ```
158
-
159
- Objetivo:
160
-
161
- - ver a forma sintatica quando a capacidade aguentar
162
- - ver a forma semântica resolvida quando a capacidade aguentar
163
- - evitar interpretar errado o contrato
164
-
165
- ### Etapa 5. Editar o `.sema`
166
-
167
- Ao editar, a IA deve:
168
-
169
- - preservar a intenção do módulo
170
- - seguir a gramática existente
171
- - evitar criar bloco ou operador não suportado
172
- - preferir a forma já usada nos exemplos oficiais
173
- - usar blocos existentes como `auth`, `authz`, `dados`, `audit`, `forbidden`, `execucao`, `use`, `state` e `enum` antes de propor sintaxe nova
174
- - evitar teste fraco em task sensível; `expect { sucesso: verdadeiro }` sozinho não prova semântica operacional
175
-
176
- ### Etapa 6. Formatar
177
-
178
- Depois da edição:
179
-
180
- ```bash
181
- sema formatar caminho/arquivo.sema
182
- sema formatar caminho/arquivo.sema --check
183
- ```
184
-
185
- Se `--check` falhar, o trabalho ainda não está pronto.
186
-
187
- ### Etapa 7. Validar e diagnosticar
188
-
189
- Depois da formatacao:
190
-
191
- ```bash
192
- sema validar caminho/arquivo.sema --json
193
- sema diagnosticos caminho/arquivo.sema --json
194
- ```
195
-
196
- Se houver falha:
197
-
198
- - usar os diagnósticos estruturados como contrato de correcao
199
- - não insistir em leitura manual teimosa quando a CLI já disse onde está a merda
200
-
201
- ### Etapa 7.5. Compilar quando a tarefa pedir código derivado
202
-
203
- Se a tarefa não for só editar contrato, mas também gerar base de implementacao, a IA deve rodar explicitamente:
204
-
205
- ```bash
206
- sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
207
- ```
208
-
209
- Ou trocar o alvo para `python`, `dart`, `lua`, `javascript`, `html` ou `css`, conforme o caso.
210
-
211
- Regra pratica:
212
-
213
- - se a entrega inclui código derivado, `sema compilar` não é opcional
214
- - se a IA ignorar `compilar`, ela pode acabar reescrevendo na mao coisa que a Sema já gera sozinha, que é burrice operacional
215
-
216
- ### Etapa 8. Verificar
217
-
218
- No fechamento:
219
-
220
- ```bash
221
- sema verificar arquivo-ou-pasta --json --saida ./.tmp/verificacao-ia
222
- ```
223
-
224
- ## Fluxo mínimo para automacao
225
-
226
- Se voce quiser o menor fluxo aceitavel para uma IA fraca:
227
-
228
- ```bash
229
- sema --version
230
- sema preflight resumo --json
231
- sema resumo caminho/arquivo.sema --micro --para mudanca
232
- sema formatar caminho/arquivo.sema
233
- sema validar caminho/arquivo.sema --json
234
- ```
235
-
236
- Mas, sendo sincero, o fluxo bom mesmo e fechar com `verificar`.
237
-
238
- Se a tarefa envolver código derivado, o fluxo mínimo aceitavel vira:
239
-
240
- ```bash
241
- sema --version
242
- sema preflight resumo --json
243
- sema ir caminho/arquivo.sema --json
244
- sema formatar caminho/arquivo.sema
245
- sema validar caminho/arquivo.sema --json
246
- sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
247
- ```
248
-
249
- ## Checklist de saída
250
-
251
- Antes de considerar a alteracao pronta, a IA deve responder mentalmente:
252
-
253
- - eu entendi o módulo e o contrato?
254
- - eu mantive a sintaxe dentro do que a linguagem suporta?
255
- - eu formatei o arquivo?
256
- - eu validei?
257
- - eu olhei diagnósticos se algo falhou?
258
- - eu fechei com verificação?
259
-
260
- Se alguma resposta for "não", ainda não terminou.
261
-
262
- ## Regra de ouro
263
-
264
- Em Sema, a IA não deveria operar no escuro.
265
-
266
- Ela deve trabalhar sempre com:
267
-
268
- - exemplo oficial
269
- - AST
270
- - IR
271
- - diagnósticos
272
- - formatador
273
-
274
- Esse conjunto e o que faz a linguagem ser amigavel para IA de verdade, e não só no discurso bonito.
275
-
276
- ## Observacao sobre caminhos
277
-
278
- Está documentação usa placeholders de arquivo e pasta, não caminhos do monorepo da Sema. A IA deve adaptar isso ao projeto atual e continuar tratando `sema` como interface pública principal.
@@ -1,60 +0,0 @@
1
- # Instalação e Primeiro Uso
2
-
3
- <!-- sema:i18n -->
4
- > EN: English first.
5
- > PT: Português depois, com acentos preservados.
6
- > ES: Español al final.
7
-
8
- ## English
9
-
10
- Sema is private. Local IDEs use the complete Sema CLI. Web/chat clients without local workspace access use the remote MCP.
11
-
12
- In a local IDE, keep `AGENTS.md` in the project root and run `sema --version`. If the command is missing, stop and ask the human to open the Sema panel, download/run the key installer, and repeat `sema --version`. Then run `sema preflight resumo --json` and stop unless `decisao` is `use_cli_local`. After that, use local CLI commands: `sema resumo`, `sema docs-impacto`, `sema inspecionar`, `sema drift`, `sema impacto`, `sema validar`, and `sema finalizar-mudanca`.
13
-
14
- Do not call remote MCP, `sema_sync`, `sema_contratos_sincronizar`, or `sema mcp-client` to read a local workspace. Those paths are forbidden for local IDE work when the CLI is operational.
15
-
16
- Web chats should use `sema_chat_contexto` and `sema_sync` with inline contract, selected code, operational docs, and index. Web chats must not download files into the chat environment.
17
-
18
- Install the governed CLI/client from npm when a local IDE or VPS mirror needs the `sema` command:
19
-
20
- ```bash
21
- npm install -g @semacode/cli
22
- ```
23
-
24
- The MCP server remains the private web/chat surface. Do not install the MCP from the npm installer package; configure the authorized remote `/mcp` endpoint only for remote clients.
25
-
26
- ## Português
27
-
28
- A Sema é privada. IDE local usa a CLI completa da Sema. Cliente web/chat sem acesso ao workspace local usa MCP remoto.
29
-
30
- Em IDE local, o agente deve manter `AGENTS.md` na raiz e rodar `sema --version`. Se o comando não existir, ele deve parar. A IA não acessa o painel Sema: peça ao humano para abrir o painel, baixar/rodar o instalador de chave e repetir `sema --version`. Depois disso, rode `sema preflight resumo --json` e pare se `decisao` não for `use_cli_local`. Com CLI autorizada, use comandos locais da CLI: `sema resumo`, `sema docs-impacto`, `sema inspecionar`, `sema drift`, `sema impacto`, `sema validar` e `sema finalizar-mudanca`.
31
-
32
- Não chame MCP remoto, `sema_sync`, `sema_contratos_sincronizar` nem `sema mcp-client` para ler workspace local. Esses caminhos são proibidos em IDE local quando a CLI está operacional.
33
-
34
- Chats web devem usar `sema_chat_contexto` e `sema_sync` com contrato inline, código selecionado, docs operacionais e índice. Chats web não devem baixar arquivos no ambiente do chat.
35
-
36
- Instale a CLI/cliente governada pelo npm quando uma IDE local ou espelho na VPS precisar do comando `sema`:
37
-
38
- ```bash
39
- npm install -g @semacode/cli
40
- ```
41
-
42
- O servidor MCP continua sendo a superfície privada para web/chat. Não instale o MCP pelo pacote npm do instalador; configure o endpoint remoto `/mcp` autorizado apenas para clientes remotos.
43
-
44
- ## Español
45
-
46
- Sema es privada. Una IDE local usa la CLI completa de Sema. Un cliente web/chat sin acceso al workspace local usa el MCP remoto.
47
-
48
- En una IDE local, deja `AGENTS.md` en la raíz del proyecto y ejecuta `sema --version`. Si el comando no existe, para y pide al humano que abra el panel Sema, descargue/ejecute el instalador de clave y repita `sema --version`. Después ejecuta `sema preflight resumo --json` y para si `decisao` no es `use_cli_local`. Después usa comandos locales de la CLI: `sema resumo`, `sema docs-impacto`, `sema inspecionar`, `sema drift`, `sema impacto`, `sema validar` y `sema finalizar-mudanca`.
49
-
50
- No llames el MCP remoto, `sema_sync`, `sema_contratos_sincronizar` ni `sema mcp-client` para leer un workspace local. Esos caminos están prohibidos en una IDE local cuando la CLI está operacional.
51
-
52
- Los chats web deben usar `sema_chat_contexto` y `sema_sync` con contrato inline, código seleccionado, docs operativas e índice. Los chats web no deben descargar archivos en el entorno del chat.
53
-
54
- Instala la CLI/cliente gobernada desde npm cuando una IDE local o espejo en la VPS necesite el comando `sema`:
55
-
56
- ```bash
57
- npm install -g @semacode/cli
58
- ```
59
-
60
- El servidor MCP sigue siendo la superficie privada para web/chat. No instales el MCP desde el paquete npm instalador; configura el endpoint remoto `/mcp` autorizado solo para clientes remotos.
@@ -1,44 +0,0 @@
1
- # Integração com IA
2
-
3
- <!-- sema:i18n -->
4
- > EN: English first.
5
- > PT: Português depois, com acentos preservados.
6
- > ES: Español al final.
7
-
8
- ## Regra de idioma humano
9
-
10
- Sema pode usar palavras-chave de DSL em ASCII. A IA não deve copiar essa estética para texto humano.
11
-
12
- - Se o usuário fala português, responda em português com acentos, cedilha, pontuação e símbolos normais.
13
- - Preserve o idioma do usuário em propostas, documentação, mensagens de erro, textos Author, briefing, resposta final e comentários.
14
- - Não traduza comandos, rotas, nomes de arquivos, símbolos de código nem palavras-chave `.sema`.
15
-
16
- ## Agentes fortes, médios e fracos
17
-
18
- - IA fraca: comece por `SEMA_BOOT.md`, `SEMA_SMALL_MODEL.md` e `SEMA_BRIEF.micro.txt`; se Sema não responder, pare.
19
- - IA média: use `SEMA_BOOT.md`, `AGENT_CONTEXT_PACK.json`, `SEMA_BRIEF.curto.txt` e `SEMA_INDEX.json`.
20
- - IA forte: pode usar `SEMA_BRIEF.md`, AST, IR e drift completo, mas continua obedecendo contrato primeiro.
21
-
22
- ## English
23
-
24
- Sema exists for AI agents operating live systems. The agent should ask Sema for preflight, summary, docs impact, drift, impact, profile validation, and finalization instead of guessing from raw code.
25
-
26
- In local IDEs, confirm `AGENTS.md` exists and run `sema --version`. If the command is missing, stop and ask the human to open the Sema panel and run the key installer. Then run `sema preflight resumo --json` and stop unless the decision is `use_cli_local`. Then use local CLI commands: `sema resumo`, `sema docs-impacto`, `sema inspecionar`, `sema drift`, `sema impacto`, `sema validar`, and `sema finalizar-mudanca`. Do not call remote MCP, `sema_sync`, `sema_contratos_sincronizar`, or `sema mcp-client` to read a local workspace.
27
-
28
- In web chats without workspace access, use `sema_chat_contexto` first, then `sema_sync` with contract, selected code, documentation, and index; then use the returned `projeto`. The CLI and MCP use the same commercial control plane and SEMAS account.
29
-
30
- ## Português
31
-
32
- A Sema existe para agentes de IA operarem sistemas vivos. O agente deve pedir preflight, resumo, impacto documental, drift, impacto, validação de profile e finalização para a Sema em vez de adivinhar pelo código cru.
33
-
34
- Em IDE local, confirme que `AGENTS.md` existe e rode `sema --version`. Se o comando não existir, pare. A IA não acessa o painel Sema: peça ao humano para abrir o painel e rodar o instalador de chave. Depois rode `sema preflight resumo --json` e pare se a decisão não for `use_cli_local`. Depois use comandos locais da CLI: `sema resumo`, `sema docs-impacto`, `sema inspecionar`, `sema drift`, `sema impacto`, `sema validar` e `sema finalizar-mudanca`. Não chame MCP remoto, `sema_sync`, `sema_contratos_sincronizar` nem `sema mcp-client` para ler workspace local.
35
-
36
- Em chats web sem acesso ao workspace, use primeiro `sema_chat_contexto`, depois `sema_sync` com contrato, código selecionado, documentação e índice; depois use o `projeto` retornado. CLI e MCP usam o mesmo control plane comercial e a mesma conta de SEMAS.
37
-
38
- ## Español
39
-
40
- Sema existe para agentes de IA que operan sistemas vivos. El agente debe pedir preflight, resumen, impacto documental, drift, impacto, validación de profile y finalización a Sema en vez de adivinar desde código crudo.
41
-
42
- En una IDE local, confirma que `AGENTS.md` existe y ejecuta `sema --version`. Si el comando no existe, para y pide al humano que abra el panel Sema y ejecute el instalador de clave. Después ejecuta `sema preflight resumo --json` y para si la decisión no es `use_cli_local`. Después usa comandos locales de la CLI: `sema resumo`, `sema docs-impacto`, `sema inspecionar`, `sema drift`, `sema impacto`, `sema validar` y `sema finalizar-mudanca`. No llames el MCP remoto, `sema_sync`, `sema_contratos_sincronizar` ni `sema mcp-client` para leer un workspace local.
43
-
44
- En chats web sin acceso al workspace, usa primero `sema_chat_contexto`, después `sema_sync` con contrato, código seleccionado, documentación e índice; después usa el `projeto` devuelto. CLI y MCP usan el mismo control plane comercial y la misma cuenta de SEMAS.
package/docs/mcp.md DELETED
@@ -1,69 +0,0 @@
1
- # Private MCP
2
-
3
- <!-- sema:i18n -->
4
- > EN: English first.
5
- > PT: Português depois.
6
- > ES: Español al final.
7
-
8
- ## English
9
-
10
- The Sema MCP is the private coordinator for agents. It authenticates clients, selects the project or mirror, charges SEMAS, chooses profiles/pipelines, asks the CLI to read or execute, and returns a traceable decision.
11
-
12
- It must stay compatible with web chats. For ChatGPT, Lovable, GPTs, and similar clients, the MCP runs on the VPS and uses the governed CLI installed there against authorized mirrors such as `/srv/sema/projetos/...`.
13
- When the MCP is public or runs as `production`, it fails closed unless billing is enabled, Supabase billing is configured, legacy bearer is absent, OAuth passcode fallback is absent, and CORS is not wildcard. A remote tool call must not execute if SEMAS billing is disabled.
14
-
15
- Local IDEs should not use remote MCP, `sema_sync`, `sema_contratos_sincronizar`, or `sema mcp-client` to read a local workspace. In that mode, the agent must run `sema --version` locally. If the command is missing, the agent must stop and ask the human to open the Sema panel, download/run the key installer, and then repeat `sema --version`. After that, run `sema preflight resumo --json` and continue locally only when the decision is `use_cli_local`.
16
-
17
- The MCP must never pretend that a local Windows path exists on the Linux server. If a local IDE asks the remote MCP to read that path, the next action is to use the local CLI. If a web/chat client has no workspace, the next action is to request or create a mirror/snapshot.
18
-
19
- The app or connector must recognize the remote MCP from connection/authentication even when no project workspace has been synchronized. Missing workspace is not a missing active session. In web/chat, project work must use `sema_sync` with the applicable contract, selected code, documentation, and index. In a local IDE, project work must use CLI preflight and local CLI commands. The remote MCP must not ask for or try to read the user's local folder.
20
-
21
- Official Sema examples and grammar references must be exposed through `sema_exemplos`. Remote agents must not read `C:\GitHub\Sema\exemplos` or any other local user checkout just to learn the DSL.
22
-
23
- Typed snapshot payloads have per-file byte limits for contracts, selected code, and documentation. The MCP exposes those limits in tool schemas and validates them again before writing a mirror or running inline contract operations. Clients must split oversized context into focused files instead of sending an entire repository or hiding the limit from the agent.
24
-
25
- For code snapshots, splitting means responsibility boundaries, not artificial chunks. A web app should become files such as `index.html`, `styles/*.css`, `js/state.js`, `js/render/*.js`, and `data/*.json`, each with `SEMA-GOVERNED` and a human description when governed. Names like `index_p1.html` and `index_p2.html` are only acceptable when they represent real responsibilities; otherwise they are just a workaround and must be rejected.
26
-
27
- Scores, findings, and agent decisions are useful signals, not proof by themselves. The MCP should help the agent connect every finding to concrete contract, code, behavior, and evidence.
28
-
29
- ## Português
30
-
31
- O MCP da Sema é o coordenador privado dos agentes. Ele autentica clientes, escolhe o projeto ou espelho, cobra SEMAS, seleciona profiles/pipelines, pede para a CLI ler ou executar e devolve uma decisão rastreável.
32
-
33
- Ele precisa continuar compatível com chats web. Para ChatGPT, Lovable, GPTs e clientes parecidos, o MCP roda na VPS e usa a CLI governada instalada lá contra espelhos autorizados como `/srv/sema/projetos/...`.
34
- Quando o MCP é publico ou roda como `production`, ele falha fechado se billing nao estiver habilitado, Supabase de billing nao estiver configurado, bearer legado existir, fallback por passcode OAuth existir ou CORS estiver em wildcard. Chamada remota de ferramenta nao deve executar se a cobranca SEMAS estiver desabilitada.
35
-
36
- IDEs locais não devem usar MCP remoto, `sema_sync`, `sema_contratos_sincronizar` nem `sema mcp-client` para ler workspace local. Nesse modo, o agente deve rodar `sema --version` localmente. Se o comando não existir, o agente deve parar e pedir ao humano para abrir o painel Sema, baixar/rodar o instalador de chave e repetir `sema --version`. Depois disso, rode `sema preflight resumo --json` e continue localmente somente quando a decisão for `use_cli_local`.
37
-
38
- O MCP nunca deve fingir que um caminho Windows local existe no servidor Linux. Se uma IDE local pedir ao MCP remoto para ler esse caminho, a próxima ação é usar a CLI local. Se um cliente web/chat não tiver workspace, a próxima ação é pedir ou criar um espelho/snapshot.
39
-
40
- O app ou conector deve reconhecer o MCP remoto pela conexão/autenticação, mesmo sem workspace de projeto sincronizado. Falta de workspace não é falta de sessão ativa. Em web/chat, trabalho de projeto deve usar `sema_sync` com contrato aplicável, código selecionado, documentação e índice. Em IDE local, trabalho de projeto deve usar preflight e comandos locais da CLI. O MCP remoto não deve pedir nem tentar ler a pasta local do usuário.
41
-
42
- Exemplos oficiais da Sema e referencias de gramatica devem ser expostos por `sema_exemplos`. Agentes remotos nao devem ler `C:\GitHub\Sema\exemplos` nem qualquer checkout local do usuario so para aprender a DSL.
43
-
44
- Snapshots tipados tem limite de bytes por arquivo para contratos, codigo selecionado e documentacao. O MCP anuncia esses limites no schema das ferramentas e valida de novo antes de gravar espelho ou executar contrato inline. Clientes devem quebrar contexto grande em arquivos focados, nao enviar repositorio inteiro nem esconder o limite do agente.
45
-
46
- Para snapshots de codigo, quebrar significa separar por responsabilidade, nao criar pedacos artificiais. Um app web deve virar arquivos como `index.html`, `styles/*.css`, `js/state.js`, `js/render/*.js` e `data/*.json`, cada um com `SEMA-GOVERNED` e descricao humana quando for governado. Nomes como `index_p1.html` e `index_p2.html` so fazem sentido se representam responsabilidades reais; caso contrario sao gambiarra para burlar limite e devem ser recusados.
47
-
48
- Scores, achados e decisoes do agente sao sinais uteis, nao prova isolada. O MCP deve ajudar a IA a ligar cada achado a contrato, codigo, comportamento e evidencia concreta.
49
-
50
- ## Español
51
-
52
- El MCP de Sema es el coordinador privado de los agentes. Autentica clientes, elige el proyecto o espejo, cobra SEMAS, selecciona profiles/pipelines, pide a la CLI que lea o ejecute y devuelve una decisión trazable.
53
-
54
- Debe seguir compatible con chats web. Para ChatGPT, Lovable, GPTs y clientes similares, el MCP corre en la VPS y usa la CLI gobernada instalada allí contra espejos autorizados como `/srv/sema/projetos/...`.
55
- Cuando el MCP es publico o corre como `production`, falla cerrado si billing no esta habilitado, Supabase de billing no esta configurado, bearer legado existe, fallback por passcode OAuth existe o CORS esta en wildcard. Una llamada remota de herramienta no debe ejecutar si la cobranza SEMAS esta deshabilitada.
56
-
57
- Las IDEs locales no deben usar el MCP remoto, `sema_sync`, `sema_contratos_sincronizar` ni `sema mcp-client` para leer un workspace local. En ese modo, el agente debe ejecutar `sema --version` localmente. Si el comando no existe, el agente debe parar y pedir al humano que abra el panel Sema, descargue/ejecute el instalador de clave y repita `sema --version`. Después ejecuta `sema preflight resumo --json` y continúa localmente solo cuando la decisión sea `use_cli_local`.
58
-
59
- El MCP nunca debe fingir que una ruta local de Windows existe en el servidor Linux. Si una IDE local pide al MCP remoto leer esa ruta, la siguiente acción es usar la CLI local. Si un cliente web/chat no tiene workspace, la siguiente acción es pedir o crear un espejo/snapshot.
60
-
61
- La app o el conector debe reconocer el MCP remoto por conexión/autenticación, incluso sin workspace de proyecto sincronizado. Falta de workspace no es falta de sesión activa. En web/chat, el trabajo de proyecto debe usar `sema_sync` con contrato aplicable, código seleccionado, documentación e índice. En una IDE local, el trabajo de proyecto debe usar preflight y comandos locales de la CLI. El MCP remoto no debe pedir ni intentar leer la carpeta local del usuario.
62
-
63
- Los ejemplos oficiales de Sema y las referencias de gramatica deben exponerse mediante `sema_exemplos`. Los agentes remotos no deben leer `C:\GitHub\Sema\exemplos` ni ningun checkout local del usuario solo para aprender la DSL.
64
-
65
- Los snapshots tipados tienen limites de bytes por archivo para contratos, codigo seleccionado y documentacion. El MCP anuncia esos limites en los schemas de herramientas y vuelve a validarlos antes de escribir un espejo o ejecutar contratos inline. Los clientes deben dividir contexto grande en archivos enfocados, no enviar todo el repositorio ni ocultar el limite al agente.
66
-
67
- Para snapshots de codigo, dividir significa separar por responsabilidad, no crear fragmentos artificiales. Una app web debe convertirse en archivos como `index.html`, `styles/*.css`, `js/state.js`, `js/render/*.js` y `data/*.json`, cada uno con `SEMA-GOVERNED` y descripcion humana cuando este gobernado. Nombres como `index_p1.html` e `index_p2.html` solo tienen sentido si representan responsabilidades reales; de lo contrario son un atajo para burlar el limite y deben rechazarse.
68
-
69
- Scores, hallazgos y decisiones del agente son senales utiles, no prueba aislada. El MCP debe ayudar a la IA a conectar cada hallazgo con contrato, codigo, comportamiento y evidencia concreta.