@semacode/cli 1.5.17 → 1.5.19

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 (111) hide show
  1. package/AGENTS.md +268 -260
  2. package/LICENSE +22 -22
  3. package/README.md +93 -61
  4. package/SEMA_BRIEF.curto.txt +8 -6
  5. package/SEMA_BRIEF.md +71 -22
  6. package/SEMA_BRIEF.micro.txt +7 -5
  7. package/SEMA_INDEX.json +931 -193
  8. package/dist/controleComercialSupabase.d.ts +326 -0
  9. package/dist/controleComercialSupabase.js +310 -0
  10. package/dist/controleComercialSupabase.js.map +1 -0
  11. package/dist/docs.js +48 -20
  12. package/dist/docs.js.map +1 -1
  13. package/dist/drift.d.ts +5 -3
  14. package/dist/drift.js +119 -116
  15. package/dist/drift.js.map +1 -1
  16. package/dist/importador.d.ts +1 -1
  17. package/dist/importador.js +1 -200
  18. package/dist/importador.js.map +1 -1
  19. package/dist/index.js +1924 -493
  20. package/dist/index.js.map +1 -1
  21. package/dist/mcpRemoto.d.ts +32 -0
  22. package/dist/mcpRemoto.js +61 -0
  23. package/dist/mcpRemoto.js.map +1 -0
  24. package/dist/projeto.js +3 -21
  25. package/dist/projeto.js.map +1 -1
  26. package/dist/tipos.d.ts +1 -1
  27. package/docs/AGENT_STARTER.md +109 -102
  28. package/docs/cli.md +89 -33
  29. package/docs/como-ensinar-a-sema-para-ia.md +42 -36
  30. package/docs/deploy.md +231 -43
  31. package/docs/documentacao.md +61 -36
  32. package/docs/env.md +63 -14
  33. package/docs/extensao-vscode.md +12 -4
  34. package/docs/fluxo-pratico-ia-sema.md +45 -35
  35. package/docs/instalacao-e-primeiro-uso.md +52 -30
  36. package/docs/integracao-com-ia.md +44 -35
  37. package/docs/mcp.md +270 -31
  38. package/docs/pagamento-ponta-a-ponta.md +40 -24
  39. package/docs/persistencia-vendor-first.md +11 -5
  40. package/docs/prompt-base-ia-sema.md +18 -11
  41. package/docs/rollback.md +17 -15
  42. package/docs/sintaxe.md +37 -229
  43. package/exemplos/agendamento.sema +105 -106
  44. package/exemplos/assinatura.sema +133 -136
  45. package/exemplos/auditoria.sema +89 -88
  46. package/exemplos/autenticacao.sema +125 -125
  47. package/exemplos/author_obra_comum.sema +294 -0
  48. package/exemplos/author_tema_sensivel.sema +264 -0
  49. package/exemplos/automacao.sema +107 -107
  50. package/exemplos/cadastro_usuario.sema +54 -54
  51. package/exemplos/calculadora.sema +78 -78
  52. package/exemplos/crud_simples.sema +89 -89
  53. package/exemplos/estoque.sema +127 -126
  54. package/exemplos/exportacao.sema +94 -94
  55. package/exemplos/fila.sema +130 -131
  56. package/exemplos/integracao_externa.sema +94 -94
  57. package/exemplos/multi_tenant.sema +140 -140
  58. package/exemplos/notificacao.sema +149 -98
  59. package/exemplos/operacao_estrategia.sema +633 -402
  60. package/exemplos/pagamento.sema +434 -222
  61. package/exemplos/pagamento_dominio.sema +35 -35
  62. package/exemplos/pedido.sema +255 -119
  63. package/exemplos/permissao.sema +121 -121
  64. package/exemplos/persistencia_vendor_first.sema +86 -86
  65. package/exemplos/profile_game.sema +114 -0
  66. package/exemplos/profile_legal.sema +105 -0
  67. package/exemplos/profile_ops.sema +110 -0
  68. package/exemplos/profile_research.sema +104 -0
  69. package/exemplos/profile_software.sema +123 -0
  70. package/exemplos/profile_workflow_n8n.sema +99 -0
  71. package/exemplos/relatorio.sema +93 -93
  72. package/exemplos/replica_analitica_erp.sema +160 -0
  73. package/exemplos/testes_embutidos.sema +45 -45
  74. package/exemplos/tratamento_erro.sema +157 -157
  75. package/exemplos/upload_arquivo.sema +93 -93
  76. package/exemplos/webhook.sema +94 -96
  77. package/llms-full.txt +34 -34
  78. package/llms.txt +17 -17
  79. package/node_modules/@sema/gerador-css/dist/index.js +563 -563
  80. package/node_modules/@sema/gerador-css/package.json +1 -1
  81. package/node_modules/@sema/gerador-dart/package.json +1 -1
  82. package/node_modules/@sema/gerador-html/dist/index.js +90 -90
  83. package/node_modules/@sema/gerador-html/package.json +1 -1
  84. package/node_modules/@sema/gerador-javascript/dist/index.js +92 -92
  85. package/node_modules/@sema/gerador-javascript/package.json +1 -1
  86. package/node_modules/@sema/gerador-lua/dist/index.js +53 -53
  87. package/node_modules/@sema/gerador-lua/package.json +1 -1
  88. package/node_modules/@sema/gerador-python/dist/index.js +122 -96
  89. package/node_modules/@sema/gerador-python/dist/index.js.map +1 -1
  90. package/node_modules/@sema/gerador-python/package.json +1 -1
  91. package/node_modules/@sema/gerador-typescript/dist/index.js +153 -153
  92. package/node_modules/@sema/gerador-typescript/package.json +1 -1
  93. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +2 -4
  94. package/node_modules/@sema/nucleo/dist/formatador/index.js +26 -46
  95. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +1 -1
  96. package/node_modules/@sema/nucleo/dist/ir/conversor.js +9 -204
  97. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -1
  98. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +3 -35
  99. package/node_modules/@sema/nucleo/dist/lexer/tokens.js +0 -21
  100. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +1 -1
  101. package/node_modules/@sema/nucleo/dist/parser/parser.js +0 -40
  102. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -1
  103. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +6 -5
  104. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +76 -307
  105. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -1
  106. package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +2 -0
  107. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +32 -2
  108. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +1 -1
  109. package/node_modules/@sema/nucleo/package.json +1 -1
  110. package/node_modules/@sema/padroes/package.json +1 -1
  111. package/package.json +15 -15
