@semacode/cli 1.5.14 → 1.5.16

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 (177) hide show
  1. package/README.md +2 -1
  2. package/dist/index.js +76 -43
  3. package/package.json +26 -35
  4. package/semacode-cli-1.3.1.tgz +0 -0
  5. package/src/angular-consumer-standalone.ts +312 -0
  6. package/src/cpp-symbols.ts +82 -0
  7. package/src/docs.ts +535 -0
  8. package/src/dotnet-http.ts +355 -0
  9. package/src/drift.ts +4933 -0
  10. package/src/go-http.ts +118 -0
  11. package/src/importador.ts +3891 -0
  12. package/src/index.ts +5641 -0
  13. package/src/java-http.ts +247 -0
  14. package/src/lua-symbols.ts +114 -0
  15. package/src/php-symbols.ts +462 -0
  16. package/src/projeto.ts +862 -0
  17. package/src/python-http.ts +258 -0
  18. package/src/rust-http.ts +125 -0
  19. package/src/tipos.ts +24 -0
  20. package/src/typescript-http.ts +1076 -0
  21. package/tsconfig.json +20 -0
  22. package/AGENTS.md +0 -272
  23. package/LICENSE +0 -22
  24. package/SEMA_BRIEF.curto.txt +0 -9
  25. package/SEMA_BRIEF.md +0 -63
  26. package/SEMA_BRIEF.micro.txt +0 -7
  27. package/SEMA_INDEX.json +0 -799
  28. package/dist/angular-consumer-standalone.d.ts +0 -6
  29. package/dist/angular-consumer-standalone.js.map +0 -1
  30. package/dist/cpp-symbols.d.ts +0 -10
  31. package/dist/cpp-symbols.js.map +0 -1
  32. package/dist/docs.d.ts +0 -56
  33. package/dist/docs.js.map +0 -1
  34. package/dist/dotnet-http.d.ts +0 -23
  35. package/dist/dotnet-http.js.map +0 -1
  36. package/dist/drift.d.ts +0 -225
  37. package/dist/drift.js.map +0 -1
  38. package/dist/go-http.d.ts +0 -23
  39. package/dist/go-http.js.map +0 -1
  40. package/dist/importador.d.ts +0 -31
  41. package/dist/importador.js.map +0 -1
  42. package/dist/index.d.ts +0 -2
  43. package/dist/index.js.map +0 -1
  44. package/dist/java-http.d.ts +0 -23
  45. package/dist/java-http.js.map +0 -1
  46. package/dist/lua-symbols.d.ts +0 -10
  47. package/dist/lua-symbols.js.map +0 -1
  48. package/dist/php-symbols.d.ts +0 -24
  49. package/dist/php-symbols.js.map +0 -1
  50. package/dist/projeto.d.ts +0 -53
  51. package/dist/projeto.js.map +0 -1
  52. package/dist/python-http.d.ts +0 -23
  53. package/dist/python-http.js.map +0 -1
  54. package/dist/rust-http.d.ts +0 -23
  55. package/dist/rust-http.js.map +0 -1
  56. package/dist/tipos.d.ts +0 -3
  57. package/dist/tipos.js.map +0 -1
  58. package/dist/typescript-http.d.ts +0 -35
  59. package/dist/typescript-http.js.map +0 -1
  60. package/docs/AGENT_STARTER.md +0 -102
  61. package/docs/cli.md +0 -117
  62. package/docs/como-ensinar-a-sema-para-ia.md +0 -149
  63. package/docs/deploy.md +0 -70
  64. package/docs/documentacao.md +0 -63
  65. package/docs/env.md +0 -56
  66. package/docs/extensao-vscode.md +0 -45
  67. package/docs/fluxo-pratico-ia-sema.md +0 -177
  68. package/docs/instalacao-e-primeiro-uso.md +0 -112
  69. package/docs/integracao-com-ia.md +0 -101
  70. package/docs/mcp.md +0 -53
  71. package/docs/pagamento-ponta-a-ponta.md +0 -155
  72. package/docs/persistencia-vendor-first.md +0 -145
  73. package/docs/prompt-base-ia-sema.md +0 -104
  74. package/docs/rollback.md +0 -47
  75. package/docs/sintaxe.md +0 -410
  76. package/exemplos/agendamento.sema +0 -106
  77. package/exemplos/assinatura.sema +0 -136
  78. package/exemplos/auditoria.sema +0 -88
  79. package/exemplos/autenticacao.sema +0 -125
  80. package/exemplos/automacao.sema +0 -107
  81. package/exemplos/cadastro_usuario.sema +0 -54
  82. package/exemplos/calculadora.sema +0 -78
  83. package/exemplos/crud_simples.sema +0 -89
  84. package/exemplos/estoque.sema +0 -126
  85. package/exemplos/exportacao.sema +0 -94
  86. package/exemplos/fila.sema +0 -131
  87. package/exemplos/integracao_externa.sema +0 -94
  88. package/exemplos/multi_tenant.sema +0 -140
  89. package/exemplos/notificacao.sema +0 -98
  90. package/exemplos/operacao_estrategia.sema +0 -402
  91. package/exemplos/pagamento.sema +0 -222
  92. package/exemplos/pagamento_dominio.sema +0 -35
  93. package/exemplos/pedido.sema +0 -119
  94. package/exemplos/permissao.sema +0 -121
  95. package/exemplos/persistencia_vendor_first.sema +0 -86
  96. package/exemplos/relatorio.sema +0 -93
  97. package/exemplos/testes_embutidos.sema +0 -45
  98. package/exemplos/tratamento_erro.sema +0 -157
  99. package/exemplos/upload_arquivo.sema +0 -93
  100. package/exemplos/webhook.sema +0 -96
  101. package/llms-full.txt +0 -34
  102. package/llms.txt +0 -17
  103. package/node_modules/@sema/gerador-css/dist/index.d.ts +0 -3
  104. package/node_modules/@sema/gerador-css/dist/index.js +0 -592
  105. package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
  106. package/node_modules/@sema/gerador-css/package.json +0 -7
  107. package/node_modules/@sema/gerador-dart/dist/index.d.ts +0 -3
  108. package/node_modules/@sema/gerador-dart/dist/index.js +0 -44
  109. package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
  110. package/node_modules/@sema/gerador-dart/package.json +0 -7
  111. package/node_modules/@sema/gerador-html/dist/index.d.ts +0 -3
  112. package/node_modules/@sema/gerador-html/dist/index.js +0 -163
  113. package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
  114. package/node_modules/@sema/gerador-html/package.json +0 -7
  115. package/node_modules/@sema/gerador-javascript/dist/index.d.ts +0 -3
  116. package/node_modules/@sema/gerador-javascript/dist/index.js +0 -421
  117. package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
  118. package/node_modules/@sema/gerador-javascript/package.json +0 -7
  119. package/node_modules/@sema/gerador-lua/dist/index.d.ts +0 -3
  120. package/node_modules/@sema/gerador-lua/dist/index.js +0 -328
  121. package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
  122. package/node_modules/@sema/gerador-lua/package.json +0 -7
  123. package/node_modules/@sema/gerador-python/dist/index.d.ts +0 -6
  124. package/node_modules/@sema/gerador-python/dist/index.js +0 -729
  125. package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
  126. package/node_modules/@sema/gerador-python/package.json +0 -7
  127. package/node_modules/@sema/gerador-typescript/dist/index.d.ts +0 -6
  128. package/node_modules/@sema/gerador-typescript/dist/index.js +0 -793
  129. package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
  130. package/node_modules/@sema/gerador-typescript/package.json +0 -7
  131. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +0 -125
  132. package/node_modules/@sema/nucleo/dist/ast/tipos.js +0 -2
  133. package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
  134. package/node_modules/@sema/nucleo/dist/diagnosticos/index.d.ts +0 -21
  135. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js +0 -12
  136. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
  137. package/node_modules/@sema/nucleo/dist/formatador/index.d.ts +0 -9
  138. package/node_modules/@sema/nucleo/dist/formatador/index.js +0 -487
  139. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
  140. package/node_modules/@sema/nucleo/dist/index.d.ts +0 -35
  141. package/node_modules/@sema/nucleo/dist/index.js +0 -96
  142. package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
  143. package/node_modules/@sema/nucleo/dist/ir/conversor.d.ts +0 -5
  144. package/node_modules/@sema/nucleo/dist/ir/conversor.js +0 -1058
  145. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
  146. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +0 -377
  147. package/node_modules/@sema/nucleo/dist/ir/modelos.js +0 -2
  148. package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
  149. package/node_modules/@sema/nucleo/dist/lexer/lexer.d.ts +0 -7
  150. package/node_modules/@sema/nucleo/dist/lexer/lexer.js +0 -122
  151. package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
  152. package/node_modules/@sema/nucleo/dist/lexer/tokens.d.ts +0 -8
  153. package/node_modules/@sema/nucleo/dist/lexer/tokens.js +0 -82
  154. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
  155. package/node_modules/@sema/nucleo/dist/parser/parser.d.ts +0 -9
  156. package/node_modules/@sema/nucleo/dist/parser/parser.js +0 -807
  157. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
  158. package/node_modules/@sema/nucleo/dist/persistencia/contratos.d.ts +0 -39
  159. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js +0 -294
  160. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +0 -1
  161. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +0 -58
  162. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +0 -1912
  163. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
  164. package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +0 -104
  165. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +0 -445
  166. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
  167. package/node_modules/@sema/nucleo/dist/semantico/seguranca.d.ts +0 -91
  168. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js +0 -258
  169. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
  170. package/node_modules/@sema/nucleo/dist/util/arquivos.d.ts +0 -2
  171. package/node_modules/@sema/nucleo/dist/util/arquivos.js +0 -25
  172. package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
  173. package/node_modules/@sema/nucleo/package.json +0 -7
  174. package/node_modules/@sema/padroes/dist/index.d.ts +0 -25
  175. package/node_modules/@sema/padroes/dist/index.js +0 -316
  176. package/node_modules/@sema/padroes/dist/index.js.map +0 -1
  177. package/node_modules/@sema/padroes/package.json +0 -7
