@semacode/cli 1.5.30 → 1.5.32

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 (176) hide show
  1. package/AGENTS.md +294 -0
  2. package/AGENT_CONTEXT_PACK.json +164 -0
  3. package/LICENSE +22 -0
  4. package/README.md +85 -144
  5. package/SEMA_BRIEF.curto.txt +11 -0
  6. package/SEMA_BRIEF.md +616 -0
  7. package/SEMA_BRIEF.micro.txt +9 -0
  8. package/SEMA_INDEX.json +9393 -0
  9. package/dist/billing/index.d.ts +46 -0
  10. package/dist/billing/index.js +143 -0
  11. package/dist/billing/index.js.map +1 -0
  12. package/dist/comandos.js +33 -0
  13. package/dist/comandos.js.map +1 -1
  14. package/dist/controleComercialSupabase.d.ts +7 -0
  15. package/dist/controleComercialSupabase.js +6 -0
  16. package/dist/controleComercialSupabase.js.map +1 -0
  17. package/dist/controleComercialSupabaseAdmin.d.ts +7 -0
  18. package/dist/controleComercialSupabaseAdmin.js +138 -0
  19. package/dist/controleComercialSupabaseAdmin.js.map +1 -0
  20. package/dist/controleComercialSupabaseCadastro.d.ts +4 -0
  21. package/dist/controleComercialSupabaseCadastro.js +85 -0
  22. package/dist/controleComercialSupabaseCadastro.js.map +1 -0
  23. package/dist/controleComercialSupabaseConstantes.d.ts +28 -0
  24. package/dist/controleComercialSupabaseConstantes.js +44 -0
  25. package/dist/controleComercialSupabaseConstantes.js.map +1 -0
  26. package/dist/controleComercialSupabaseConsumo.d.ts +2 -0
  27. package/dist/controleComercialSupabaseConsumo.js +77 -0
  28. package/dist/controleComercialSupabaseConsumo.js.map +1 -0
  29. package/dist/controleComercialSupabaseConta.d.ts +11 -0
  30. package/dist/controleComercialSupabaseConta.js +157 -0
  31. package/dist/controleComercialSupabaseConta.js.map +1 -0
  32. package/dist/controleComercialSupabaseProfiles.d.ts +4 -0
  33. package/dist/controleComercialSupabaseProfiles.js +55 -0
  34. package/dist/controleComercialSupabaseProfiles.js.map +1 -0
  35. package/dist/controleComercialSupabaseTipos.d.ts +3 -0
  36. package/dist/controleComercialSupabaseTipos.js +2 -0
  37. package/dist/controleComercialSupabaseTipos.js.map +1 -0
  38. package/dist/controleComercialSupabaseTiposAdmin.d.ts +152 -0
  39. package/dist/controleComercialSupabaseTiposAdmin.js +2 -0
  40. package/dist/controleComercialSupabaseTiposAdmin.js.map +1 -0
  41. package/dist/controleComercialSupabaseTiposBase.d.ts +169 -0
  42. package/dist/controleComercialSupabaseTiposBase.js +2 -0
  43. package/dist/controleComercialSupabaseTiposBase.js.map +1 -0
  44. package/dist/controleComercialSupabaseTiposConta.d.ts +220 -0
  45. package/dist/controleComercialSupabaseTiposConta.js +2 -0
  46. package/dist/controleComercialSupabaseTiposConta.js.map +1 -0
  47. package/dist/dev/index.d.ts +18 -0
  48. package/dist/dev/index.js +143 -0
  49. package/dist/dev/index.js.map +1 -0
  50. package/dist/index.js +222 -46
  51. package/dist/index.js.map +1 -1
  52. package/dist/init/index.d.ts +23 -0
  53. package/dist/init/index.js +112 -0
  54. package/dist/init/index.js.map +1 -0
  55. package/dist/init/templates.d.ts +11 -0
  56. package/dist/init/templates.js +660 -0
  57. package/dist/init/templates.js.map +1 -0
  58. package/dist/runnerValidacaoRemota.d.ts +9 -0
  59. package/dist/runnerValidacaoRemota.js +9 -0
  60. package/dist/runnerValidacaoRemota.js.map +1 -0
  61. package/dist/runnerValidacaoRemotaBateria.d.ts +10 -0
  62. package/dist/runnerValidacaoRemotaBateria.js +115 -0
  63. package/dist/runnerValidacaoRemotaBateria.js.map +1 -0
  64. package/dist/runnerValidacaoRemotaCli.d.ts +4 -0
  65. package/dist/runnerValidacaoRemotaCli.js +86 -0
  66. package/dist/runnerValidacaoRemotaCli.js.map +1 -0
  67. package/dist/runnerValidacaoRemotaComandos.d.ts +7 -0
  68. package/dist/runnerValidacaoRemotaComandos.js +123 -0
  69. package/dist/runnerValidacaoRemotaComandos.js.map +1 -0
  70. package/dist/runnerValidacaoRemotaEscopo.d.ts +4 -0
  71. package/dist/runnerValidacaoRemotaEscopo.js +79 -0
  72. package/dist/runnerValidacaoRemotaEscopo.js.map +1 -0
  73. package/dist/runnerValidacaoRemotaExecucao.d.ts +2 -0
  74. package/dist/runnerValidacaoRemotaExecucao.js +102 -0
  75. package/dist/runnerValidacaoRemotaExecucao.js.map +1 -0
  76. package/dist/runnerValidacaoRemotaRelatorio.d.ts +3 -0
  77. package/dist/runnerValidacaoRemotaRelatorio.js +93 -0
  78. package/dist/runnerValidacaoRemotaRelatorio.js.map +1 -0
  79. package/dist/runnerValidacaoRemotaServidor.d.ts +3 -0
  80. package/dist/runnerValidacaoRemotaServidor.js +157 -0
  81. package/dist/runnerValidacaoRemotaServidor.js.map +1 -0
  82. package/dist/runnerValidacaoRemotaSnapshot.d.ts +10 -0
  83. package/dist/runnerValidacaoRemotaSnapshot.js +217 -0
  84. package/dist/runnerValidacaoRemotaSnapshot.js.map +1 -0
  85. package/dist/runnerValidacaoRemotaTipos.d.ts +158 -0
  86. package/dist/runnerValidacaoRemotaTipos.js +35 -0
  87. package/dist/runnerValidacaoRemotaTipos.js.map +1 -0
  88. package/dist/runnerValidacaoRemotaUtil.d.ts +3 -0
  89. package/dist/runnerValidacaoRemotaUtil.js +18 -0
  90. package/dist/runnerValidacaoRemotaUtil.js.map +1 -0
  91. package/dist/runnerValidacaoRemotaWorkspace.d.ts +2 -0
  92. package/dist/runnerValidacaoRemotaWorkspace.js +110 -0
  93. package/dist/runnerValidacaoRemotaWorkspace.js.map +1 -0
  94. package/dist/sync/index.d.ts +24 -0
  95. package/dist/sync/index.js +174 -0
  96. package/dist/sync/index.js.map +1 -0
  97. package/docs/AGENT_STARTER.md +109 -0
  98. package/docs/api.md +82 -0
  99. package/docs/cli.md +93 -0
  100. package/docs/como-ensinar-a-sema-para-ia.md +30 -0
  101. package/docs/deploy.md +45 -0
  102. package/docs/documentacao.md +88 -0
  103. package/docs/env.md +115 -0
  104. package/docs/extensao-vscode.md +42 -0
  105. package/docs/fluxo-pratico-ia-sema.md +187 -0
  106. package/docs/instalacao-e-primeiro-uso.md +48 -0
  107. package/docs/integracao-com-ia.md +24 -0
  108. package/docs/mcp.md +48 -0
  109. package/docs/pagamento-ponta-a-ponta.md +171 -0
  110. package/docs/persistencia-vendor-first.md +151 -0
  111. package/docs/prompt-base-ia-sema.md +111 -0
  112. package/docs/repositories.md +69 -0
  113. package/docs/rollback.md +24 -0
  114. package/docs/seguranca.md +126 -0
  115. package/docs/sintaxe.md +218 -0
  116. package/exemplos/profile_conversas.sema +165 -0
  117. package/llms-full.txt +35 -0
  118. package/llms.txt +18 -0
  119. package/node_modules/@sema/gerador-css/package.json +7 -14
  120. package/node_modules/@sema/gerador-dart/package.json +7 -14
  121. package/node_modules/@sema/gerador-html/package.json +7 -14
  122. package/node_modules/@sema/gerador-javascript/package.json +7 -14
  123. package/node_modules/@sema/gerador-lua/package.json +7 -14
  124. package/node_modules/@sema/gerador-python/package.json +7 -14
  125. package/node_modules/@sema/gerador-typescript/package.json +7 -14
  126. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.d.ts +22 -0
  127. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +97 -0
  128. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +1 -0
  129. package/node_modules/@sema/nucleo/dist/index.d.ts +1 -0
  130. package/node_modules/@sema/nucleo/dist/index.js +1 -0
  131. package/node_modules/@sema/nucleo/dist/index.js.map +1 -1
  132. package/node_modules/@sema/nucleo/package.json +7 -10
  133. package/node_modules/@sema/padroes/package.json +7 -10
  134. package/package.json +75 -74
  135. package/exemplos/.prepack-generated +0 -1
  136. package/node_modules/@sema/gerador-css/src/index.ts +0 -605
  137. package/node_modules/@sema/gerador-css/tsconfig.json +0 -13
  138. package/node_modules/@sema/gerador-css/tsconfig.tsbuildinfo +0 -1
  139. package/node_modules/@sema/gerador-dart/src/index.ts +0 -52
  140. package/node_modules/@sema/gerador-dart/tsconfig.json +0 -13
  141. package/node_modules/@sema/gerador-dart/tsconfig.tsbuildinfo +0 -1
  142. package/node_modules/@sema/gerador-html/src/index.ts +0 -185
  143. package/node_modules/@sema/gerador-html/tsconfig.json +0 -13
  144. package/node_modules/@sema/gerador-html/tsconfig.tsbuildinfo +0 -1
  145. package/node_modules/@sema/gerador-javascript/src/index.ts +0 -461
  146. package/node_modules/@sema/gerador-javascript/tsconfig.json +0 -13
  147. package/node_modules/@sema/gerador-javascript/tsconfig.tsbuildinfo +0 -1
  148. package/node_modules/@sema/gerador-lua/src/index.ts +0 -359
  149. package/node_modules/@sema/gerador-lua/tsconfig.json +0 -13
  150. package/node_modules/@sema/gerador-lua/tsconfig.tsbuildinfo +0 -1
  151. package/node_modules/@sema/gerador-python/src/index.ts +0 -850
  152. package/node_modules/@sema/gerador-python/tsconfig.json +0 -13
  153. package/node_modules/@sema/gerador-python/tsconfig.tsbuildinfo +0 -1
  154. package/node_modules/@sema/gerador-typescript/src/index.ts +0 -876
  155. package/node_modules/@sema/gerador-typescript/tsconfig.json +0 -13
  156. package/node_modules/@sema/gerador-typescript/tsconfig.tsbuildinfo +0 -1
  157. package/node_modules/@sema/nucleo/src/ast/tipos.ts +0 -207
  158. package/node_modules/@sema/nucleo/src/diagnosticos/index.ts +0 -43
  159. package/node_modules/@sema/nucleo/src/formatador/index.ts +0 -530
  160. package/node_modules/@sema/nucleo/src/index.ts +0 -183
  161. package/node_modules/@sema/nucleo/src/ir/conversor.ts +0 -1037
  162. package/node_modules/@sema/nucleo/src/ir/modelos.ts +0 -403
  163. package/node_modules/@sema/nucleo/src/lexer/lexer.ts +0 -166
  164. package/node_modules/@sema/nucleo/src/lexer/tokens.ts +0 -79
  165. package/node_modules/@sema/nucleo/src/parser/gramatica.ebnf +0 -41
  166. package/node_modules/@sema/nucleo/src/parser/parser.ts +0 -936
  167. package/node_modules/@sema/nucleo/src/persistencia/contratos.ts +0 -379
  168. package/node_modules/@sema/nucleo/src/semantico/analisador.ts +0 -3126
  169. package/node_modules/@sema/nucleo/src/semantico/estruturas.ts +0 -665
  170. package/node_modules/@sema/nucleo/src/semantico/seguranca.ts +0 -362
  171. package/node_modules/@sema/nucleo/src/util/arquivos.ts +0 -28
  172. package/node_modules/@sema/nucleo/tsconfig.json +0 -9
  173. package/node_modules/@sema/nucleo/tsconfig.tsbuildinfo +0 -1
  174. package/node_modules/@sema/padroes/src/index.ts +0 -382
  175. package/node_modules/@sema/padroes/tsconfig.json +0 -9
  176. package/node_modules/@sema/padroes/tsconfig.tsbuildinfo +0 -1