@@ -1,63 +1,88 @@
1
- # Governanca de Documentacao
1
+ # Documentation Governance
2
2
 
3
- A Sema trata documentacao como parte da mudanca, nao como pos-escrito simpatico para alguem lembrar depois.
3
+ ## English
4
4
 
5
- ## Regra principal
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
6
 
7
- Toda IA deve resolver documentacao obrigatoria antes de editar contrato, codigo, configuracao ou executar operacoes como deploy.
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
8
10
 
9
11
  ```bash
10
12
  sema docs-impacto --intencao "criar rota de pagamento" --arquivo contratos/pagamento.sema --json
11
13
  ```
12
14
 
13
- Se o comando apontar docs ausentes, crie ou preencha essas docs antes da acao. Para criar runbooks base:
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:
14
27
 
15
28
  ```bash
16
- sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
29
+ sema finalizar-mudanca --intencao "criar rota de pagamento" --doc-lida README.md --doc-lida docs/documentacao.md --json
17
30
  ```
18
31
 
19
- ## Leitura obrigatoria
32
+ ## Português
20
33
 
21
- O resultado de `docs-impacto` traz:
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.
22
35
 
23
- - `leituraObrigatoria`: docs, readmes e contratos que devem ser lidos.
24
- - `docsAusentes`: docs que bloqueiam a acao.
25
- - `docsCriadas`: docs criadas automaticamente quando autorizado.
26
- - `bloqueios`: diagnosticos de severidade 4.
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.
27
37
 
