@semacode/cli 1.5.16 → 1.5.18

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 (181) hide show
  1. package/AGENTS.md +272 -0
  2. package/LICENSE +22 -0
  3. package/README.md +104 -112
  4. package/SEMA_BRIEF.curto.txt +9 -0
  5. package/SEMA_BRIEF.md +63 -0
  6. package/SEMA_BRIEF.micro.txt +7 -0
  7. package/SEMA_INDEX.json +783 -0
  8. package/dist/angular-consumer-standalone.d.ts +6 -0
  9. package/dist/angular-consumer-standalone.js.map +1 -0
  10. package/dist/cpp-symbols.d.ts +10 -0
  11. package/dist/cpp-symbols.js.map +1 -0
  12. package/dist/docs.d.ts +56 -0
  13. package/dist/docs.js.map +1 -0
  14. package/dist/dotnet-http.d.ts +23 -0
  15. package/dist/dotnet-http.js.map +1 -0
  16. package/dist/drift.d.ts +225 -0
  17. package/dist/drift.js +5 -111
  18. package/dist/drift.js.map +1 -0
  19. package/dist/go-http.d.ts +23 -0
  20. package/dist/go-http.js.map +1 -0
  21. package/dist/importador.d.ts +31 -0
  22. package/dist/importador.js +1 -200
  23. package/dist/importador.js.map +1 -0
  24. package/dist/index.d.ts +2 -0
  25. package/dist/index.js +59 -479
  26. package/dist/index.js.map +1 -0
  27. package/dist/java-http.d.ts +23 -0
  28. package/dist/java-http.js.map +1 -0
  29. package/dist/lua-symbols.d.ts +10 -0
  30. package/dist/lua-symbols.js.map +1 -0
  31. package/dist/php-symbols.d.ts +24 -0
  32. package/dist/php-symbols.js.map +1 -0
  33. package/dist/projeto.d.ts +53 -0
  34. package/dist/projeto.js +0 -20
  35. package/dist/projeto.js.map +1 -0
  36. package/dist/python-http.d.ts +23 -0
  37. package/dist/python-http.js.map +1 -0
  38. package/dist/rust-http.d.ts +23 -0
  39. package/dist/rust-http.js.map +1 -0
  40. package/dist/tipos.d.ts +3 -0
  41. package/dist/tipos.js.map +1 -0
  42. package/dist/typescript-http.d.ts +35 -0
  43. package/dist/typescript-http.js.map +1 -0
  44. package/docs/AGENT_STARTER.md +103 -0
  45. package/docs/cli.md +106 -0
  46. package/docs/como-ensinar-a-sema-para-ia.md +149 -0
  47. package/docs/deploy.md +70 -0
  48. package/docs/documentacao.md +63 -0
  49. package/docs/env.md +56 -0
  50. package/docs/extensao-vscode.md +45 -0
  51. package/docs/fluxo-pratico-ia-sema.md +181 -0
  52. package/docs/instalacao-e-primeiro-uso.md +112 -0
  53. package/docs/integracao-com-ia.md +103 -0
  54. package/docs/mcp.md +51 -0
  55. package/docs/pagamento-ponta-a-ponta.md +165 -0
  56. package/docs/persistencia-vendor-first.md +145 -0
  57. package/docs/prompt-base-ia-sema.md +105 -0
  58. package/docs/rollback.md +47 -0
  59. package/docs/sintaxe.md +212 -0
  60. package/exemplos/agendamento.sema +105 -0
  61. package/exemplos/assinatura.sema +133 -0
  62. package/exemplos/auditoria.sema +89 -0
  63. package/exemplos/autenticacao.sema +125 -0
  64. package/exemplos/automacao.sema +107 -0
  65. package/exemplos/cadastro_usuario.sema +54 -0
  66. package/exemplos/calculadora.sema +78 -0
  67. package/exemplos/crud_simples.sema +89 -0
  68. package/exemplos/estoque.sema +127 -0
  69. package/exemplos/exportacao.sema +94 -0
  70. package/exemplos/fila.sema +130 -0
  71. package/exemplos/integracao_externa.sema +94 -0
  72. package/exemplos/multi_tenant.sema +140 -0
  73. package/exemplos/notificacao.sema +149 -0
  74. package/exemplos/operacao_estrategia.sema +633 -0
  75. package/exemplos/pagamento.sema +434 -0
  76. package/exemplos/pagamento_dominio.sema +35 -0
  77. package/exemplos/pedido.sema +255 -0
  78. package/exemplos/permissao.sema +121 -0
  79. package/exemplos/persistencia_vendor_first.sema +86 -0
  80. package/exemplos/relatorio.sema +93 -0
  81. package/exemplos/replica_analitica_erp.sema +160 -0
  82. package/exemplos/testes_embutidos.sema +45 -0
  83. package/exemplos/tratamento_erro.sema +157 -0
  84. package/exemplos/upload_arquivo.sema +93 -0
  85. package/exemplos/webhook.sema +94 -0
  86. package/llms-full.txt +34 -0
  87. package/llms.txt +17 -0
  88. package/node_modules/@sema/gerador-css/dist/index.d.ts +3 -0
  89. package/node_modules/@sema/gerador-css/dist/index.js +592 -0
  90. package/node_modules/@sema/gerador-css/dist/index.js.map +1 -0
  91. package/node_modules/@sema/gerador-css/package.json +7 -0
  92. package/node_modules/@sema/gerador-dart/dist/index.d.ts +3 -0
  93. package/node_modules/@sema/gerador-dart/dist/index.js +44 -0
  94. package/node_modules/@sema/gerador-dart/dist/index.js.map +1 -0
  95. package/node_modules/@sema/gerador-dart/package.json +7 -0
  96. package/node_modules/@sema/gerador-html/dist/index.d.ts +3 -0
  97. package/node_modules/@sema/gerador-html/dist/index.js +163 -0
  98. package/node_modules/@sema/gerador-html/dist/index.js.map +1 -0
  99. package/node_modules/@sema/gerador-html/package.json +7 -0
  100. package/node_modules/@sema/gerador-javascript/dist/index.d.ts +3 -0
  101. package/node_modules/@sema/gerador-javascript/dist/index.js +421 -0
  102. package/node_modules/@sema/gerador-javascript/dist/index.js.map +1 -0
  103. package/node_modules/@sema/gerador-javascript/package.json +7 -0
  104. package/node_modules/@sema/gerador-lua/dist/index.d.ts +3 -0
  105. package/node_modules/@sema/gerador-lua/dist/index.js +328 -0
  106. package/node_modules/@sema/gerador-lua/dist/index.js.map +1 -0
  107. package/node_modules/@sema/gerador-lua/package.json +7 -0
  108. package/node_modules/@sema/gerador-python/dist/index.d.ts +6 -0
  109. package/node_modules/@sema/gerador-python/dist/index.js +729 -0
  110. package/node_modules/@sema/gerador-python/dist/index.js.map +1 -0
  111. package/node_modules/@sema/gerador-python/package.json +7 -0
  112. package/node_modules/@sema/gerador-typescript/dist/index.d.ts +6 -0
  113. package/node_modules/@sema/gerador-typescript/dist/index.js +793 -0
  114. package/node_modules/@sema/gerador-typescript/dist/index.js.map +1 -0
  115. package/node_modules/@sema/gerador-typescript/package.json +7 -0
  116. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +123 -0
  117. package/node_modules/@sema/nucleo/dist/ast/tipos.js +2 -0
  118. package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +1 -0
  119. package/node_modules/@sema/nucleo/dist/diagnosticos/index.d.ts +21 -0
  120. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js +12 -0
  121. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +1 -0
  122. package/node_modules/@sema/nucleo/dist/formatador/index.d.ts +9 -0
  123. package/node_modules/@sema/nucleo/dist/formatador/index.js +460 -0
  124. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +1 -0
  125. package/node_modules/@sema/nucleo/dist/index.d.ts +35 -0
  126. package/node_modules/@sema/nucleo/dist/index.js +96 -0
  127. package/node_modules/@sema/nucleo/dist/index.js.map +1 -0
  128. package/node_modules/@sema/nucleo/dist/ir/conversor.d.ts +5 -0
  129. package/node_modules/@sema/nucleo/dist/ir/conversor.js +877 -0
  130. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -0
  131. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +345 -0
  132. package/node_modules/@sema/nucleo/dist/ir/modelos.js +2 -0
  133. package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +1 -0
  134. package/node_modules/@sema/nucleo/dist/lexer/lexer.d.ts +7 -0
  135. package/node_modules/@sema/nucleo/dist/lexer/lexer.js +122 -0
  136. package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +1 -0
  137. package/node_modules/@sema/nucleo/dist/lexer/tokens.d.ts +8 -0
  138. package/node_modules/@sema/nucleo/dist/lexer/tokens.js +61 -0
  139. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +1 -0
  140. package/node_modules/@sema/nucleo/dist/parser/parser.d.ts +9 -0
  141. package/node_modules/@sema/nucleo/dist/parser/parser.js +767 -0
  142. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -0
  143. package/node_modules/@sema/nucleo/dist/persistencia/contratos.d.ts +39 -0
  144. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js +294 -0
  145. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +1 -0
  146. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +59 -0
  147. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1681 -0
  148. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -0
  149. package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +106 -0
  150. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +475 -0
  151. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +1 -0
  152. package/node_modules/@sema/nucleo/dist/semantico/seguranca.d.ts +91 -0
  153. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js +258 -0
  154. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +1 -0
  155. package/node_modules/@sema/nucleo/dist/util/arquivos.d.ts +2 -0
  156. package/node_modules/@sema/nucleo/dist/util/arquivos.js +25 -0
  157. package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +1 -0
  158. package/node_modules/@sema/nucleo/package.json +7 -0
  159. package/node_modules/@sema/padroes/dist/index.d.ts +25 -0
  160. package/node_modules/@sema/padroes/dist/index.js +316 -0
  161. package/node_modules/@sema/padroes/dist/index.js.map +1 -0
  162. package/node_modules/@sema/padroes/package.json +7 -0
  163. package/package.json +32 -23
  164. package/semacode-cli-1.3.1.tgz +0 -0
  165. package/src/angular-consumer-standalone.ts +0 -312
  166. package/src/cpp-symbols.ts +0 -82
  167. package/src/docs.ts +0 -535
  168. package/src/dotnet-http.ts +0 -355
  169. package/src/drift.ts +0 -4933
  170. package/src/go-http.ts +0 -118
  171. package/src/importador.ts +0 -3891
  172. package/src/index.ts +0 -5641
  173. package/src/java-http.ts +0 -247
  174. package/src/lua-symbols.ts +0 -114
  175. package/src/php-symbols.ts +0 -462
  176. package/src/projeto.ts +0 -862
  177. package/src/python-http.ts +0 -258
  178. package/src/rust-http.ts +0 -125
  179. package/src/tipos.ts +0 -24
  180. package/src/typescript-http.ts +0 -1076
  181. package/tsconfig.json +0 -20