package/docs/env.md DELETED
@@ -1,56 +0,0 @@
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.10 -WithVSCode -WithMcp
24
- ```
25
-
26
- No shell:
27
-
28
- ```bash
29
- SEMA_VERSION=1.5.10 ./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.10`.
55
-
56
- Os assets ficam em `.tmp/release-assets` e sao derivados dos scripts versionados no repositorio.
@@ -1,45 +0,0 @@
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`.
@@ -1,177 +0,0 @@
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
- ## Fluxo curto
8
-
9
- 1. ler contexto do projeto
10
- 2. identificar a capacidade da IA
11
- 3. identificar o modulo alvo
12
- 4. consultar o menor artefato semantico suficiente
13
- 5. editar
14
- 6. formatar
15
- 7. validar
16
- 8. verificar
17
-
18
- ## Fluxo detalhado
19
-
20
- ### Etapa 1. Ler contexto minimo
21
-
22
- Antes de tocar em qualquer arquivo, a IA deve ler:
23
-
24
- - [README.md](../README.md)
25
- - [integracao-com-ia.md](./integracao-com-ia.md)
26
- - [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
27
-
28
- Se o trabalho estiver ligado a pagamento, ler tambem:
29
-
30
- - [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
31
-
32
- ### Etapa 2. Escolher a faixa de capacidade
33
-
34
- Antes de despejar contexto na IA, escolha o que ela aguenta:
35
-
36
- - IA pequena ou gratuita: `sema resumo --micro` e `briefing.min.json`
37
- - IA media: `sema resumo --curto`, `briefing.min.json` e `drift.json`
38
- - IA grande: `contexto-ia`, `briefing.json`, `drift.json`, `ir.json` e `ast.json`
39
-
40
- ### Etapa 3. Ler o modulo alvo e um exemplo parecido
41
-
42
- A IA deve identificar:
43
-
44
- - qual arquivo sera editado
45
- - qual modulo esse arquivo representa
46
- - qual exemplo oficial mais se parece com o que precisa ser feito
47
-
48
- Regra pratica:
49
-
50
- - automacao: [automacao.sema](../exemplos/automacao.sema)
51
- - erros e fluxos de falha: [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
52
- - borda publica e pagamento: [pagamento.sema](../exemplos/pagamento.sema)
53
-
54
- ### Etapa 4. Consultar AST e IR quando fizer sentido
55
-
56
- Antes de alterar, a IA deve executar:
57
-
58
- ```bash
59
- sema resumo caminho/arquivo.sema --curto --para mudanca
60
- sema ast caminho/arquivo.sema --json
61
- sema ir caminho/arquivo.sema --json
62
- ```
63
-
64
- Objetivo:
65
-
66
- - ver a forma sintatica quando a capacidade aguentar
67
- - ver a forma semantica resolvida quando a capacidade aguentar
68
- - evitar interpretar errado o contrato
69
-
70
- ### Etapa 5. Editar o `.sema`
71
-
72
- Ao editar, a IA deve:
73
-
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
78
-
79
- ### Etapa 6. Formatar
80
-
81
- Depois da edicao:
82
-
83
- ```bash
84
- sema formatar caminho/arquivo.sema
85
- sema formatar caminho/arquivo.sema --check
86
- ```
87
-
88
- Se `--check` falhar, o trabalho ainda nao esta pronto.
89
-
90
- ### Etapa 7. Validar e diagnosticar
91
-
92
- Depois da formatacao:
93
-
94
- ```bash
95
- sema validar caminho/arquivo.sema --json
96
- sema diagnosticos caminho/arquivo.sema --json
97
- ```
98
-
99
- Se houver falha:
100
-
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
103
-
104
- ### Etapa 7.5. Compilar quando a tarefa pedir codigo derivado
105
-
106
- Se a tarefa nao for so editar contrato, mas tambem gerar base de implementacao, a IA deve rodar explicitamente:
107
-
108
- ```bash
109
- sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
110
- ```
111
-
112
- Ou trocar o alvo para `python`, `dart` ou `lua`, conforme o caso.
113
-
114
- Regra pratica:
115
-
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
118
-
119
- ### Etapa 8. Verificar
120
-
121
- No fechamento:
122
-
123
- ```bash
124
- sema verificar arquivo-ou-pasta --json --saida ./.tmp/verificacao-ia
125
- ```
126
-
127
- ## Fluxo minimo para automacao
128
-
129
- Se voce quiser o menor fluxo aceitavel para uma IA pequena:
130
-
131
- ```bash
132
- sema resumo caminho/arquivo.sema --micro --para mudanca
133
- sema formatar caminho/arquivo.sema
134
- sema validar caminho/arquivo.sema --json
135
- ```
136
-
137
- Mas, sendo sincero, o fluxo bom mesmo e fechar com `verificar`.
138
-
139
- Se a tarefa envolver codigo derivado, o fluxo minimo aceitavel vira:
140
-
141
- ```bash
142
- sema ir caminho/arquivo.sema --json
143
- sema formatar caminho/arquivo.sema
144
- sema validar caminho/arquivo.sema --json
145
- sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
146
- ```
147
-
148
- ## Checklist de saida
149
-
150
- Antes de considerar a alteracao pronta, a IA deve responder mentalmente:
151
-
152
- - eu entendi o modulo e o contrato?
153
- - eu mantive a sintaxe dentro do que a linguagem suporta?
154
- - eu formatei o arquivo?
155
- - eu validei?
156
- - eu olhei diagnosticos se algo falhou?
157
- - eu fechei com verificacao?
158
-
159
- Se alguma resposta for "nao", ainda nao terminou.
160
-
161
- ## Regra de ouro
162
-
163
- Em Sema, a IA nao deveria operar no escuro.
164
-
165
- Ela deve trabalhar sempre com:
166
-
167
- - exemplo oficial
168
- - AST
169
- - IR
170
- - diagnosticos
171
- - formatador
172
-
173
- Esse conjunto e o que faz a linguagem ser amigavel para IA de verdade, e nao so no discurso bonito.
174
-
175
- ## Observacao sobre caminhos
176
-
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.
@@ -1,112 +0,0 @@
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
- ```
@@ -1,101 +0,0 @@
1
- # Integracao com IA
2
-
3
- Sema foi feita para IA operar software vivo com menos adivinhacao.
4
-
5
- ## Ordem recomendada
6
-
7
- 1. `sema inspecionar . --json`
8
- 2. `sema resumo <arquivo-ou-pasta> --micro --para onboarding`
9
- 3. `sema drift <arquivo-ou-pasta> --json`
10
- 4. `sema contexto-ia <arquivo.sema> --saida <diretorio> --json`
11
-
12
- Nao comece cavando codigo bruto quando a ferramenta ja consegue te dar contrato, score, lacuna e superficie viva.
13
-
14
- ## Por capacidade do modelo
15
-
16
- IA pequena:
17
-
18
- - `sema resumo --micro`
19
- - `briefing.min.json`
20
- - `prompt-curto.txt`
21
-
22
- IA media:
23
-
24
- - `sema resumo --curto`
25
- - `drift.json`
26
- - `briefing.min.json`
27
-
28
- IA grande:
29
-
30
- - `sema contexto-ia`
31
- - `briefing.json`
32
- - `ir.json`
33
- - `ast.json`
34
-
35
- ## MCP
36
-
37
- Se o agente usa MCP:
38
-
39
- ```bash
40
- npm install -g @semacode/cli @semacode/mcp
41
- ```
42
-
43
- Depois configure:
44
-
45
- ```json
46
- {
47
- "mcpServers": {
48
- "sema": {
49
- "command": "npx",
50
- "args": ["-y", "@semacode/mcp"]
51
- }
52
- }
53
- }
54
- ```
55
-
56
- Ferramentas mais uteis no fluxo de mudanca:
57
-
58
- - `sema_drift` para medir coerencia viva
59
- - `sema_impacto` para dizer o que tocar
60
- - `sema_renomear_semantico` para guiar troca de nomes sem misturar payload antigo e novo
61
- - `sema_docs_impacto` para obrigar leitura das docs relacionadas antes de agir
62
- - `sema_finalizar_mudanca` para bloquear conclusao sem leitura documental comprovada
63
-
64
- As ferramentas MCP usam a CLI como backend operacional. Portanto, suporte de linguagem como Lua em `use`, `impl`, IR, `drift` e importacao fica disponivel no MCP quando `@semacode/cli` e `@semacode/mcp` estao na mesma linha publica.
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 `drift` como juiz da adocao incremental
88
- - use `briefing.min.json` antes de abrir dezenas de arquivos
89
- - nao invente sintaxe fora da gramatica oficial
90
- - em persistencia, nao assuma que bancos diferentes tem o mesmo contrato operacional
91
-
92
- ## Arquivos uteis no repo
93
-
94
- - `AGENTS.md`
95
- - `llms.txt`
96
- - `llms-full.txt`
97
- - `SEMA_BRIEF.md`
98
- - `SEMA_INDEX.json`
99
- - `docs/persistencia-vendor-first.md`
100
- - `docs/mcp.md`
101
- - `docs/documentacao.md`
package/docs/mcp.md DELETED
@@ -1,53 +0,0 @@
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.
52
-
53
- O MCP acompanha a semantica entregue pela CLI. Quando a CLI aceita uma origem viva, como Lua em `use`, `impl`, IR, `drift` e `sema importar`, a ferramenta MCP correspondente passa a operar esse contrato desde que CLI e MCP estejam na mesma versao.
@@ -1,155 +0,0 @@
1
- # Pagamento Ponta a Ponta na Sema
2
-
3
- Este documento descreve o vertical oficial de pagamento da Sema no fluxo publico atual.
4
-
5
- O objetivo nao e mostrar um exemplo fofo. O objetivo e demonstrar que a linguagem ja consegue modelar um fluxo de negocio real com:
6
-
7
- - contrato publico
8
- - regras
9
- - efeitos operacionais
10
- - transicoes de estado
11
- - orquestracao
12
- - erros publicos
13
- - testes executaveis
14
-
15
- ## Arquivos de referencia
16
-
17
- - `exemplos/pagamento_dominio.sema`
18
- - `exemplos/pagamento.sema`
19
-
20
- ## Como o vertical foi dividido
21
-
22
- ### `exemplos.pagamento.dominio`
23
-
24
- Centraliza os contratos compartilhados:
25
-
26
- - `entity Pagamento`
27
- - `enum StatusPagamento`
28
- - `state ciclo_pagamento`
29
-
30
- ### `exemplos.pagamento`
31
-
32
- Centraliza a operacao do vertical:
33
-
34
- - `task processar_pagamento`
35
- - `task confirmar_pagamento`
36
- - `task notificar_falha_pagamento`
37
- - `task registrar_timeout_pagamento`
38
- - `flow orquestracao_pagamento`
39
- - `route processar_pagamento_publico`
40
-
41
- ## Narrativa do caso
42
-
43
- ### Entrada publica
44
-
45
- A operacao entra por:
46
-
47
- - `route processar_pagamento_publico`
48
-
49
- Esse contrato publica:
50
-
51
- - `pagamento_id`
52
- - `valor`
53
- - `token`
54
-
55
- E expoe:
56
-
57
- - `pagamento`
58
- - `status`
59
- - erros publicos coerentes com a `task`
60
-
61
- ### Task interna
62
-
63
- A `task processar_pagamento` faz o trabalho central:
64
-
65
- - valida entrada
66
- - consulta o gateway
67
- - persiste o pagamento
68
- - emite evento
69
- - notifica comprovante
70
- - registra auditoria
71
- - garante consistencia da saida
72
-
73
- ### Estado e transicoes
74
-
75
- O `state ciclo_pagamento` ancora o contrato de transicao:
76
-
77
- - `PENDENTE -> AUTORIZADO`
78
- - `AUTORIZADO -> PROCESSADO`
79
- - `PENDENTE -> RECUSADO`
80
-
81
- A `task` explicita quais transicoes ela realmente usa.
82
-
83
- ### Flow de orquestracao
84
-
85
- O `flow orquestracao_pagamento` demonstra:
86
-
87
- - passagem de contexto
88
- - confirmacao em caso de sucesso
89
- - notificacao em caso de recusa
90
- - registro de timeout em caso de indisponibilidade
91
- - ramificacao por erro tipado
92
-
93
- ### Efeitos operacionais
94
-
95
- O vertical usa as 5 categorias oficiais da Sema:
96
-
97
- - `persistencia`
98
- - `consulta`
99
- - `evento`
100
- - `notificacao`
101
- - `auditoria`
102
-
103
- Tambem usa `criticidade` para deixar claro o peso operacional do efeito.
104
-
105
- ### Falhas reais
106
-
107
- O vertical cobre explicitamente:
108
-
109
- - autorizacao negada
110
- - saldo insuficiente
111
- - timeout de gateway
112
-
113
- ## Fluxo de trabalho recomendado
114
-
115
- ### 1. Escrever ou ajustar os arquivos `.sema`
116
-
117
- Use o dominio compartilhado em um modulo e a operacao em outro modulo.
118
-
119
- ### 2. Aplicar o formato canonico
120
-
121
- ```bash
122
- sema formatar exemplos
123
- ```
124
-
125
- ### 3. Validar semanticamente
126
-
127
- ```bash
128
- sema validar exemplos/pagamento.sema
129
- ```
130
-
131
- ### 4. Gerar codigo
132
-
133
- ```bash
134
- sema compilar exemplos/pagamento.sema --alvo typescript --saida ./.tmp/pagamento-ts
135
- sema compilar exemplos/pagamento.sema --alvo python --saida ./.tmp/pagamento-py
136
- ```
137
-
138
- ### 5. Verificar o vertical completo
139
-
140
- ```bash
141
- sema verificar exemplos/pagamento.sema --json --saida ./.tmp/verificacao-pagamento
142
- ```
143
-
144
- ## O que esse vertical prova
145
-
146
- Se esse vertical passa, a Sema ja consegue demonstrar que:
147
-
148
- - modela contrato publico
149
- - modela efeitos operacionais
150
- - modela falhas reais
151
- - modulariza dominio com `use`
152
- - gera artefatos coerentes para TypeScript e Python
153
- - executa testes gerados sem gambiarra conceitual
154
-
155
- Esse e o criterio pratico que sustenta o uso publico do vertical de pagamento como referencia para IA e geracao.