28
- O conteudo dos documentos existentes vem na resposta para que o agente realmente leia o material antes de agir.
38
+ ### Gate Operacional
29
39
 
30
- ## Finalizacao
40
+ ```bash
41
+ sema docs-impacto --intencao "criar rota de pagamento" --arquivo contratos/pagamento.sema --json
42
+ ```
31
43
 
32
- Antes de responder que terminou, a IA deve chamar:
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:
33
56
 
34
57
  ```bash
35
- sema finalizar-mudanca --intencao "criar rota de pagamento" --doc-lida README.md --doc-lida docs/api.md --json
58
+ sema finalizar-mudanca --intencao "criar rota de pagamento" --doc-lida README.md --doc-lida docs/documentacao.md --json
36
59
  ```
37
60
 
38
- Se faltar leitura ou documentacao, a conclusao deve ser bloqueada.
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.
39
64
 
40
- ## Docs que podem nascer automaticamente
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.
41
66
 
42
- O Sema cria runbooks base para categorias operacionais:
67
+ ### Gate Operativo
43
68
 
44
- - `docs/deploy.md`
45
- - `docs/env.md`
46
- - `docs/rollback.md`
47
- - `docs/api.md`
48
- - `docs/auth.md`
49
- - `docs/seguranca.md`
50
- - `docs/database.md`
51
- - `docs/frontend.md`
52
- - `docs/testes.md`
53
- - `docs/mcp.md`
54
- - `docs/documentacao.md`
55
- - `docs/extensao-vscode.md`
69
+ ```bash
70
+ sema docs-impacto --intencao "criar rota de pagamento" --arquivo contratos/pagamento.sema --json
71
+ ```
56
72
 
57
- Esses arquivos sao esqueletos seguros. Eles devem ser completados com detalhes reais do projeto quando a operacao exigir.
73
+ Si el comando informa docs ausentes, crea o completa esas docs antes de cambiar código, contratos, deploy o configuración.
58
74
 
59
- ## O que nao fazer
75
+ ### Lectura Obligatoria
60
76
 
61
- - Nao concluir uma mudanca sem rodar o portao documental.
62
- - Nao usar doc criada automaticamente como evidencia final se ela ainda esta generica.
63
- - Nao editar codigo sem contrato e sem leitura das docs relacionadas.
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 CHANGED
@@ -1,6 +1,12 @@
1
1
  # Env
2
2
 
3
- Ambiente necessario para publicar a Sema.
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.
4
10
 
5
11
  ## Ferramentas
6
12
 
@@ -10,23 +16,22 @@ Ambiente necessario para publicar a Sema.
10
16
  - VS Code CLI (`code`) para instalar a VSIX localmente.
11
17
  - PowerShell no Windows.
12
18
 
13
- ## Variaveis suportadas pelos instaladores
19
+ ## Variaveis suportadas pelos instaladores publicos
14
20
 
15
- - `SEMA_REPO`: repositorio GitHub usado para baixar assets. Padrao: `gerlanss/Sema`.
16
- - `SEMA_NPM_PACKAGE`: pacote da CLI. Padrao: `@semacode/cli`.
17
- - `SEMA_MCP_NPM_PACKAGE`: pacote do MCP. Padrao: `@semacode/mcp`.
18
- - `SEMA_VERSION`: versao usada pelo `install-sema.sh`. Padrao: `latest`.
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`.
19
24
 
20
- No PowerShell, o instalador recebe a versao por parametro:
25
+ No PowerShell, o instalador recebe a versão por parametro:
21
26
 
22
27
  ```powershell
23
- .\install-sema.ps1 -Version 1.5.10 -WithVSCode -WithMcp
28
+ .\install-sema.ps1 -Version 1.5.19 -WithVSCode
24
29
  ```
25
30
 
26
31
  No shell:
27
32
 
28
33
  ```bash
