@semacode/cli 1.5.47 → 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 (320) 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 +70 -48
  7. package/dist/agentContextTipos.d.ts +2 -2
  8. package/dist/agentContextTipos.js +7 -13
  9. package/dist/agentEntryPoints.js +311 -271
  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.part01.d.ts +1 -1
  18. package/dist/drift.part04.d.ts +1 -1
  19. package/dist/drift.part04.js +2 -2
  20. package/dist/drift.part05.d.ts +3 -3
  21. package/dist/drift.part05.js +8 -8
  22. package/dist/drift.part06.js +15 -8
  23. package/dist/drift.part09.js +11 -7
  24. package/dist/drift.part14.js +18 -3
  25. package/dist/driftOrcamento.d.ts +11 -1
  26. package/dist/driftOrcamento.js +49 -20
  27. package/dist/index.d.ts +0 -6
  28. package/dist/index.js +0 -6
  29. package/dist/index.part01.d.ts +1 -1
  30. package/dist/index.part01.js +1 -3
  31. package/dist/index.part02.js +4 -2
  32. package/dist/index.part04.js +7 -7
  33. package/dist/index.part08.js +1 -22
  34. package/dist/initTemplatesBase.js +5 -5
  35. package/dist/profileArtefatoValidadores.js +42 -0
  36. package/dist/profileI18nCatalogo.js +2 -0
  37. package/dist/projetoConfig.js +7 -0
  38. package/dist/projetoLegado.js +10 -3
  39. package/dist/sync/index.js +1 -1
  40. package/dist/tipos.d.ts +1 -1
  41. package/docs/README.md +19 -0
  42. package/docs/ai-integration.md +90 -0
  43. package/docs/ai-onboarding.md +33 -0
  44. package/docs/ai-workflow.md +62 -0
  45. package/docs/auth.md +16 -0
  46. package/docs/cli.md +36 -95
  47. package/docs/commands.md +90 -0
  48. package/docs/database.md +15 -0
  49. package/docs/deploy.md +6 -38
  50. package/docs/documentation.md +39 -0
  51. package/docs/env.md +8 -109
  52. package/docs/frontend.md +41 -0
  53. package/docs/getting-started.md +33 -0
  54. package/docs/i18n.md +15 -0
  55. package/docs/profiles.md +43 -0
  56. package/docs/repositories.md +19 -61
  57. package/docs/rollback.md +9 -20
  58. package/docs/security.md +24 -0
  59. package/docs/support.md +8 -0
  60. package/docs/syntax.md +128 -0
  61. package/docs/testing.md +17 -0
  62. package/docs/vocabulary.md +28 -0
  63. package/node_modules/@sema/gerador-css/dist/index.part01.js +1 -0
  64. package/node_modules/@sema/gerador-css/dist/index.part01.js.map +1 -1
  65. package/node_modules/@sema/gerador-css/package.json +1 -1
  66. package/node_modules/@sema/gerador-dart/dist/index.js +1 -0
  67. package/node_modules/@sema/gerador-dart/dist/index.js.map +1 -1
  68. package/node_modules/@sema/gerador-dart/package.json +1 -1
  69. package/node_modules/@sema/gerador-html/dist/index.js +1 -0
  70. package/node_modules/@sema/gerador-html/dist/index.js.map +1 -1
  71. package/node_modules/@sema/gerador-html/package.json +1 -1
  72. package/node_modules/@sema/gerador-javascript/dist/index.js +1 -0
  73. package/node_modules/@sema/gerador-javascript/dist/index.js.map +1 -1
  74. package/node_modules/@sema/gerador-javascript/package.json +1 -1
  75. package/node_modules/@sema/gerador-lua/dist/index.js +11 -0
  76. package/node_modules/@sema/gerador-lua/dist/index.js.map +1 -1
  77. package/node_modules/@sema/gerador-lua/package.json +1 -1
  78. package/node_modules/@sema/gerador-python/dist/index.part02.js +1 -0
  79. package/node_modules/@sema/gerador-python/dist/index.part02.js.map +1 -1
  80. package/node_modules/@sema/gerador-python/package.json +1 -1
  81. package/node_modules/@sema/gerador-typescript/dist/index.part02.js +1 -0
  82. package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +1 -1
  83. package/node_modules/@sema/gerador-typescript/package.json +1 -1
  84. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +1 -1
  85. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +1 -1
  86. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +1 -1
  87. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js +4 -0
  88. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +1 -1
  89. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.d.ts +1 -1
  90. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +3 -3
  91. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js +3 -0
  92. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +1 -1
  93. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.d.ts +2 -2
  94. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js +4 -1
  95. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +1 -1
  96. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.d.ts +2 -2
  97. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js +11 -5
  98. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +1 -1
  99. package/node_modules/@sema/nucleo/package.json +1 -1
  100. package/node_modules/@sema/padroes/package.json +1 -1
  101. package/package.json +15 -22
  102. package/AGENTS.md +0 -324
  103. package/AGENT_CONTEXT_PACK.json +0 -470
  104. package/SEMA_BRIEF.curto.txt +0 -18
  105. package/SEMA_BRIEF.md +0 -705
  106. package/SEMA_BRIEF.micro.txt +0 -16
  107. package/SEMA_INDEX.json +0 -10759
  108. package/dist/agentContext.js.map +0 -1
  109. package/dist/agentContextPack.js.map +0 -1
  110. package/dist/agentContextTipos.js.map +0 -1
  111. package/dist/agentEntryPoints.js.map +0 -1
  112. package/dist/angular-consumer-standalone.js.map +0 -1
  113. package/dist/authorAnalise.js.map +0 -1
  114. package/dist/authorPoliticas.js.map +0 -1
  115. package/dist/billing/index.js.map +0 -1
  116. package/dist/bridge.d.ts +0 -52
  117. package/dist/bridge.js +0 -333
  118. package/dist/bridge.js.map +0 -1
  119. package/dist/carregarModulos.js.map +0 -1
  120. package/dist/cliArgs.js.map +0 -1
  121. package/dist/comandos.js.map +0 -1
  122. package/dist/contexto.js.map +0 -1
  123. package/dist/controleComercialSupabase.d.ts +0 -7
  124. package/dist/controleComercialSupabase.js +0 -6
  125. package/dist/controleComercialSupabase.js.map +0 -1
  126. package/dist/controleComercialSupabaseAdmin.d.ts +0 -7
  127. package/dist/controleComercialSupabaseAdmin.js +0 -138
  128. package/dist/controleComercialSupabaseAdmin.js.map +0 -1
  129. package/dist/controleComercialSupabaseCadastro.d.ts +0 -4
  130. package/dist/controleComercialSupabaseCadastro.js +0 -85
  131. package/dist/controleComercialSupabaseCadastro.js.map +0 -1
  132. package/dist/controleComercialSupabaseConstantes.d.ts +0 -28
  133. package/dist/controleComercialSupabaseConstantes.js +0 -44
  134. package/dist/controleComercialSupabaseConstantes.js.map +0 -1
  135. package/dist/controleComercialSupabaseConsumo.d.ts +0 -2
  136. package/dist/controleComercialSupabaseConsumo.js +0 -77
  137. package/dist/controleComercialSupabaseConsumo.js.map +0 -1
  138. package/dist/controleComercialSupabaseConta.d.ts +0 -11
  139. package/dist/controleComercialSupabaseConta.js +0 -157
  140. package/dist/controleComercialSupabaseConta.js.map +0 -1
  141. package/dist/controleComercialSupabaseProfiles.d.ts +0 -4
  142. package/dist/controleComercialSupabaseProfiles.js +0 -55
  143. package/dist/controleComercialSupabaseProfiles.js.map +0 -1
  144. package/dist/controleComercialSupabaseTipos.d.ts +0 -3
  145. package/dist/controleComercialSupabaseTipos.js +0 -2
  146. package/dist/controleComercialSupabaseTipos.js.map +0 -1
  147. package/dist/controleComercialSupabaseTiposAdmin.d.ts +0 -152
  148. package/dist/controleComercialSupabaseTiposAdmin.js +0 -2
  149. package/dist/controleComercialSupabaseTiposAdmin.js.map +0 -1
  150. package/dist/controleComercialSupabaseTiposBase.d.ts +0 -169
  151. package/dist/controleComercialSupabaseTiposBase.js +0 -2
  152. package/dist/controleComercialSupabaseTiposBase.js.map +0 -1
  153. package/dist/controleComercialSupabaseTiposConta.d.ts +0 -220
  154. package/dist/controleComercialSupabaseTiposConta.js +0 -2
  155. package/dist/controleComercialSupabaseTiposConta.js.map +0 -1
  156. package/dist/cpp-symbols.js.map +0 -1
  157. package/dist/dev/index.js.map +0 -1
  158. package/dist/dev/watcher.js.map +0 -1
  159. package/dist/docs/resolver.js.map +0 -1
  160. package/dist/docs.js.map +0 -1
  161. package/dist/docs.part01.js.map +0 -1
  162. package/dist/docs.part02.js.map +0 -1
  163. package/dist/doctorCommand.js.map +0 -1
  164. package/dist/dotnet-http.js.map +0 -1
  165. package/dist/drift.contrato.js.map +0 -1
  166. package/dist/drift.js.map +0 -1
  167. package/dist/drift.part01.js.map +0 -1
  168. package/dist/drift.part02.js.map +0 -1
  169. package/dist/drift.part03.js.map +0 -1
  170. package/dist/drift.part04.js.map +0 -1
  171. package/dist/drift.part05.js.map +0 -1
  172. package/dist/drift.part06.js.map +0 -1
  173. package/dist/drift.part07.js.map +0 -1
  174. package/dist/drift.part08.js.map +0 -1
  175. package/dist/drift.part09.js.map +0 -1
  176. package/dist/drift.part10.js.map +0 -1
  177. package/dist/drift.part11.js.map +0 -1
  178. package/dist/drift.part12.js.map +0 -1
  179. package/dist/drift.part13.js.map +0 -1
  180. package/dist/drift.part14.js.map +0 -1
  181. package/dist/driftOrcamento.js.map +0 -1
  182. package/dist/driftScore.js.map +0 -1
  183. package/dist/execucoesExternas.js.map +0 -1
  184. package/dist/exemplosOficiais.js.map +0 -1
  185. package/dist/fsGovernado.js.map +0 -1
  186. package/dist/geracaoCore.js.map +0 -1
  187. package/dist/go-http.js.map +0 -1
  188. package/dist/guard.js.map +0 -1
  189. package/dist/iaPrompts.js.map +0 -1
  190. package/dist/importador.js.map +0 -1
  191. package/dist/importador.part01.js.map +0 -1
  192. package/dist/importador.part02.js.map +0 -1
  193. package/dist/importador.part03.js.map +0 -1
  194. package/dist/importador.part04.js.map +0 -1
  195. package/dist/importador.part05.js.map +0 -1
  196. package/dist/importador.part06.js.map +0 -1
  197. package/dist/importador.part07.js.map +0 -1
  198. package/dist/importador.part08.js.map +0 -1
  199. package/dist/importador.part09.js.map +0 -1
  200. package/dist/index.js.map +0 -1
  201. package/dist/index.part01.js.map +0 -1
  202. package/dist/index.part02.js.map +0 -1
  203. package/dist/index.part03.js.map +0 -1
  204. package/dist/index.part04.js.map +0 -1
  205. package/dist/index.part05.js.map +0 -1
  206. package/dist/index.part06.js.map +0 -1
  207. package/dist/index.part07.js.map +0 -1
  208. package/dist/index.part08.js.map +0 -1
  209. package/dist/init/index.js.map +0 -1
  210. package/dist/init/templates.js.map +0 -1
  211. package/dist/init/templates.part01.js.map +0 -1
  212. package/dist/init/templates.part02.js.map +0 -1
  213. package/dist/initCommand.js.map +0 -1
  214. package/dist/initTemplatesBackend.js.map +0 -1
  215. package/dist/initTemplatesBase.js.map +0 -1
  216. package/dist/initTemplatesFlutter.js.map +0 -1
  217. package/dist/initTemplatesRuntime.js.map +0 -1
  218. package/dist/initTemplatesWeb.js.map +0 -1
  219. package/dist/java-http.js.map +0 -1
  220. package/dist/lua-symbols.js.map +0 -1
  221. package/dist/mcpInstalarChaveCommand.d.ts +0 -1
  222. package/dist/mcpInstalarChaveCommand.js +0 -168
  223. package/dist/mcpInstalarChaveCommand.js.map +0 -1
  224. package/dist/mcpRemoto.d.ts +0 -32
  225. package/dist/mcpRemoto.js +0 -61
  226. package/dist/mcpRemoto.js.map +0 -1
  227. package/dist/mcp_chave.d.ts +0 -1
  228. package/dist/mcp_chave.js +0 -4
  229. package/dist/mcp_chave.js.map +0 -1
  230. package/dist/profileArtefatoBase.js.map +0 -1
  231. package/dist/profileArtefatoValidadores.js.map +0 -1
  232. package/dist/profileAuthorCommand.js.map +0 -1
  233. package/dist/profileAuthorTipos.js.map +0 -1
  234. package/dist/profileCatalogo.js.map +0 -1
  235. package/dist/profileCommand.js.map +0 -1
  236. package/dist/profileI18nCatalogo.js.map +0 -1
  237. package/dist/profileI18nVisivel.js.map +0 -1
  238. package/dist/profileOrquestracao.js.map +0 -1
  239. package/dist/profileRegras.js.map +0 -1
  240. package/dist/profileRulePacks.js.map +0 -1
  241. package/dist/profiles/validate.js.map +0 -1
  242. package/dist/projeto.js.map +0 -1
  243. package/dist/projetoBusca.js.map +0 -1
  244. package/dist/projetoCarregar.js.map +0 -1
  245. package/dist/projetoConfig.js.map +0 -1
  246. package/dist/projetoLegado.js.map +0 -1
  247. package/dist/projetoOrigens.js.map +0 -1
  248. package/dist/projetoResolucao.js.map +0 -1
  249. package/dist/projetoTipos.js.map +0 -1
  250. package/dist/python-http.js.map +0 -1
  251. package/dist/runnerValidacaoRemota.d.ts +0 -9
  252. package/dist/runnerValidacaoRemota.js +0 -9
  253. package/dist/runnerValidacaoRemota.js.map +0 -1
  254. package/dist/runnerValidacaoRemotaBateria.d.ts +0 -10
  255. package/dist/runnerValidacaoRemotaBateria.js +0 -117
  256. package/dist/runnerValidacaoRemotaBateria.js.map +0 -1
  257. package/dist/runnerValidacaoRemotaCli.d.ts +0 -4
  258. package/dist/runnerValidacaoRemotaCli.js +0 -86
  259. package/dist/runnerValidacaoRemotaCli.js.map +0 -1
  260. package/dist/runnerValidacaoRemotaComandos.d.ts +0 -7
  261. package/dist/runnerValidacaoRemotaComandos.js +0 -123
  262. package/dist/runnerValidacaoRemotaComandos.js.map +0 -1
  263. package/dist/runnerValidacaoRemotaEscopo.d.ts +0 -4
  264. package/dist/runnerValidacaoRemotaEscopo.js +0 -79
  265. package/dist/runnerValidacaoRemotaEscopo.js.map +0 -1
  266. package/dist/runnerValidacaoRemotaExecucao.d.ts +0 -2
  267. package/dist/runnerValidacaoRemotaExecucao.js +0 -104
  268. package/dist/runnerValidacaoRemotaExecucao.js.map +0 -1
  269. package/dist/runnerValidacaoRemotaRelatorio.d.ts +0 -3
  270. package/dist/runnerValidacaoRemotaRelatorio.js +0 -95
  271. package/dist/runnerValidacaoRemotaRelatorio.js.map +0 -1
  272. package/dist/runnerValidacaoRemotaServidor.d.ts +0 -4
  273. package/dist/runnerValidacaoRemotaServidor.js +0 -185
  274. package/dist/runnerValidacaoRemotaServidor.js.map +0 -1
  275. package/dist/runnerValidacaoRemotaSnapshot.d.ts +0 -10
  276. package/dist/runnerValidacaoRemotaSnapshot.js +0 -219
  277. package/dist/runnerValidacaoRemotaSnapshot.js.map +0 -1
  278. package/dist/runnerValidacaoRemotaTipos.d.ts +0 -158
  279. package/dist/runnerValidacaoRemotaTipos.js +0 -35
  280. package/dist/runnerValidacaoRemotaTipos.js.map +0 -1
  281. package/dist/runnerValidacaoRemotaUtil.d.ts +0 -3
  282. package/dist/runnerValidacaoRemotaUtil.js +0 -18
  283. package/dist/runnerValidacaoRemotaUtil.js.map +0 -1
  284. package/dist/runnerValidacaoRemotaWorkspace.d.ts +0 -2
  285. package/dist/runnerValidacaoRemotaWorkspace.js +0 -112
  286. package/dist/runnerValidacaoRemotaWorkspace.js.map +0 -1
  287. package/dist/rust-http.js.map +0 -1
  288. package/dist/semaChatCommand.d.ts +0 -1
  289. package/dist/semaChatCommand.js +0 -43
  290. package/dist/semaChatCommand.js.map +0 -1
  291. package/dist/semaChatRuntime.d.ts +0 -23
  292. package/dist/semaChatRuntime.js +0 -202
  293. package/dist/semaChatRuntime.js.map +0 -1
  294. package/dist/sync/index.js.map +0 -1
  295. package/dist/textoListas.js.map +0 -1
  296. package/dist/tipos.js.map +0 -1
  297. package/dist/typescript-http-body.js.map +0 -1
  298. package/dist/typescript-http-expressoes.js.map +0 -1
  299. package/dist/typescript-http-modelos.js.map +0 -1
  300. package/dist/typescript-http-rotas.js.map +0 -1
  301. package/dist/typescript-http-semantica.js.map +0 -1
  302. package/dist/typescript-http.js.map +0 -1
  303. package/docs/AGENT_STARTER.md +0 -111
  304. package/docs/agentes-por-capacidade.md +0 -126
  305. package/docs/api.md +0 -82
  306. package/docs/comandos.md +0 -702
  307. package/docs/como-ensinar-a-sema-para-ia.md +0 -30
  308. package/docs/documentacao.md +0 -74
  309. package/docs/extensao-vscode.md +0 -49
  310. package/docs/fluxo-pratico-ia-sema.md +0 -215
  311. package/docs/instalacao-e-primeiro-uso.md +0 -60
  312. package/docs/integracao-com-ia.md +0 -44
  313. package/docs/mcp.md +0 -69
  314. package/docs/pagamento-ponta-a-ponta.md +0 -171
  315. package/docs/persistencia-vendor-first.md +0 -151
  316. package/docs/prompt-base-ia-sema.md +0 -111
  317. package/docs/seguranca.md +0 -126
  318. package/docs/sintaxe.md +0 -218
  319. package/llms-full.txt +0 -40
  320. 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.47.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,215 +0,0 @@