@@ -0,0 +1,63 @@
1
+ # Governanca de Documentacao
2
+
3
+ A Sema trata documentacao como parte da mudanca, nao como pos-escrito simpatico para alguem lembrar depois.
4
+
5
+ ## Regra principal
6
+
7
+ Toda IA deve resolver documentacao obrigatoria antes de editar contrato, codigo, configuracao ou executar operacoes como deploy.
8
+
9
+ ```bash
10
+ sema docs-impacto --intencao "criar rota de pagamento" --arquivo contratos/pagamento.sema --json
11
+ ```
12
+
13
+ Se o comando apontar docs ausentes, crie ou preencha essas docs antes da acao. Para criar runbooks base:
14
+
15
+ ```bash
16
+ sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
17
+ ```
18
+
19
+ ## Leitura obrigatoria
20
+
21
+ O resultado de `docs-impacto` traz:
22
+
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.
27
+
28
+ O conteudo dos documentos existentes vem na resposta para que o agente realmente leia o material antes de agir.
29
+
30
+ ## Finalizacao
31
+
32
+ Antes de responder que terminou, a IA deve chamar:
33
+
34
+ ```bash
35
+ sema finalizar-mudanca --intencao "criar rota de pagamento" --doc-lida README.md --doc-lida docs/api.md --json
36
+ ```
37
+
38
+ Se faltar leitura ou documentacao, a conclusao deve ser bloqueada.
39
+
40
+ ## Docs que podem nascer automaticamente
41
+
42
+ O Sema cria runbooks base para categorias operacionais:
43
+
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`
56
+
57
+ Esses arquivos sao esqueletos seguros. Eles devem ser completados com detalhes reais do projeto quando a operacao exigir.
58
+
59
+ ## O que nao fazer
60
+
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.
package/docs/env.md ADDED
@@ -0,0 +1,56 @@
1
+ # Env
2
+
3
+ Ambiente necessario para publicar a Sema.
4
+
5
+ ## Ferramentas
6
+
7
+ - Node.js LTS com `npm`.
8
+ - Git com acesso push ao remoto `origin`.
9
+ - GitHub CLI (`gh`) autenticado.
10
+ - VS Code CLI (`code`) para instalar a VSIX localmente.
11
+ - PowerShell no Windows.
12
+
13
+ ## Variaveis suportadas pelos instaladores
14
+
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`.
19
+
20
+ No PowerShell, o instalador recebe a versao por parametro:
21
+
22
+ ```powershell
23
+ .\install-sema.ps1 -Version 1.5.18 -WithVSCode -WithMcp
24
+ ```
25
+
26
+ No shell:
27
+
28
+ ```bash
29
+ SEMA_VERSION=1.5.18 ./install-sema.sh --with-vscode --with-mcp
30
+ ```
31
+
32
+ ## Credenciais
33
+
34
+ - NPM deve estar logado antes de publicar: `npm whoami`.
35
+ - GitHub CLI deve estar logado antes de criar release: `gh auth status`.
36
+ - Nunca registre tokens em docs, logs ou release notes.
37
+
38
+ ## Registro NPM
39
+
40
+ Os pacotes publicos sao:
41
+
42
+ - `@semacode/cli`
43
+ - `@semacode/mcp`
44
+
45
+ Antes de publicar, confira:
46
+
47
+ ```bash
48
+ npm view @semacode/cli version
49
+ npm view @semacode/mcp version
50
+ ```
51
+
52
+ ## GitHub Release
53
+
54
+ O tag publico deve seguir `v<versao>`, por exemplo `v1.5.18`.
55
+
56
+ Os assets ficam em `.tmp/release-assets` e sao derivados dos scripts versionados no repositorio.
@@ -0,0 +1,45 @@
1
+ # Extensao VS Code
2
+
3
+ Runbook da extensao `Sema Language Tools`.
4
+
5
+ ## Arquivos principais
6
+
7
+ - `pacotes/editor-vscode/package.json`
8
+ - `pacotes/editor-vscode/extension.js`
9
+ - `pacotes/editor-vscode/server.js`
10
+ - `pacotes/editor-vscode/README.md`
11
+ - `pacotes/editor-vscode/CHANGELOG.md`
12
+
13
+ ## Empacotar
14
+
15
+ ```bash
16
+ npm run extensao:empacotar
17
+ ```
18
+
19
+ O pacote versionado deve aparecer em `.tmp/editor-vscode/sema-language-tools-<versao>.vsix`.
20
+
21
+ ## Instalar localmente
22
+
23
+ ```bash
24
+ npm run extensao:instalar-local
25
+ ```
26
+
27
+ Ou:
28
+
29
+ ```bash
30
+ code --install-extension .tmp/editor-vscode/sema-language-tools-<versao>.vsix --force
31
+ ```
32
+
33
+ ## Smoke test
34
+
35
+ 1. Abra um projeto com `.sema`.
36
+ 2. Confirme que o Language Server inicia sem crash.
37
+ 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.
40
+
41
+ ## Cuidados
42
+
43
+ - 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`.
@@ -0,0 +1,181 @@
1
+ # Fluxo Pratico para IA Antes de Editar `.sema`
2
+
3
+ Este documento descreve o fluxo operacional recomendado para qualquer IA antes, durante e depois de alterar arquivos `.sema`.
4
+
5
+ Se a IA seguir isso, ela trabalha com contexto. Se nao seguir, vira adivinhacao gourmet.
6
+
7
+ O ponto central: Sema nao e texto para agradar humano. E contrato semantico IA-first. Humanos autorizam e revisam; a IA consome o contrato para decidir o proximo movimento.
8
+
9
+ ## Fluxo curto
10
+
11
+ 1. ler contexto do projeto
12
+ 2. identificar a capacidade da IA
13
+ 3. identificar o modulo alvo
14
+ 4. consultar o menor artefato semantico suficiente
15
+ 5. editar
16
+ 6. formatar
17
+ 7. validar
18
+ 8. verificar
19
+
20
+ ## Fluxo detalhado
21
+
22
+ ### Etapa 1. Ler contexto minimo
23
+
24
+ Antes de tocar em qualquer arquivo, a IA deve ler:
25
+
26
+ - [README.md](../README.md)
27
+ - [integracao-com-ia.md](./integracao-com-ia.md)
28
+ - [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
29
+
30
+ Se o trabalho estiver ligado a pagamento, ler tambem:
31
+
32
+ - [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
33
+
34
+ ### Etapa 2. Escolher a faixa de capacidade
35
+
36
+ Antes de despejar contexto na IA, escolha o que ela aguenta:
37
+
38
+ - IA pequena ou gratuita: `sema resumo --micro` e `briefing.min.json`
39
+ - IA media: `sema resumo --curto`, `briefing.min.json` e `drift.json`
40
+ - IA grande: `contexto-ia`, `briefing.json`, `drift.json`, `ir.json` e `ast.json`
41
+
42
+ ### Etapa 3. Ler o modulo alvo e um exemplo parecido
43
+
44
+ A IA deve identificar:
45
+
46
+ - qual arquivo sera editado
47
+ - qual modulo esse arquivo representa
48
+ - qual exemplo oficial mais se parece com o que precisa ser feito
49
+
50
+ Regra pratica:
51
+
52
+ - automacao: [automacao.sema](../exemplos/automacao.sema)
53
+ - erros e fluxos de falha: [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
54
+ - borda publica e pagamento: [pagamento.sema](../exemplos/pagamento.sema)
55
+
56
+ ### Etapa 4. Consultar AST e IR quando fizer sentido
57
+
58
+ Antes de alterar, a IA deve executar:
59
+
60
+ ```bash
61
+ sema resumo caminho/arquivo.sema --curto --para mudanca
62
+ sema ast caminho/arquivo.sema --json
63
+ sema ir caminho/arquivo.sema --json
64
+ ```
65
+
66
+ Objetivo:
67
+
68
+ - ver a forma sintatica quando a capacidade aguentar
69
+ - ver a forma semantica resolvida quando a capacidade aguentar
70
+ - evitar interpretar errado o contrato
71
+
72
+ ### Etapa 5. Editar o `.sema`
73
+
74
+ Ao editar, a IA deve:
75
+
76
+ - preservar a intencao do modulo
77
+ - seguir a gramatica existente
78
+ - evitar criar bloco ou operador nao suportado
79
+ - preferir a forma ja usada nos exemplos oficiais
80
+ - usar blocos existentes como `auth`, `authz`, `dados`, `audit`, `forbidden`, `execucao`, `use`, `state` e `enum` antes de propor sintaxe nova
81
+ - evitar teste fraco em task sensivel; `expect { sucesso: verdadeiro }` sozinho nao prova semantica operacional
82
+
83
+ ### Etapa 6. Formatar
84
+
85
+ Depois da edicao:
86
+
87
+ ```bash
88
+ sema formatar caminho/arquivo.sema
89
+ sema formatar caminho/arquivo.sema --check
90
+ ```
91
+
92
+ Se `--check` falhar, o trabalho ainda nao esta pronto.
93
+
94
+ ### Etapa 7. Validar e diagnosticar
95
+
96
+ Depois da formatacao:
97
+
98
+ ```bash
99
+ sema validar caminho/arquivo.sema --json
100
+ sema diagnosticos caminho/arquivo.sema --json
101
+ ```
102
+
103
+ Se houver falha:
104
+
105
+ - usar os diagnosticos estruturados como contrato de correcao
106
+ - nao insistir em leitura manual teimosa quando a CLI ja disse onde esta a merda
107
+
108
+ ### Etapa 7.5. Compilar quando a tarefa pedir codigo derivado
109
+
110
+ Se a tarefa nao for so editar contrato, mas tambem gerar base de implementacao, a IA deve rodar explicitamente:
111
+
112
+ ```bash
113
+ sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
114
+ ```
115
+
116
+ Ou trocar o alvo para `python` ou `dart`, conforme o caso.
117
+
118
+ Regra pratica:
119
+
120
+ - se a entrega inclui codigo derivado, `sema compilar` nao e opcional
121
+ - se a IA ignorar `compilar`, ela pode acabar reescrevendo na mao coisa que a Sema ja gera sozinha, que e burrice operacional
122
+
123
+ ### Etapa 8. Verificar
124
+
125
+ No fechamento:
126
+
127
+ ```bash
128
+ sema verificar arquivo-ou-pasta --json --saida ./.tmp/verificacao-ia
129
+ ```
130
+
131
+ ## Fluxo minimo para automacao
132
+
133
+ Se voce quiser o menor fluxo aceitavel para uma IA pequena:
134
+
135
+ ```bash
136
+ sema resumo caminho/arquivo.sema --micro --para mudanca
137
+ sema formatar caminho/arquivo.sema
138
+ sema validar caminho/arquivo.sema --json
139
+ ```
140
+
141
+ Mas, sendo sincero, o fluxo bom mesmo e fechar com `verificar`.
142
+
143
+ Se a tarefa envolver codigo derivado, o fluxo minimo aceitavel vira:
144
+
145
+ ```bash
146
+ sema ir caminho/arquivo.sema --json
147
+ sema formatar caminho/arquivo.sema
148
+ sema validar caminho/arquivo.sema --json
149
+ sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
150
+ ```
151
+
152
+ ## Checklist de saida
153
+
154
+ Antes de considerar a alteracao pronta, a IA deve responder mentalmente:
155
+
156
+ - eu entendi o modulo e o contrato?
157
+ - eu mantive a sintaxe dentro do que a linguagem suporta?
158
+ - eu formatei o arquivo?
159
+ - eu validei?
160
+ - eu olhei diagnosticos se algo falhou?
161
+ - eu fechei com verificacao?
162
+
163
+ Se alguma resposta for "nao", ainda nao terminou.
164
+
165
+ ## Regra de ouro
166
+
167
+ Em Sema, a IA nao deveria operar no escuro.
168
+
169
+ Ela deve trabalhar sempre com:
170
+
171
+ - exemplo oficial
172
+ - AST
173
+ - IR
174
+ - diagnosticos
175
+ - formatador
176
+
177
+ Esse conjunto e o que faz a linguagem ser amigavel para IA de verdade, e nao so no discurso bonito.
178
+
179
+ ## Observacao sobre caminhos
180
+
181
+ 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.
@@ -0,0 +1,112 @@
1
+ # Instalacao e Primeiro Uso
2
+
3
+ Este guia cobre o caminho publico atual da Sema para CLI, MCP e extensao.
4
+
5
+ ## Requisitos
6
+
7
+ - Node.js LTS
8
+ - npm funcional
9
+ - Python 3 so se voce quiser rodar testes Python gerados
10
+
11
+ ## CLI
12
+
13
+ Instalacao principal:
14
+
15
+ ```bash
16
+ npm install -g @semacode/cli
17
+ sema --help
18
+ sema doctor
19
+ sema docs-impacto --intencao "alterar projeto" --json
20
+ ```
21
+
22
+ Instalacao por release:
23
+
24
+ ```bash
25
+ npm install -g https://github.com/gerlanss/Sema/releases/latest/download/sema-cli-latest.tgz
26
+ ```
27
+
28
+ Instalacao local ao projeto:
29
+
30
+ ```bash
31
+ npm install @semacode/cli
32
+ npx sema --help
33
+ ```
34
+
35
+ ## MCP
36
+
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.
51
+
52
+ ## Instaladores oficiais
53
+
54
+ Linux ou macOS:
55
+
56
+ ```bash
57
+ 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
+ ```
60
+
61
+ Windows PowerShell:
62
+
63
+ ```powershell
64
+ Invoke-WebRequest -Uri https://raw.githubusercontent.com/gerlanss/Sema/main/install-sema.ps1 -OutFile install-sema.ps1
65
+ .\install-sema.ps1 -WithVSCode -WithMcp
66
+ ```
67
+
68
+ Se quiser uma tag especifica, troque `main` pela versao desejada.
69
+
70
+ ## Extensao VS Code
71
+
72
+ ```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
75
+ ```
76
+
77
+ Ou baixe a VSIX antes e instale localmente.
78
+
79
+ ## Primeiro teste
80
+
81
+ ```bash
82
+ mkdir sema-demo
83
+ cd sema-demo
84
+ sema iniciar
85
+ sema validar contratos/pedidos.sema --json
86
+ ```
87
+
88
+ ## Primeiro fluxo util
89
+
90
+ ```bash
91
+ sema validar contratos/pedidos.sema --json
92
+ sema ir contratos/pedidos.sema --json
93
+ sema formatar contratos/pedidos.sema
94
+ sema verificar contratos --saida ./.tmp/verificacao
95
+ ```
96
+
97
+ ## Primeiro fluxo IA-first
98
+
99
+ ```bash
100
+ sema inspecionar . --json
101
+ sema resumo contratos/pedidos.sema --micro --para onboarding
102
+ sema drift contratos/pedidos.sema --escopo modulo --json
103
+ sema impacto contratos/pedidos.sema --alvo pedido_id --mudanca "trocar pedido_id por pedido_uuid" --json
104
+ sema contexto-ia contratos/pedidos.sema --saida ./.tmp/contexto --json
105
+ ```
106
+
107
+ ## Primeiro fluxo de persistencia vendor-first
108
+
109
+ ```bash
110
+ sema validar contratos/sema/persistencia_vendor_first.sema --json
111
+ sema ir contratos/sema/persistencia_vendor_first.sema --json
112
+ ```
@@ -0,0 +1,103 @@
1
+ # Integracao com IA
2
+
3
+ Sema foi feita para IA operar software vivo com menos adivinhacao. O consumidor principal nao e o humano lendo arquivo bonito; e o agente decidindo o que pode tocar, que efeito vai causar e como validar antes de mexer no codigo vivo.
4
+
5
+ Humanos entram como autores, revisores e aprovadores do contrato. A ponte da Sema e da intencao operacional para um formato que IA consegue consumir sem transformar contexto em chute.
6
+
7
+ ## Ordem recomendada
8
+
9
+ 1. `sema inspecionar . --json`
10
+ 2. `sema resumo <arquivo-ou-pasta> --micro --para onboarding`
11
+ 3. `sema drift <arquivo-ou-pasta> --json`
12
+ 4. `sema contexto-ia <arquivo.sema> --saida <diretorio> --json`
13
+
14
+ Nao comece cavando codigo bruto quando a ferramenta ja consegue te dar contrato, score, lacuna e superficie viva.
15
+
16
+ ## Por capacidade do modelo
17
+
18
+ IA pequena:
19
+
20
+ - `sema resumo --micro`
21
+ - `briefing.min.json`
22
+ - `prompt-curto.txt`
23
+
24
+ IA media:
25
+
26
+ - `sema resumo --curto`
27
+ - `drift.json`
28
+ - `briefing.min.json`
29
+
30
+ IA grande:
31
+
32
+ - `sema contexto-ia`
33
+ - `briefing.json`
34
+ - `ir.json`
35
+ - `ast.json`
36
+
37
+ ## MCP
38
+
39
+ Se o agente usa MCP:
40
+
41
+ ```bash
42
+ npm install -g @semacode/cli @semacode/mcp
43
+ ```
44
+
45
+ Depois configure:
46
+
47
+ ```json
48
+ {
49
+ "mcpServers": {
50
+ "sema": {
51
+ "command": "npx",
52
+ "args": ["-y", "@semacode/mcp"]
53
+ }
54
+ }
55
+ }
56
+ ```
57
+
58
+ Ferramentas mais uteis no fluxo de mudanca:
59
+
60
+ - `sema_drift` para medir coerencia viva
61
+ - `sema_impacto` para dizer o que tocar
62
+ - `sema_renomear_semantico` para guiar troca de nomes sem misturar payload antigo e novo
63
+ - `sema_docs_impacto` para obrigar leitura das docs relacionadas antes de agir
64
+ - `sema_finalizar_mudanca` para bloquear conclusao sem leitura documental comprovada
65
+
66
+ ## Portao documental
67
+
68
+ Antes de editar ou executar operacao sensivel, declare a intencao:
69
+
70
+ ```bash
71
+ sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
72
+ ```
73
+
74
+ Leia todos os itens em `leituraObrigatoria`. Se `docsAusentes` vier preenchido, crie ou complete os documentos antes da acao.
75
+
76
+ Antes de concluir:
77
+
78
+ ```bash
79
+ sema finalizar-mudanca --intencao "fazer deploy" --doc-lida docs/deploy.md --json
80
+ ```
81
+
82
+ Se houver diagnostico de severidade 4+, a IA nao deve finalizar a mudanca.
83
+
84
+ ## Regras praticas
85
+
86
+ - trate `.sema` e IR como fonte de verdade semantica
87
+ - trate humanos como donos/aprovadores e agentes como consumidores primarios do contrato
88
+ - trate `drift` como juiz da adocao incremental
89
+ - use `briefing.min.json` antes de abrir dezenas de arquivos
90
+ - nao invente sintaxe fora da gramatica oficial
91
+ - em task sensivel, teste que valida apenas `sucesso` e fraco; inclua output, erro esperado ou garantia observavel
92
+ - em persistencia, nao assuma que bancos diferentes tem o mesmo contrato operacional
93
+
94
+ ## Arquivos uteis no repo
95
+
96
+ - `AGENTS.md`
97
+ - `llms.txt`
98
+ - `llms-full.txt`
99
+ - `SEMA_BRIEF.md`
100
+ - `SEMA_INDEX.json`
101
+ - `docs/persistencia-vendor-first.md`
102
+ - `docs/mcp.md`
103
+ - `docs/documentacao.md`
package/docs/mcp.md ADDED
@@ -0,0 +1,51 @@
1
+ # MCP
2
+
3
+ O MCP da Sema e a porta de entrada para agentes que precisam obedecer contrato, ler contexto certo e fechar mudanca com verificacao rastreavel.
4
+
5
+ ## Fluxo obrigatorio para agentes
6
+
7
+ Antes de uma acao operacional, a IA deve declarar a intencao e chamar:
8
+
9
+ ```bash
10
+ sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
11
+ ```
12
+
13
+ Via MCP, use `sema_docs_impacto` com a mesma intencao. A resposta contem `leituraObrigatoria` com caminhos, motivos e conteudo dos documentos existentes. Se algum documento obrigatorio estiver ausente, o resultado vem com bloqueio de severidade 4.
14
+
15
+ Antes de concluir, a IA deve comprovar leitura:
16
+
17
+ ```bash
18
+ sema finalizar-mudanca --intencao "fazer deploy" --doc-lida docs/deploy.md --json
19
+ ```
20
+
21
+ Via MCP, use `sema_finalizar_mudanca`.
22
+
23
+ ## Ferramentas de documentacao
24
+
25
+ - `sema_docs_impacto`: resolve docs obrigatorias por intencao, arquivos alvo e categoria inferida.
26
+ - `sema_finalizar_mudanca`: bloqueia conclusao sem docs lidas ou docs ausentes.
27
+
28
+ ## Quando criar docs
29
+
30
+ Se a intencao exige um runbook e ele nao existe, rode `sema_docs_impacto` com `criar_ausentes: true`. Exemplos:
31
+
32
+ - deploy: cria `docs/deploy.md`, `docs/env.md` e `docs/rollback.md`.
33
+ - rota/API: cria `docs/api.md`.
34
+ - auth: cria `docs/auth.md` e `docs/seguranca.md`.
35
+ - banco: cria `docs/database.md`.
36
+ - MCP: cria `docs/mcp.md`.
37
+ - extensao: cria `docs/extensao-vscode.md`.
38
+
39
+ O documento criado e um ponto de partida. A IA ainda deve preencher detalhes reais do projeto antes de executar a acao.
40
+
41
+ ## Regra de conclusao
42
+
43
+ Uma mudanca nao deve ser considerada concluida enquanto `sema_finalizar_mudanca` retornar diagnostico de severidade 4 ou maior. Isso inclui:
44
+
45
+ - documento obrigatorio ausente
46
+ - leitura obrigatoria nao comprovada
47
+ - runbook criado mas ainda nao revisado para a operacao real
48
+
49
+ ## Relacao com contratos
50
+
51
+ Essas ferramentas nao substituem `sema_resumo`, `sema_inspecionar`, `sema_drift` ou `sema_validar`. Elas adicionam o portao documental: a IA descobre o que ler e o que documentar antes de agir.