29
- SEMA_VERSION=1.5.10 ./install-sema.sh --with-vscode --with-mcp
34
+ SEMA_VERSION=1.5.19 ./install-sema.sh --with-vscode
30
35
  ```
31
36
 
32
37
  ## Credenciais
@@ -37,20 +42,64 @@ SEMA_VERSION=1.5.10 ./install-sema.sh --with-vscode --with-mcp
37
42
 
38
43
  ## Registro NPM
39
44
 
40
- Os pacotes publicos sao:
45
+ O pacote público é:
41
46
 
42
47
  - `@semacode/cli`
43
- - `@semacode/mcp`
44
48
 
45
49
  Antes de publicar, confira:
46
50
 
47
51
  ```bash
48
52
  npm view @semacode/cli version
49
- npm view @semacode/mcp 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
+
81
+ Exemplo operacional privado:
82
+
83
+ ```bash
84
+ MCP_PORT=3333 \
85
+ SEMA_MCP_PUBLIC_BASE_URL="https://sema.exemplo.com" \
86
+ SEMA_MCP_OAUTH_SECRET="segredo-longo-para-oauth" \
87
+ SEMA_MCP_OAUTH_PASSCODE="passcode-privado-chatgpt" \
88
+ SEMA_MCP_PROJECT_ROOTS="/srv/sema/projetos"
50
89
  ```
51
90
 
91
+ 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.
92
+
52
93
  ## GitHub Release
53
94
 
54
- O tag publico deve seguir `v<versao>`, por exemplo `v1.5.10`.
95
+ O tag público deve seguir `v<versao>`, por exemplo `v1.5.19`.
96
+
97
+ Os assets ficam em `.tmp/release-assets` e sao derivados dos scripts versionados no repositório.
98
+
99
+ Depois de publicar, rode:
100
+
101
+ ```bash
102
+ npm run release:verificar-publica
103
+ ```
55
104
 
56
- Os assets ficam em `.tmp/release-assets` e sao derivados dos scripts versionados no repositorio.
105
+ Esse check cruza README/docs, manifestos, npm, GitHub Latest, assets publicados, CLI local e VSIX instalada quando o VS Code CLI está disponivel.
@@ -1,5 +1,11 @@
1
1
  # Extensao VS Code
2
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
+
3
9
  Runbook da extensao `Sema Language Tools`.
4
10
 
5
11
  ## Arquivos principais
@@ -35,11 +41,13 @@ code --install-extension .tmp/editor-vscode/sema-language-tools-<versao>.vsix --
35
41
  1. Abra um projeto com `.sema`.
36
42
  2. Confirme que o Language Server inicia sem crash.
37
43
  3. Rode `Sema: Diagnosticar CLI`.
38
- 4. Rode `Sema: Sincronizar EntryPoints IA do Projeto`.
39
- 5. Abra um `.sema` e confirme diagnosticos, highlight e formatação.
44
+ 4. Rode `Sema: Instalar Chave MCP`, cole uma chave `sema_mcp_*` do painel e confirme que a CLI grava a variavel do usuario sem argumento com segredo.
45
+ 5. Rode `Sema: Sincronizar EntryPoints IA do Projeto`.
46
+ 6. Abra um `.sema` e confirme diagnosticos, highlight e formatacao.
40
47
 
41
48
  ## Cuidados
42
49
 
43
50
  - O `extension.js` deve apontar o LSP para `server.js`.