1
- # Fluxo Pratico para IA Antes de Editar `.sema`
2
-
3
- <!-- sema:i18n -->
4
- > EN: English first. The canonical operational body below may still be in Portuguese until full translation lands.
5
- > PT: Português depois, com acentos preservados.
6
- > ES: Español al final; não traduza comandos, rotas nem sómbolos `.sema` sem contrato.
7
-
8
-
9
- Este documento descreve o fluxo operacional recomendado para qualquer IA antes, durante e depois de alterar arquivos `.sema`.
10
-
11
- Se a IA seguir isso, ela trabalha com contexto. Se não seguir, vira adivinhação gourmet.
12
-
13
- 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.
14
-
15
- Antes de qualquer etapa, classifique a capacidade operacional do agente:
16
-
17
- - IA fraca: leia `SEMA_BOOT.md`, `SEMA_SMALL_MODEL.md` e `SEMA_BRIEF.micro.txt`; se Sema não responder, pare.
18
- - IA média: leia `SEMA_BOOT.md`, `AGENT_CONTEXT_PACK.json`, `SEMA_BRIEF.curto.txt` e `SEMA_INDEX.json`.
19
- - IA forte: pode usar `SEMA_BRIEF.md`, AST, IR e drift completo, mas ainda começa pelo boot.
20
-
21
- 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.
22
-
23
- 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`.
24
-
25
- ## Superfície obrigatória
26
-
27
- 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.
28
- 2. IDE local autorizada: use somente a CLI local para `resumo`, `docs-impacto`, `inspecionar`, `drift`, `impacto`, `validar`, `verificar` e `finalizar-mudanca`.
29
- 3. IDE local proibida: não chame MCP remoto, `sema_sync`, `sema_contratos_sincronizar` nem `sema mcp-client` para ler o workspace local.
30
- 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.
31
- 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.
32
-
33
- ## Fluxo curto
34
-
35
- 1. identificar a superfície: CLI local ou MCP remoto web/chat
36
- 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`
37
- 3. ler contexto do projeto
38
- 4. identificar a capacidade da IA
39
- 5. identificar o módulo alvo
40
- 6. consultar o menor artefato semântico suficiente
41
- 7. editar
42
- 8. formatar
43
- 9. validar
44
- 10. verificar
45
-
46
- ## Fluxo detalhado
47
-
48
- ### Etapa 1. Ler contexto mínimo
49
-
50
- Antes de tocar em qualquer arquivo, a IA deve ler:
51
-
52
- - [README.md](../README.md)
53
- - [integração-com-ia.md](./integracao-com-ia.md)
54
- - [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
55
-
56
- Se o trabalho estiver ligado a pagamento, ler também:
57
-
58
- - [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
59
-
60
- ### Etapa 2. Escolher a faixa de capacidade
61
-
62
- Antes de despejar contexto na IA, escolha o que ela aguenta:
63
-
64
- - 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`
65
- - IA média: `sema preflight resumo --json`, `sema resumo --curto`, `briefing.min.json` e `drift.json`
66
- - IA forte: `sema preflight resumo --json`, `contexto-ia`, `briefing.json`, `drift.json`, `ir.json` e `ast.json`
67
-
68
- 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.
69
-
70
- ### Etapa 3. Ler o módulo alvo e um exemplo parecido
71
-
72
- A IA deve identificar:
73
-
74
- - qual arquivo sera editado
75
- - qual módulo esse arquivo representa
76
- - qual exemplo oficial mais se parece com o que precisa ser feito
77
-
78
- Regra pratica:
79
-
80
- - automacao: [automacao.sema](../exemplos/automacao.sema)
81
- - erros e fluxos de falha: [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
82
- - borda pública e pagamento: [pagamento.sema](../exemplos/pagamento.sema)
83
-
84
- ### Etapa 4. Consultar AST e IR quando fizer sentido
85
-
86
- Antes de alterar, a IA deve executar:
87
-
88
- ```bash
89
- sema --version
90
- sema preflight resumo --json
91
- sema resumo caminho/arquivo.sema --curto --para mudanca
92
- sema ast caminho/arquivo.sema --json
93
- sema ir caminho/arquivo.sema --json
94
- ```
95
-
96
- Objetivo:
97
-
98
- - ver a forma sintatica quando a capacidade aguentar
99
- - ver a forma semântica resolvida quando a capacidade aguentar
100
- - evitar interpretar errado o contrato
101
-
102
- ### Etapa 5. Editar o `.sema`
103
-
104
- Ao editar, a IA deve:
105
-
106
- - preservar a intenção do módulo
107
- - seguir a gramática existente
108
- - evitar criar bloco ou operador não suportado
109
- - preferir a forma já usada nos exemplos oficiais
110
- - usar blocos existentes como `auth`, `authz`, `dados`, `audit`, `forbidden`, `execucao`, `use`, `state` e `enum` antes de propor sintaxe nova
111
- - evitar teste fraco em task sensível; `expect { sucesso: verdadeiro }` sozinho não prova semântica operacional
112
-
113
- ### Etapa 6. Formatar
114
-
115
- Depois da edição:
116
-
117
- ```bash
118
- sema formatar caminho/arquivo.sema
119
- sema formatar caminho/arquivo.sema --check
120
- ```
121
-
122
- Se `--check` falhar, o trabalho ainda não está pronto.
123
-
124
- ### Etapa 7. Validar e diagnosticar
125
-
126
- Depois da formatacao:
127
-
128
- ```bash
129
- sema validar caminho/arquivo.sema --json
130
- sema diagnosticos caminho/arquivo.sema --json
131
- ```
132
-
133
- Se houver falha:
134
-
135
- - usar os diagnósticos estruturados como contrato de correcao
136
- - não insistir em leitura manual teimosa quando a CLI já disse onde está a merda
137
-
138
- ### Etapa 7.5. Compilar quando a tarefa pedir código derivado
139
-
140
- Se a tarefa não for só editar contrato, mas também gerar base de implementacao, a IA deve rodar explicitamente:
141
-
142
- ```bash
143
- sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
144
- ```
145
-
146
- Ou trocar o alvo para `python`, `dart`, `lua`, `javascript`, `html` ou `css`, conforme o caso.
147
-
148
- Regra pratica:
149
-
150
- - se a entrega inclui código derivado, `sema compilar` não é opcional
151
- - se a IA ignorar `compilar`, ela pode acabar reescrevendo na mao coisa que a Sema já gera sozinha, que é burrice operacional
152
-
153
- ### Etapa 8. Verificar
154
-
155
- No fechamento:
156
-
157
- ```bash
158
- sema verificar arquivo-ou-pasta --json --saida ./.tmp/verificacao-ia
159
- ```
160
-
161
- ## Fluxo mínimo para automacao
162
-
163
- Se voce quiser o menor fluxo aceitavel para uma IA fraca:
164
-
165
- ```bash
166
- sema --version
167
- sema preflight resumo --json
168
- sema resumo caminho/arquivo.sema --micro --para mudanca
169
- sema formatar caminho/arquivo.sema
170
- sema validar caminho/arquivo.sema --json
171
- ```
172
-
173
- Mas, sendo sincero, o fluxo bom mesmo e fechar com `verificar`.
174
-
175
- Se a tarefa envolver código derivado, o fluxo mínimo aceitavel vira:
176
-
177
- ```bash
178
- sema --version
179
- sema preflight resumo --json
180
- sema ir caminho/arquivo.sema --json
181
- sema formatar caminho/arquivo.sema
182
- sema validar caminho/arquivo.sema --json
183
- sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
184
- ```
185
-
186
- ## Checklist de saída
187
-
188
- Antes de considerar a alteracao pronta, a IA deve responder mentalmente:
189
-
190
- - eu entendi o módulo e o contrato?
191
- - eu mantive a sintaxe dentro do que a linguagem suporta?
192
- - eu formatei o arquivo?
193
- - eu validei?
194
- - eu olhei diagnósticos se algo falhou?
195
- - eu fechei com verificação?
196
-
197
- Se alguma resposta for "não", ainda não terminou.
198
-
199
- ## Regra de ouro
200
-
201
- Em Sema, a IA não deveria operar no escuro.
202
-
203
- Ela deve trabalhar sempre com:
204
-
205
- - exemplo oficial
206
- - AST
207
- - IR
208
- - diagnósticos
209
- - formatador
210
-
211
- Esse conjunto e o que faz a linguagem ser amigavel para IA de verdade, e não só no discurso bonito.
212
-
213
- ## Observacao sobre caminhos
214
-
215
- 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.