package/docs/api.md ADDED
@@ -0,0 +1,82 @@
1
+ # API and Operational Surfaces
2
+
3
+ ## English
4
+
5
+ Sema's public repository exposes the open language, CLI, contracts, examples, and editor support. It does not expose the private hosted MCP control plane, account APIs, OAuth internals, dashboards, audit storage, or commercial runtime governance APIs.
6
+
7
+ ### Public Surfaces
8
+
9
+ - CLI commands documented in `README.md`, `docs/README.md`, and `docs/profiles.md`.
10
+ - `.sema` contracts under `contratos/` and public examples under `exemplos/`.
11
+ - Release artifacts generated by the public release scripts.
12
+ - Editor support and local validation flows.
13
+
14
+ ### Private Or Commercial Surfaces
15
+
16
+ - Hosted MCP endpoint and OAuth authorization flows.
17
+ - Account, project, usage, billing, dashboard, and audit APIs.
18
+ - Runtime governance, approval gates, private rule packs, and advanced artifact validation.
19
+ - Deployment secrets, environment files, local runbooks, and infrastructure-specific scripts.
20
+
21
+ ### API Rule For Agents
22
+
23
+ When a change touches an endpoint, webhook, CLI command, or MCP tool, the agent must:
24
+
25
+ - declare or update the applicable `.sema` contract before code;
26
+ - validate authentication, authorization, tenant/workspace boundaries, idempotency, auditability, and rollback expectations;
27
+ - keep private endpoints and commercial control-plane details out of the public repository;
28
+ - run Sema validation and public repository boundary checks before release.
29
+
30
+ ## Português
31
+
32
+ O repositório público do Sema expõe a linguagem aberta, CLI, contratos, exemplos e suporte de editor. Ele não expõe o control plane MCP hospedado, APIs de conta, detalhes internos de OAuth, dashboards, armazenamento de auditoria ou APIs comerciais de runtime governance.
33
+
34
+ ### Superfícies Públicas
35
+
36
+ - Comandos da CLI documentados em `README.md`, `docs/README.md` e `docs/profiles.md`.
37
+ - Contratos `.sema` em `contratos/` e exemplos públicos em `exemplos/`.
38
+ - Artefatos de release gerados pelos scripts públicos de release.
39
+ - Suporte de editor e fluxos locais de validação.
40
+
41
+ ### Superfícies Privadas Ou Comerciais
42
+
43
+ - Endpoint MCP hospedado e fluxos de autorização OAuth.
44
+ - APIs de conta, projeto, uso, cobrança, dashboard e auditoria.
45
+ - Runtime governance, approval gates, rule packs privados e validação avançada de artefatos.
46
+ - Segredos de deploy, arquivos de ambiente, runbooks locais e scripts específicos de infraestrutura.
47
+
48
+ ### Regra De API Para Agentes
49
+
50
+ Quando uma mudança toca endpoint, webhook, comando de CLI ou ferramenta MCP, a IA deve:
51
+
52
+ - declarar ou atualizar o contrato `.sema` aplicável antes do código;
53
+ - validar autenticação, autorização, fronteira de tenant/workspace, idempotência, auditoria e expectativa de rollback;
54
+ - manter endpoints privados e detalhes comerciais do control plane fora do repositório público;
55
+ - rodar validação Sema e checagem de fronteira pública antes do release.
56
+
57
+ ## Español
58
+
59
+ El repositorio público de Sema expone el lenguaje abierto, CLI, contratos, ejemplos y soporte de editor. No expone el control plane MCP hospedado, APIs de cuenta, detalles internos de OAuth, dashboards, almacenamiento de auditoría ni APIs comerciales de runtime governance.
60
+
61
+ ### Superficies Públicas
62
+
63
+ - Comandos de la CLI documentados en `README.md`, `docs/README.md` y `docs/profiles.md`.
64
+ - Contratos `.sema` en `contratos/` y ejemplos públicos en `exemplos/`.
65
+ - Artefactos de release generados por los scripts públicos de release.
66
+ - Soporte de editor y flujos locales de validación.
67
+
68
+ ### Superficies Privadas O Comerciales
69
+
70
+ - Endpoint MCP hospedado y flujos de autorización OAuth.
71
+ - APIs de cuenta, proyecto, uso, facturación, dashboard y auditoría.
72
+ - Runtime governance, approval gates, rule packs privados y validación avanzada de artefactos.
73
+ - Secretos de deploy, archivos de entorno, runbooks locales y scripts específicos de infraestructura.
74
+
75
+ ### Regla De API Para Agentes
76
+
77
+ Cuando un cambio toca un endpoint, webhook, comando de CLI o herramienta MCP, la IA debe:
78
+
79
+ - declarar o actualizar el contrato `.sema` aplicable antes del código;
80
+ - validar autenticación, autorización, frontera de tenant/workspace, idempotencia, auditoría y expectativa de rollback;
81
+ - mantener endpoints privados y detalles comerciales del control plane fuera del repositorio público;
82
+ - ejecutar validación Sema y chequeo de frontera pública antes del release.
package/docs/cli.md ADDED
@@ -0,0 +1,93 @@
1
+ # Sema CLI
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 CLI is installed from the public npm package `@semacode/cli`. It is not the commercial coordinator and it does not publish the MCP server or product control plane.
11
+
12
+ Use it for the work the MCP authorizes:
13
+
14
+ - validate `.sema` contracts;
15
+ - inspect modules, tasks, routes, and effects;
16
+ - check drift against live or selected code;
17
+ - map impact;
18
+ - prepare AI-first context;
19
+ - resolve documentation gates;
20
+ - run profile and pipeline validators;
21
+ - execute local or VPS-side project actions.
22
+
23
+ The private MCP decides when to charge SEMAS and which operation can continue. The CLI executes the technical work in the environment where it has file access.
24
+
25
+ ```bash
26
+ npm install -g @semacode/cli
27
+ ```
28
+
29
+ ```bash
30
+ sema resumo . --curto
31
+ sema validar contratos/pedidos.sema --json
32
+ sema drift contratos/pedidos.sema --escopo modulo --json
33
+ sema docs-impacto --intencao "alterar pedidos" --arquivo contratos/pedidos.sema --json
34
+ sema finalizar-mudanca --intencao "alterar pedidos" --doc-lida README.md --json
35
+ ```
36
+
37
+ ## Português
38
+
39
+ A CLI da Sema é instalada pelo pacote npm público `@semacode/cli`. Ela não é o coordenador comercial e não publica o servidor MCP nem o control plane do produto.
40
+
41
+ Use a CLI para o trabalho que o MCP autorizar:
42
+
43
+ - validar contratos `.sema`;
44
+ - inspecionar módulos, tasks, rotas e efeitos;
45
+ - medir drift contra código vivo ou código selecionado;
46
+ - mapear impacto;
47
+ - preparar contexto IA-first;
48
+ - resolver gates de documentação;
49
+ - rodar validadores de profiles e pipelines;
50
+ - executar ações locais ou na VPS.
51
+
52
+ O MCP privado decide quando cobrar SEMAS e qual operação pode continuar. A CLI executa o trabalho técnico no ambiente onde tem acesso aos arquivos.
53
+
54
+ ```bash
55
+ npm install -g @semacode/cli
56
+ ```
57
+
58
+ ```bash
59
+ sema resumo . --curto
60
+ sema validar contratos/pedidos.sema --json
61
+ sema drift contratos/pedidos.sema --escopo modulo --json
62
+ sema docs-impacto --intencao "alterar pedidos" --arquivo contratos/pedidos.sema --json
63
+ sema finalizar-mudanca --intencao "alterar pedidos" --doc-lida README.md --json
64
+ ```
65
+
66
+ ## Español
67
+
68
+ La CLI de Sema se instala desde el paquete npm público `@semacode/cli`. No es el coordinador comercial y no publica el servidor MCP ni el control plane del producto.
69
+
70
+ Usa la CLI para el trabajo que el MCP autorice:
71
+
72
+ - validar contratos `.sema`;
73
+ - inspeccionar módulos, tasks, rutas y efectos;
74
+ - medir drift contra código vivo o código seleccionado;
75
+ - mapear impacto;
76
+ - preparar contexto IA-first;
77
+ - resolver gates de documentación;
78
+ - ejecutar validadores de profiles y pipelines;
79
+ - ejecutar acciones locales o en la VPS.
80
+
81
+ El MCP privado decide cuándo cobrar SEMAS y qué operación puede continuar. La CLI ejecuta el trabajo técnico en el entorno donde tiene acceso a los archivos.
82
+
83
+ ```bash
84
+ npm install -g @semacode/cli
85
+ ```
86
+
87
+ ```bash
88
+ sema resumo . --curto
89
+ sema validar contratos/pedidos.sema --json
90
+ sema drift contratos/pedidos.sema --escopo modulo --json
91
+ sema docs-impacto --intencao "alterar pedidos" --arquivo contratos/pedidos.sema --json
92
+ sema finalizar-mudanca --intencao "alterar pedidos" --doc-lida README.md --json
93
+ ```
@@ -0,0 +1,30 @@
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. If it does not exist, download `https://sema.otimitare.online/AGENTS.md` into the project. In web chats, do not download files into the chat environment; use `sema_chat_contexto`, `sema_sync`, and inline content.
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. Se não existir, baixe `https://sema.otimitare.online/AGENTS.md` para o projeto. Em chats web, não baixe arquivos no ambiente do chat; use `sema_chat_contexto`, `sema_sync` e conteúdo inline.
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 IDE local, el primer paso es confirmar que `AGENTS.md` existe en la raíz del proyecto. Si no existe, descarga `https://sema.otimitare.online/AGENTS.md` en el proyecto. En chats web, no descargues archivos en el entorno del chat; usa `sema_chat_contexto`, `sema_sync` y contenido inline.
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.
package/docs/deploy.md ADDED
@@ -0,0 +1,45 @@
1
+ # Deploy Privado
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 no longer has a public product release runbook. Deploy is private and covers the MCP service, governed CLI runtime, account panel, Supabase control plane, and authorized project mirrors.
11
+
12
+ Before deploy, run the private boundary check and build:
13
+
14
+ ```bash
15
+ npm run repo:verificar-privado
16
+ npm run build
17
+ ```
18
+
19
+ For the VPS, deploy only the files required by the change, restart `sema-mcp.service` only when runtime code changed, and verify `/healthz` after restart.
20
+
21
+ ## Português
22
+
23
+ A Sema não tem mais runbook de release pública de produto. O deploy é privado e cobre serviço MCP, runtime governado da CLI, painel de conta, control plane Supabase e espelhos de projeto autorizados.
24
+
25
+ Antes do deploy, rode a checagem de fronteira privada e o build:
26
+
27
+ ```bash
28
+ npm run repo:verificar-privado
29
+ npm run build
30
+ ```
31
+
32
+ Na VPS, envie apenas os arquivos exigidos pela mudança, reinicie `sema-mcp.service` somente quando código de runtime mudar e valide `/healthz` depois do restart.
33
+
34
+ ## Español
35
+
36
+ Sema ya no tiene runbook de release pública de producto. El deploy es privado y cubre el servicio MCP, runtime gobernado de la CLI, panel de cuenta, control plane Supabase y espejos de proyecto autorizados.
37
+
38
+ Antes del deploy, ejecuta la verificación de frontera privada y el build:
39
+
40
+ ```bash
41
+ npm run repo:verificar-privado
42
+ npm run build
43
+ ```
44
+
45
+ En la VPS, envía solo los archivos exigidos por el cambio, reinicia `sema-mcp.service` solo cuando cambie código de runtime y valida `/healthz` después del restart.
@@ -0,0 +1,88 @@
1
+ # Documentation Governance
2
+
3
+ ## English
4
+
5
+ Sema treats documentation as part of the change, not as a polite afterthought. Before an AI edits a contract, code, configuration, workflow, deploy, Author text, game rule, legal note, research note, or operational runbook, it must resolve the documentation that explains the intended change.
6
+
7
+ Public documentation follows the exact order defined in [i18n.md](./i18n.md): English, Português, Español. Portuguese and Spanish must keep proper accents. Code blocks, identifiers, paths, command names, and `.sema` symbols are preserved unless a semantic rename contract says otherwise.
8
+
9
+ ### Operational Gate
10
+
11
+ ```bash
12
+ sema docs-impacto --intencao "criar rota de pagamento" --arquivo contratos/pagamento.sema --json
13
+ ```
14
+
15
+ If the command reports missing docs, create or complete those docs before changing code, contracts, deploy, or configuration.
16
+
17
+ ### Required Reading
18
+
19
+ The `docs-impacto` result returns:
20
+
21
+ - `leituraObrigatoria`: docs, readmes, and contracts that must be read.
22
+ - `docsAusentes`: docs that block the action.
23
+ - `docsCriadas`: docs created automatically when authorized.
24
+ - `bloqueios`: severity 4 diagnostics.
25
+
26
+ Before declaring the work done, the agent must run:
27
+
28
+ ```bash
29
+ sema finalizar-mudanca --intencao "criar rota de pagamento" --doc-lida README.md --doc-lida docs/documentacao.md --json
30
+ ```
31
+
32
+ ## Português
33
+
34
+ A Sema trata documentação como parte da mudança, não como pós-escrito simpático para alguém lembrar depois. Antes de uma IA editar contrato, código, configuração, workflow, deploy, texto Author, regra de jogo, nota jurídica, pesquisa ou runbook operacional, ela precisa resolver a documentação que explica a intenção da mudança.
35
+
36
+ A documentação pública segue a ordem exata definida em [i18n.md](./i18n.md): English, Português, Español. Português e espanhol precisam preservar acentos. Blocos de código, identificadores, caminhos, nomes de comando e símbolos `.sema` são preservados, exceto quando houver contrato de renomeação semântica.
37
+
38
+ ### Gate Operacional
39
+
40
+ ```bash
41
+ sema docs-impacto --intencao "criar rota de pagamento" --arquivo contratos/pagamento.sema --json
42
+ ```
43
+
44
+ Se o comando apontar docs ausentes, crie ou complete essas docs antes de mudar código, contratos, deploy ou configuração.
45
+
46
+ ### Leitura Obrigatória
47
+
48
+ O resultado de `docs-impacto` retorna:
49
+
50
+ - `leituraObrigatoria`: docs, readmes e contratos que precisam ser lidos.
51
+ - `docsAusentes`: docs que bloqueiam a ação.
52
+ - `docsCriadas`: docs criadas automaticamente quando autorizado.
53
+ - `bloqueios`: diagnósticos de severidade 4.
54
+
55
+ Antes de dizer que o trabalho terminou, o agente precisa rodar:
56
+
57
+ ```bash
58
+ sema finalizar-mudanca --intencao "criar rota de pagamento" --doc-lida README.md --doc-lida docs/documentacao.md --json
59
+ ```
60
+
61
+ ## Español
62
+
63
+ Sema trata la documentación como parte del cambio, no como una nota amable para recordar después. Antes de que una IA edite contrato, código, configuración, workflow, deploy, texto Author, regla de juego, nota legal, investigación o runbook operativo, debe resolver la documentación que explica la intención del cambio.
64
+
65
+ La documentación pública sigue el orden exacto definido en [i18n.md](./i18n.md): English, Português, Español. Portugués y español deben conservar sus acentos. Bloques de código, identificadores, rutas, nombres de comando y símbolos `.sema` se preservan, excepto cuando exista un contrato de renombrado semántico.
66
+
67
+ ### Gate Operativo
68
+
69
+ ```bash
70
+ sema docs-impacto --intencao "criar rota de pagamento" --arquivo contratos/pagamento.sema --json
71
+ ```
72
+
73
+ Si el comando informa docs ausentes, crea o completa esas docs antes de cambiar código, contratos, deploy o configuración.
74
+
75
+ ### Lectura Obligatoria
76
+
77
+ El resultado de `docs-impacto` devuelve:
78
+
79
+ - `leituraObrigatoria`: docs, readmes y contratos que deben leerse.
80
+ - `docsAusentes`: docs que bloquean la acción.
81
+ - `docsCriadas`: docs creadas automáticamente cuando se autoriza.
82
+ - `bloqueios`: diagnósticos de severidad 4.
83
+
84
+ Antes de decir que el trabajo terminó, el agente debe ejecutar:
85
+
86
+ ```bash
87
+ sema finalizar-mudanca --intencao "criar rota de pagamento" --doc-lida README.md --doc-lida docs/documentacao.md --json
88
+ ```
package/docs/env.md ADDED
@@ -0,0 +1,115 @@
1
+ # Env
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
+ Ambiente necessário para publicar a Sema.
10
+
11
+ ## Ferramentas
12
+
13
+ - Node.js LTS com `npm`.
14
+ - Git com acesso push ao remoto `origin`.
15
+ - GitHub CLI (`gh`) autenticado.
16
+ - VS Code CLI (`code`) para instalar a VSIX localmente.
17
+ - PowerShell no Windows.
18
+
19
+ ## Variaveis suportadas pelos instaladores publicos
20
+
21
+ - `SEMA_REPO`: repositório GitHub usado para baixar assets. Padrão: `gerlanss/Sema`.
22
+ - `SEMA_NPM_PACKAGE`: pacote da CLI. Padrão: `@semacode/cli`.
23
+ - `SEMA_VERSION`: versão usada pelo `install-sema.sh`. Padrão: `latest`.
24
+
25
+ No PowerShell, o instalador recebe a versão por parametro:
26
+
27
+ ```powershell
28
+ .\install-sema.ps1 -Version 1.5.29 -WithVSCode
29
+ ```
30
+
31
+ No shell:
32
+
33
+ ```bash
34
+ SEMA_VERSION=1.5.29 ./install-sema.sh --with-vscode
35
+ ```
36
+
37
+ ## Credenciais
38
+
39
+ - NPM deve estar logado antes de publicar: `npm whoami`.
40
+ - GitHub CLI deve estar logado antes de criar release: `gh auth status`.
41
+ - Nunca registre tokens em docs, logs ou release notes.
42
+
43
+ ## Registro NPM
44
+
45
+ O pacote público é:
46
+
47
+ - `@semacode/cli`
48
+
49
+ Antes de publicar, confira:
50
+
51
+ ```bash
52
+ npm view @semacode/cli version
53
+ npm run release:verificar-versao
54
+ ```
55
+
56
+ ## Cliente MCP remoto
57
+
58
+ Variaveis usadas por Codex, VS Code/forks e clientes que aceitam bearer:
59
+
60
+ - `SEMA_MCP_AUTH_TOKEN`: chave comercial `sema_mcp_*` gerada no painel. E do cliente, nao do servidor.
61
+ - `SEMA_MCP_ENDPOINT`: URL HTTPS `/mcp` usada por clientes que leem endpoint por variavel.
62
+
63
+ No Windows, instale sem expor a chave em argumento:
64
+
65
+ ```powershell
66
+ Get-Clipboard | sema mcp-instalar-chave --stdin --json
67
+ ```
68
+
69
+ ## Servidor MCP remoto privado
70
+
71
+ Variaveis usadas pelo servidor MCP privado quando roda em modo HTTP:
72
+
73
+ - `MCP_PORT`: porta HTTP. Quando ausente, o MCP roda em `stdio`.
74
+ - `MCP_HOST`: host de bind. Padrão: `0.0.0.0`.
75
+ - `SEMA_MCP_PUBLIC_BASE_URL`: URL pública HTTPS usada nos metadados OAuth do ChatGPT.
76
+ - `SEMA_MCP_OAUTH_SECRET`: segredo usado para assinar access/refresh tokens OAuth.
77
+ - `SEMA_MCP_OAUTH_PASSCODE`: passcode privado digitado no login OAuth do ChatGPT.
78
+ - `SEMA_MCP_PROJECT_ROOTS`: raizes permitidas para projetos, separadas por `;`.
79
+ - `SEMA_MCP_CORS_ORIGIN`: origem CORS permitida, `*` ou lista separada por `;`.
80
+ - `SEMA_MCP_MAX_CONTRACT_FILE_BYTES`: limite por contrato `.sema` enviado por snapshot ou conteudo inline. Padrao: `262144`.
81
+ - `SEMA_MCP_MAX_CODE_FILE_BYTES`: limite por arquivo de codigo selecionado enviado por snapshot. Padrao: `262144`.
82
+ - `SEMA_MCP_MAX_DOC_FILE_BYTES`: limite por arquivo de documentacao enviado por snapshot. Padrao: `262144`.
83
+ - `SEMA_MCP_MAX_CODE_FILES`: limite de arquivos de codigo selecionado por snapshot. Padrao: `80`.
84
+ - `SEMA_MCP_MAX_DOC_FILES`: limite de arquivos de documentacao por snapshot. Padrao: `80`.
85
+
86
+ Exemplo operacional privado:
87
+
88
+ ```bash
89
+ MCP_PORT=3333 \
90
+ SEMA_MCP_PUBLIC_BASE_URL="https://sema.exemplo.com" \
91
+ SEMA_MCP_OAUTH_SECRET="segredo-longo-para-oauth" \
92
+ SEMA_MCP_OAUTH_PASSCODE="passcode-privado-chatgpt" \
93
+ SEMA_MCP_PROJECT_ROOTS="/srv/sema/projetos" \
94
+ SEMA_MCP_MAX_CONTRACT_FILE_BYTES=262144 \
95
+ SEMA_MCP_MAX_CODE_FILE_BYTES=262144 \
96
+ SEMA_MCP_MAX_DOC_FILE_BYTES=262144
97
+ ```
98
+
99
+ Nunca publique `/mcp` ou `/sse` na internet sem chave comercial bearer por request ou OAuth configurado, raiz restrita e HTTPS no proxy. Nunca registre chaves `sema_mcp_*`, OAuth secret ou passcode em docs publicas, logs, release notes ou screenshots.
100
+
101
+ O limite de bytes e validado antes de gravar espelhos remotos ou executar contratos inline. Clientes MCP devem respeitar o limite anunciado no schema da ferramenta e dividir snapshots grandes em arquivos focados, sem enviar repositorio inteiro.
102
+
103
+ ## GitHub Release
104
+
105
+ O tag público deve seguir `v<versao>`, por exemplo `v1.5.29`.
106
+
107
+ Os assets ficam em `.tmp/release-assets` e sao derivados dos scripts versionados no repositório.
108
+
109
+ Depois de publicar, rode:
110
+
111
+ ```bash
112
+ npm run release:verificar-publica
113
+ ```
114
+
115
+ Esse check cruza README/docs, manifestos, npm, GitHub Latest, assets publicados, CLI local e VSIX instalada quando o VS Code CLI está disponivel.
@@ -0,0 +1,42 @@
1
+ # Extensão VS Code
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
+ The VS Code extension is part of the private Sema workflow. It should help local IDE agents read `AGENTS.md`, run the governed CLI runtime installed from `@semacode/cli`, install MCP keys safely, and synchronize AI entry points without exposing secrets.
11
+
12
+ Smoke test:
13
+
14
+ 1. Open a project with `.sema` contracts.
15
+ 2. Confirm the language server starts.
16
+ 3. Run the Sema CLI diagnostic command.
17
+ 4. Install an MCP key from the panel without passing the secret as a process argument.
18
+ 5. Synchronize AI entry points.
19
+
20
+ ## Português
21
+
22
+ A extensão VS Code faz parte do fluxo privado da Sema. Ela deve ajudar agentes em IDE local a ler `AGENTS.md`, rodar o runtime governado da CLI instalada por `@semacode/cli`, instalar chaves MCP com segurança e sincronizar entrypoints IA sem expor segredos.
23
+
24
+ Smoke test:
25
+
26
+ 1. Abra um projeto com contratos `.sema`.
27
+ 2. Confirme que o language server inicia.
28
+ 3. Rode o diagnóstico da CLI Sema.
29
+ 4. Instale uma chave MCP do painel sem passar o segredo como argumento de processo.
30
+ 5. Sincronize entrypoints IA.
31
+
32
+ ## Español
33
+
34
+ La extensión VS Code forma parte del flujo privado de Sema. Debe ayudar a agentes en IDE local a leer `AGENTS.md`, ejecutar el runtime gobernado de la CLI instalada desde `@semacode/cli`, instalar claves MCP con seguridad y sincronizar entrypoints IA sin exponer secretos.
35
+
36
+ Smoke test:
37
+
38
+ 1. Abre un proyecto con contratos `.sema`.
39
+ 2. Confirma que el language server inicia.
40
+ 3. Ejecuta el diagnóstico de la CLI Sema.
41
+ 4. Instala una clave MCP del panel sin pasar el secreto como argumento de proceso.
42
+ 5. Sincroniza entrypoints IA.
@@ -0,0 +1,187 @@
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
+ ## Fluxo curto
16
+
17
+ 1. ler contexto do projeto
18
+ 2. identificar a capacidade da IA
19
+ 3. identificar o módulo alvo
20
+ 4. consultar o menor artefato semântico suficiente
21
+ 5. editar
22
+ 6. formatar
23
+ 7. validar
24
+ 8. verificar
25
+
26
+ ## Fluxo detalhado
27
+
28
+ ### Etapa 1. Ler contexto mínimo
29
+
30
+ Antes de tocar em qualquer arquivo, a IA deve ler:
31
+
32
+ - [README.md](../README.md)
33
+ - [integração-com-ia.md](./integracao-com-ia.md)
34
+ - [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
35
+
36
+ Se o trabalho estiver ligado a pagamento, ler também:
37
+
38
+ - [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
39
+
40
+ ### Etapa 2. Escolher a faixa de capacidade
41
+
42
+ Antes de despejar contexto na IA, escolha o que ela aguenta:
43
+
44
+ - IA pequena ou gratuita: `sema resumo --micro` e `briefing.min.json`
45
+ - IA média: `sema resumo --curto`, `briefing.min.json` e `drift.json`
46
+ - IA grande: `contexto-ia`, `briefing.json`, `drift.json`, `ir.json` e `ast.json`
47
+
48
+ ### Etapa 3. Ler o módulo alvo e um exemplo parecido
49
+
50
+ A IA deve identificar:
51
+
52
+ - qual arquivo sera editado
53
+ - qual módulo esse arquivo representa
54
+ - qual exemplo oficial mais se parece com o que precisa ser feito
55
+
56
+ Regra pratica:
57
+
58
+ - automacao: [automacao.sema](../exemplos/automacao.sema)
59
+ - erros e fluxos de falha: [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
60
+ - borda pública e pagamento: [pagamento.sema](../exemplos/pagamento.sema)
61
+
62
+ ### Etapa 4. Consultar AST e IR quando fizer sentido
63
+
64
+ Antes de alterar, a IA deve executar:
65
+
66
+ ```bash
67
+ sema resumo caminho/arquivo.sema --curto --para mudanca
68
+ sema ast caminho/arquivo.sema --json
69
+ sema ir caminho/arquivo.sema --json
70
+ ```
71
+
72
+ Objetivo:
73
+
74
+ - ver a forma sintatica quando a capacidade aguentar
75
+ - ver a forma semântica resolvida quando a capacidade aguentar
76
+ - evitar interpretar errado o contrato
77
+
78
+ ### Etapa 5. Editar o `.sema`
79
+
80
+ Ao editar, a IA deve:
81
+
82
+ - preservar a intenção do módulo
83
+ - seguir a gramática existente
84
+ - evitar criar bloco ou operador não suportado
85
+ - preferir a forma já usada nos exemplos oficiais
86
+ - usar blocos existentes como `auth`, `authz`, `dados`, `audit`, `forbidden`, `execucao`, `use`, `state` e `enum` antes de propor sintaxe nova
87
+ - evitar teste fraco em task sensível; `expect { sucesso: verdadeiro }` sozinho não prova semântica operacional
88
+
89
+ ### Etapa 6. Formatar
90
+
91
+ Depois da edição:
92
+
93
+ ```bash
94
+ sema formatar caminho/arquivo.sema
95
+ sema formatar caminho/arquivo.sema --check
96
+ ```
97
+
98
+ Se `--check` falhar, o trabalho ainda não está pronto.
99
+
100
+ ### Etapa 7. Validar e diagnosticar
101
+
102
+ Depois da formatacao:
103
+
104
+ ```bash
105
+ sema validar caminho/arquivo.sema --json
106
+ sema diagnosticos caminho/arquivo.sema --json
107
+ ```
108
+
109
+ Se houver falha:
110
+
111
+ - usar os diagnósticos estruturados como contrato de correcao
112
+ - não insistir em leitura manual teimosa quando a CLI já disse onde está a merda
113
+
114
+ ### Etapa 7.5. Compilar quando a tarefa pedir código derivado
115
+
116
+ Se a tarefa não for só editar contrato, mas também gerar base de implementacao, a IA deve rodar explicitamente:
117
+
118
+ ```bash
119
+ sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
120
+ ```
121
+
122
+ Ou trocar o alvo para `python` ou `dart`, conforme o caso.
123
+
124
+ Regra pratica:
125
+
126
+ - se a entrega inclui código derivado, `sema compilar` não é opcional
127
+ - se a IA ignorar `compilar`, ela pode acabar reescrevendo na mao coisa que a Sema já gera sozinha, que é burrice operacional
128
+
129
+ ### Etapa 8. Verificar
130
+
131
+ No fechamento:
132
+
133
+ ```bash
134
+ sema verificar arquivo-ou-pasta --json --saida ./.tmp/verificacao-ia
135
+ ```
136
+
137
+ ## Fluxo mínimo para automacao
138
+
139
+ Se voce quiser o menor fluxo aceitavel para uma IA pequena:
140
+
141
+ ```bash
142
+ sema resumo caminho/arquivo.sema --micro --para mudanca
143
+ sema formatar caminho/arquivo.sema
144
+ sema validar caminho/arquivo.sema --json
145
+ ```
146
+
147
+ Mas, sendo sincero, o fluxo bom mesmo e fechar com `verificar`.
148
+
149
+ Se a tarefa envolver código derivado, o fluxo mínimo aceitavel vira:
150
+
151
+ ```bash
152
+ sema ir caminho/arquivo.sema --json
153
+ sema formatar caminho/arquivo.sema
154
+ sema validar caminho/arquivo.sema --json
155
+ sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
156
+ ```
157
+
158
+ ## Checklist de saída
159
+
160
+ Antes de considerar a alteracao pronta, a IA deve responder mentalmente:
161
+
162
+ - eu entendi o módulo e o contrato?
163
+ - eu mantive a sintaxe dentro do que a linguagem suporta?
164
+ - eu formatei o arquivo?
165
+ - eu validei?
166
+ - eu olhei diagnósticos se algo falhou?
167
+ - eu fechei com verificação?
168
+
169
+ Se alguma resposta for "não", ainda não terminou.
170
+
171
+ ## Regra de ouro
172
+
173
+ Em Sema, a IA não deveria operar no escuro.
174
+
175
+ Ela deve trabalhar sempre com:
176
+
177
+ - exemplo oficial
178
+ - AST
179
+ - IR
180
+ - diagnósticos
181
+ - formatador
182
+
183
+ Esse conjunto e o que faz a linguagem ser amigavel para IA de verdade, e não só no discurso bonito.
184
+
185
+ ## Observacao sobre caminhos
186
+
187
+ 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.