44
- - A extensao embute instrucoes de IA; atualize a lista de ferramentas MCP quando novos comandos forem adicionados.
45
- - A versao da extensao deve bater com a versao publica preparada por `release:preparar-publica`.
51
+ - A extensao embute instrucoes de IA; atualize a lista de ferramentas MCP privadas quando novos comandos remotos forem adicionados.
52
+ - A chave MCP do painel deve ser instalada via comando da extensao ou `sema mcp-instalar-chave --stdin`; nao trate `SEMA_MCP_AUTH_TOKEN` como token fixo do servidor.
53
+ - A versão da extensao deve bater com a versão pública preparada por `release:preparar-publica`.
@@ -1,15 +1,23 @@
1
1
  # Fluxo Pratico para IA Antes de Editar `.sema`
2
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
+
3
9
  Este documento descreve o fluxo operacional recomendado para qualquer IA antes, durante e depois de alterar arquivos `.sema`.
4
10
 
5
- Se a IA seguir isso, ela trabalha com contexto. Se nao seguir, vira adivinhacao gourmet.
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.
6
14
 
7
15
  ## Fluxo curto
8
16
 
9
17
  1. ler contexto do projeto
10
18
  2. identificar a capacidade da IA
11
- 3. identificar o modulo alvo
12
- 4. consultar o menor artefato semantico suficiente
19
+ 3. identificar o módulo alvo
20
+ 4. consultar o menor artefato semântico suficiente
13
21
  5. editar
14
22
  6. formatar
15
23
  7. validar
@@ -17,15 +25,15 @@ Se a IA seguir isso, ela trabalha com contexto. Se nao seguir, vira adivinhacao
17
25
 
18
26
  ## Fluxo detalhado
19
27
 
20
- ### Etapa 1. Ler contexto minimo
28
+ ### Etapa 1. Ler contexto mínimo
21
29
 
22
30
  Antes de tocar em qualquer arquivo, a IA deve ler:
23
31
 
24
32
  - [README.md](../README.md)
25
- - [integracao-com-ia.md](./integracao-com-ia.md)
33
+ - [integração-com-ia.md](./integracao-com-ia.md)
26
34
  - [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
27
35
 
28
- Se o trabalho estiver ligado a pagamento, ler tambem:
36
+ Se o trabalho estiver ligado a pagamento, ler também:
29
37
 
30
38
  - [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
31
39
 
@@ -34,22 +42,22 @@ Se o trabalho estiver ligado a pagamento, ler tambem:
34
42
  Antes de despejar contexto na IA, escolha o que ela aguenta:
35
43
 
36
44
  - IA pequena ou gratuita: `sema resumo --micro` e `briefing.min.json`
37
- - IA media: `sema resumo --curto`, `briefing.min.json` e `drift.json`
45
+ - IA média: `sema resumo --curto`, `briefing.min.json` e `drift.json`
38
46
  - IA grande: `contexto-ia`, `briefing.json`, `drift.json`, `ir.json` e `ast.json`
39
47
 
40
- ### Etapa 3. Ler o modulo alvo e um exemplo parecido
48
+ ### Etapa 3. Ler o módulo alvo e um exemplo parecido
41
49
 
42
50
  A IA deve identificar:
43
51
 
44
52
  - qual arquivo sera editado
45
- - qual modulo esse arquivo representa
53
+ - qual módulo esse arquivo representa
46
54
  - qual exemplo oficial mais se parece com o que precisa ser feito
47
55
 
48
56
  Regra pratica:
49
57
 
50
58
  - automacao: [automacao.sema](../exemplos/automacao.sema)
51
59
  - erros e fluxos de falha: [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
52
- - borda publica e pagamento: [pagamento.sema](../exemplos/pagamento.sema)
60
+ - borda pública e pagamento: [pagamento.sema](../exemplos/pagamento.sema)
53
61
 
54
62
  ### Etapa 4. Consultar AST e IR quando fizer sentido
55
63
 
@@ -64,28 +72,30 @@ sema ir caminho/arquivo.sema --json
64
72
  Objetivo:
65
73
 
66
74
  - ver a forma sintatica quando a capacidade aguentar
67
- - ver a forma semantica resolvida quando a capacidade aguentar
75
+ - ver a forma semântica resolvida quando a capacidade aguentar
68
76
  - evitar interpretar errado o contrato
69
77
 
70
78
  ### Etapa 5. Editar o `.sema`
71
79
 
72
80
  Ao editar, a IA deve:
73
81
 
74
- - preservar a intencao do modulo
75
- - seguir a gramatica existente
76
- - evitar criar bloco ou operador nao suportado
77
- - preferir a forma ja usada nos exemplos oficiais
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 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
78
88
 
79
89
  ### Etapa 6. Formatar
80
90
 
81
- Depois da edicao:
91
+ Depois da edição:
82
92
 
83
93
  ```bash
84
94
  sema formatar caminho/arquivo.sema
85
95
  sema formatar caminho/arquivo.sema --check
86
96
  ```
87
97
 
88
- Se `--check` falhar, o trabalho ainda nao esta pronto.
98
+ Se `--check` falhar, o trabalho ainda não está pronto.
89
99
 
90
100
  ### Etapa 7. Validar e diagnosticar
91
101
 
@@ -98,23 +108,23 @@ sema diagnosticos caminho/arquivo.sema --json
98
108
 
99
109
  Se houver falha:
100
110
 
101
- - usar os diagnosticos estruturados como contrato de correcao
102
- - nao insistir em leitura manual teimosa quando a CLI ja disse onde esta a merda
111
+ - usar os diagnósticos estruturados como contrato de correcao
112
+ - não insistir em leitura manual teimosa quando a CLI disse onde está a merda
103
113
 
104
- ### Etapa 7.5. Compilar quando a tarefa pedir codigo derivado
114
+ ### Etapa 7.5. Compilar quando a tarefa pedir código derivado
105
115
 
106
- Se a tarefa nao for so editar contrato, mas tambem gerar base de implementacao, a IA deve rodar explicitamente:
116
+ Se a tarefa não for editar contrato, mas também gerar base de implementacao, a IA deve rodar explicitamente:
107
117
 
108
118
  ```bash
109
119
  sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
110
120
  ```
111
121
 
112
- Ou trocar o alvo para `python`, `dart` ou `lua`, conforme o caso.
122
+ Ou trocar o alvo para `python` ou `dart`, conforme o caso.
113
123
 
114
124
  Regra pratica:
115
125
 
116
- - se a entrega inclui codigo derivado, `sema compilar` nao e opcional
117
- - se a IA ignorar `compilar`, ela pode acabar reescrevendo na mao coisa que a Sema ja gera sozinha, que e burrice operacional
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 gera sozinha, que é burrice operacional
118
128
 
119
129
  ### Etapa 8. Verificar
120
130
 
@@ -124,7 +134,7 @@ No fechamento:
124
134
  sema verificar arquivo-ou-pasta --json --saida ./.tmp/verificacao-ia
125
135
  ```
126
136
 
127
- ## Fluxo minimo para automacao
137
+ ## Fluxo mínimo para automacao
128
138
 
129
139
  Se voce quiser o menor fluxo aceitavel para uma IA pequena:
130
140
 
@@ -136,7 +146,7 @@ sema validar caminho/arquivo.sema --json
136
146
 
137
147
  Mas, sendo sincero, o fluxo bom mesmo e fechar com `verificar`.
138
148
 
139
- Se a tarefa envolver codigo derivado, o fluxo minimo aceitavel vira:
149
+ Se a tarefa envolver código derivado, o fluxo mínimo aceitavel vira:
140
150
 
141
151
  ```bash
142
152
  sema ir caminho/arquivo.sema --json
@@ -145,33 +155,33 @@ sema validar caminho/arquivo.sema --json
145
155
  sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
146
156
  ```
147
157
 
148
- ## Checklist de saida
158
+ ## Checklist de saída
149
159
 
150
160
  Antes de considerar a alteracao pronta, a IA deve responder mentalmente:
151
161
 
152
- - eu entendi o modulo e o contrato?
162
+ - eu entendi o módulo e o contrato?
153
163
  - eu mantive a sintaxe dentro do que a linguagem suporta?
154
164
  - eu formatei o arquivo?
155
165
  - eu validei?
156
- - eu olhei diagnosticos se algo falhou?
157
- - eu fechei com verificacao?
166
+ - eu olhei diagnósticos se algo falhou?
167
+ - eu fechei com verificação?
158
168
 
159
- Se alguma resposta for "nao", ainda nao terminou.
169
+ Se alguma resposta for "não", ainda não terminou.
160
170
 
161
171
  ## Regra de ouro
162
172
 
163
- Em Sema, a IA nao deveria operar no escuro.
173
+ Em Sema, a IA não deveria operar no escuro.
164
174
 
165
175
  Ela deve trabalhar sempre com:
166
176
 
167
177
  - exemplo oficial
168
178
  - AST
169
179
  - IR
170
- - diagnosticos
180
+ - diagnósticos
171
181
  - formatador
172
182
 
173
- Esse conjunto e o que faz a linguagem ser amigavel para IA de verdade, e nao so no discurso bonito.
183
+ Esse conjunto e o que faz a linguagem ser amigavel para IA de verdade, e não no discurso bonito.
174
184
 
175
185
  ## Observacao sobre caminhos
176
186
 
177
- Esta documentacao usa placeholders de arquivo e pasta, nao caminhos do monorepo da Sema. A IA deve adaptar isso ao projeto atual e continuar tratando `sema` como interface publica principal.
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.
@@ -1,16 +1,52 @@
1
- # Instalacao e Primeiro Uso
1
+ # Installation And First Use
2
2
 
3
- Este guia cobre o caminho publico atual da Sema para CLI, MCP e extensao.
3
+ ## English
4
+
5
+ This guide covers the current public installation path for the Sema CLI and VS Code extension. The remote MCP server is a private/commercial authorized service and is not distributed as a public npm package.
6
+
7
+ Current public version: `1.5.19`.
8
+
9
+ ```bash
10
+ npm install -g @semacode/cli
11
+ sema --help
12
+ sema doctor
13
+ ```
14
+
15
+ ## Português
16
+
17
+ Este guia cobre o caminho público atual da Sema para CLI e extensão VS Code. O servidor MCP remoto é um serviço privado/comercial autorizado e não é distribuído como pacote npm público.
18
+
19
+ Versão pública atual: `1.5.19`.
20
+
21
+ ```bash
22
+ npm install -g @semacode/cli
23
+ sema --help
24
+ sema doctor
25
+ ```
26
+
27
+ ## Español
28
+
29
+ Esta guía cubre el camino público actual de instalación para la CLI de Sema y la extensión de VS Code. El servidor MCP remoto es un servicio privado/comercial autorizado y no se distribuye como paquete público de npm.
30
+
31
+ Versión pública actual: `1.5.19`.
32
+
33
+ ```bash
34
+ npm install -g @semacode/cli
35
+ sema --help
36
+ sema doctor
37
+ ```
38
+
39
+ ## Referência Operacional
4
40
 
5
41
  ## Requisitos
6
42
 
7
43
  - Node.js LTS
8
44
  - npm funcional
9
- - Python 3 so se voce quiser rodar testes Python gerados
45
+ - Python 3 se você quiser rodar testes Python gerados
10
46
 
11
47
  ## CLI
12
48
 
13
- Instalacao principal:
49
+ Instalação principal:
14
50
 
15
51
  ```bash
16
52
  npm install -g @semacode/cli
@@ -19,13 +55,13 @@ sema doctor
19
55
  sema docs-impacto --intencao "alterar projeto" --json
20
56
  ```
21
57
 
22
- Instalacao por release:
58
+ Instalação de uma versão específica pelo npm:
23
59
 
24
60
  ```bash
25
- npm install -g https://github.com/gerlanss/Sema/releases/latest/download/sema-cli-latest.tgz
61
+ npm install -g @semacode/cli@1.5.19
26
62
  ```
27
63
 
28
- Instalacao local ao projeto:
64
+ Instalação local ao projeto:
29
65
 
30
66
  ```bash
31
67
  npm install @semacode/cli
@@ -34,20 +70,7 @@ npx sema --help
34
70
 
35
71
  ## MCP
36
72
 
37
- Se voce usa cliente MCP:
38
-
39
- ```bash
40
- npm install -g @semacode/mcp
41
- sema-mcp
42
- ```
43
-
44
- Ou sem instalar:
45
-
46
- ```bash
47
- npx -y @semacode/mcp
48
- ```
49
-
50
- As ferramentas MCP incluem `sema_docs_impacto` e `sema_finalizar_mudanca` para obrigar agentes a ler e atualizar docs relacionadas antes de concluir alteracoes.
73
+ O MCP da Sema não é mais instalado por npm público. Ele é uma superfície privada/comercial acessada por endpoint remoto, normalmente `https://<host>/mcp`, com OAuth ou bearer configurado fora deste repositório. Veja [mcp.md](./mcp.md).
51
74
 
52
75
  ## Instaladores oficiais
53
76
 
@@ -55,26 +78,25 @@ Linux ou macOS:
55
78
 
56
79
  ```bash
57
80
  curl -fsSL https://raw.githubusercontent.com/gerlanss/Sema/main/install-sema.sh | bash
58
- curl -fsSL https://raw.githubusercontent.com/gerlanss/Sema/main/install-sema.sh | bash -s -- --with-vscode --with-mcp
59
81
  ```
60
82
 
61
83
  Windows PowerShell:
62
84
 
63
85
  ```powershell
64
86
  Invoke-WebRequest -Uri https://raw.githubusercontent.com/gerlanss/Sema/main/install-sema.ps1 -OutFile install-sema.ps1
65
- .\install-sema.ps1 -WithVSCode -WithMcp
87
+ .\install-sema.ps1
66
88
  ```
67
89
 
68
- Se quiser uma tag especifica, troque `main` pela versao desejada.
90
+ Se quiser uma tag específica, troque `main` pela versão desejada.
69
91
 
70
- ## Extensao VS Code
92
+ ## Extensão VS Code
71
93
 
72
94
  ```bash
73
- curl -L -o sema-language-tools.vsix https://github.com/gerlanss/Sema/releases/latest/download/sema-language-tools-latest.vsix
74
- code --install-extension ./sema-language-tools.vsix --force
95
+ npm run extensao:empacotar
96
+ code --install-extension .tmp/editor-vscode/sema-language-tools-1.5.19.vsix --force
75
97
  ```
76
98
 
77
- Ou baixe a VSIX antes e instale localmente.
99
+ Os assets versionados da VSIX devem ser anexados manualmente a GitHub Releases quando houver release pública com binários. Se `--with-vscode` for usado antes disso, o instalador mantém a CLI instalada e apenas pula a extensão.
78
100
 
79
101
  ## Primeiro teste
80
102
 
@@ -85,7 +107,7 @@ sema iniciar
85
107
  sema validar contratos/pedidos.sema --json
86
108
  ```
87
109
 
88
- ## Primeiro fluxo util
110
+ ## Primeiro fluxo útil
89
111
 
90
112
  ```bash
91
113
  sema validar contratos/pedidos.sema --json
@@ -104,7 +126,7 @@ sema impacto contratos/pedidos.sema --alvo pedido_id --mudanca "trocar pedido_id
104
126
  sema contexto-ia contratos/pedidos.sema --saida ./.tmp/contexto --json
105
127
  ```
106
128
 
107
- ## Primeiro fluxo de persistencia vendor-first
129
+ ## Primeiro fluxo de persistência vendor-first
108
130
 
109
131
  ```bash
110
132
  sema validar contratos/sema/persistencia_vendor_first.sema --json