@semacode/cli 1.3.2 → 1.3.6

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 (96) hide show
  1. package/dist/index.js +33 -27
  2. package/dist/index.js.map +1 -1
  3. package/node_modules/@sema/gerador-css/package.json +10 -3
  4. package/node_modules/@sema/gerador-css/src/index.ts +605 -0
  5. package/node_modules/@sema/gerador-css/tsconfig.json +13 -0
  6. package/node_modules/@sema/gerador-css/tsconfig.tsbuildinfo +1 -0
  7. package/node_modules/@sema/gerador-dart/package.json +10 -3
  8. package/node_modules/@sema/gerador-dart/src/index.ts +52 -0
  9. package/node_modules/@sema/gerador-dart/tsconfig.json +13 -0
  10. package/node_modules/@sema/gerador-dart/tsconfig.tsbuildinfo +1 -0
  11. package/node_modules/@sema/gerador-html/package.json +10 -3
  12. package/node_modules/@sema/gerador-html/src/index.ts +185 -0
  13. package/node_modules/@sema/gerador-html/tsconfig.json +13 -0
  14. package/node_modules/@sema/gerador-html/tsconfig.tsbuildinfo +1 -0
  15. package/node_modules/@sema/gerador-javascript/package.json +10 -3
  16. package/node_modules/@sema/gerador-javascript/src/index.ts +461 -0
  17. package/node_modules/@sema/gerador-javascript/tsconfig.json +13 -0
  18. package/node_modules/@sema/gerador-javascript/tsconfig.tsbuildinfo +1 -0
  19. package/node_modules/@sema/gerador-lua/package.json +10 -3
  20. package/node_modules/@sema/gerador-lua/src/index.d.ts +3 -0
  21. package/node_modules/@sema/gerador-lua/src/index.js.map +1 -0
  22. package/node_modules/@sema/gerador-lua/src/index.ts +359 -0
  23. package/node_modules/@sema/gerador-lua/tsconfig.json +13 -0
  24. package/node_modules/@sema/gerador-lua/tsconfig.tsbuildinfo +1 -0
  25. package/node_modules/@sema/gerador-python/package.json +10 -3
  26. package/node_modules/@sema/gerador-python/src/index.ts +706 -0
  27. package/node_modules/@sema/gerador-python/tsconfig.json +13 -0
  28. package/node_modules/@sema/gerador-python/tsconfig.tsbuildinfo +1 -0
  29. package/node_modules/@sema/gerador-typescript/package.json +10 -3
  30. package/node_modules/@sema/gerador-typescript/src/index.ts +728 -0
  31. package/node_modules/@sema/gerador-typescript/tsconfig.json +13 -0
  32. package/node_modules/@sema/gerador-typescript/tsconfig.tsbuildinfo +1 -0
  33. package/node_modules/@sema/nucleo/package.json +6 -3
  34. package/node_modules/@sema/nucleo/src/ast/tipos.ts +191 -0
  35. package/node_modules/@sema/nucleo/src/diagnosticos/index.ts +43 -0
  36. package/node_modules/@sema/nucleo/src/formatador/index.ts +507 -0
  37. package/node_modules/@sema/nucleo/src/index.ts +133 -0
  38. package/node_modules/@sema/nucleo/src/ir/conversor.ts +912 -0
  39. package/node_modules/@sema/nucleo/src/ir/modelos.ts +331 -0
  40. package/node_modules/@sema/nucleo/src/lexer/lexer.ts +166 -0
  41. package/node_modules/@sema/nucleo/src/lexer/tokens.ts +64 -0
  42. package/node_modules/@sema/nucleo/src/parser/gramatica.ebnf +39 -0
  43. package/node_modules/@sema/nucleo/src/parser/parser.ts +790 -0
  44. package/node_modules/@sema/nucleo/src/semantico/analisador.ts +2692 -0
  45. package/node_modules/@sema/nucleo/src/semantico/estruturas.ts +632 -0
  46. package/node_modules/@sema/nucleo/src/semantico/seguranca.ts +362 -0
  47. package/node_modules/@sema/nucleo/src/util/arquivos.ts +28 -0
  48. package/node_modules/@sema/nucleo/tsconfig.json +9 -0
  49. package/node_modules/@sema/nucleo/tsconfig.tsbuildinfo +1 -0
  50. package/node_modules/@sema/padroes/package.json +6 -3
  51. package/node_modules/@sema/padroes/src/index.ts +251 -0
  52. package/node_modules/@sema/padroes/tsconfig.json +9 -0
  53. package/node_modules/@sema/padroes/tsconfig.tsbuildinfo +1 -0
  54. package/package.json +21 -33
  55. package/AGENTS.md +0 -272
  56. package/LICENSE +0 -22
  57. package/README.md +0 -73
  58. package/SEMA_BRIEF.curto.txt +0 -9
  59. package/SEMA_BRIEF.md +0 -49
  60. package/SEMA_BRIEF.micro.txt +0 -7
  61. package/SEMA_INDEX.json +0 -546
  62. package/docs/AGENT_STARTER.md +0 -102
  63. package/docs/como-ensinar-a-sema-para-ia.md +0 -149
  64. package/docs/fluxo-pratico-ia-sema.md +0 -177
  65. package/docs/instalacao-e-primeiro-uso.md +0 -196
  66. package/docs/integracao-com-ia.md +0 -228
  67. package/docs/pagamento-ponta-a-ponta.md +0 -155
  68. package/docs/prompt-base-ia-sema.md +0 -104
  69. package/docs/sintaxe.md +0 -361
  70. package/exemplos/agendamento.sema +0 -106
  71. package/exemplos/assinatura.sema +0 -136
  72. package/exemplos/auditoria.sema +0 -88
  73. package/exemplos/autenticacao.sema +0 -125
  74. package/exemplos/automacao.sema +0 -107
  75. package/exemplos/cadastro_usuario.sema +0 -54
  76. package/exemplos/calculadora.sema +0 -78
  77. package/exemplos/crud_simples.sema +0 -89
  78. package/exemplos/estoque.sema +0 -126
  79. package/exemplos/exportacao.sema +0 -94
  80. package/exemplos/fila.sema +0 -131
  81. package/exemplos/integracao_externa.sema +0 -94
  82. package/exemplos/multi_tenant.sema +0 -140
  83. package/exemplos/notificacao.sema +0 -98
  84. package/exemplos/operacao_estrategia.sema +0 -402
  85. package/exemplos/pagamento.sema +0 -222
  86. package/exemplos/pagamento_dominio.sema +0 -35
  87. package/exemplos/pedido.sema +0 -119
  88. package/exemplos/permissao.sema +0 -121
  89. package/exemplos/relatorio.sema +0 -93
  90. package/exemplos/testes_embutidos.sema +0 -45
  91. package/exemplos/tratamento_erro.sema +0 -157
  92. package/exemplos/upload_arquivo.sema +0 -93
  93. package/exemplos/webhook.sema +0 -96
  94. package/llms-full.txt +0 -34
  95. package/llms.txt +0 -17
  96. package/logo.png +0 -0
@@ -1,228 +0,0 @@
1
- # Integracao com IA
2
-
3
- A Sema foi desenhada para IA editar backend vivo com menos chute. O ponto nao e "a IA gera tudo"; o ponto e deixar contrato, vinculo e contexto operacional estruturados o bastante para a IA nao trabalhar igual um bicho tonto. Leitura humana continua possivel, mas nao e o centro do desenho.
4
-
5
- ## Moldura correta
6
-
7
- Se uma IA tratar a Sema como enfeite declarativo, ela vai usar mal. A moldura certa e esta:
8
-
9
- - `impl` liga intencao a simbolo executavel
10
- - `vinculos` ligam contrato a arquivo, simbolo, recurso e superficie real
11
- - `execucao` explicita timeout, retry, compensacao e criticidade
12
- - `drift` mede verdade contra codigo vivo
13
- - `contexto-ia` empacota briefing operacional antes da edicao
14
-
15
- Em resumo: a Sema nao serve para a IA adivinhar melhor. Ela serve para a IA precisar adivinhar menos.
16
-
17
- ## Fluxo recomendado
18
-
19
- Quando o trabalho cair em projeto vivo, o fluxo canonico agora e:
20
-
21
- ```bash
22
- sema inspecionar . --json
23
- sema resumo contratos/modulo.sema --micro --para mudanca
24
- sema drift contratos/modulo.sema --json
25
- sema contexto-ia contratos/modulo.sema --saida ./.tmp/contexto --json
26
- ```
27
-
28
- Leitura rapida:
29
-
30
- 1. `inspecionar` descobre base do projeto, diretorios de codigo, fontes legado e modulos relevantes.
31
- 2. `resumo` entrega o menor cartao semantico util para a IA atual.
32
- 3. `drift` mede impls, vinculos, rotas, recursos, score semantico e confianca.
33
- 4. `contexto-ia` gera o pacote que a IA deveria ler antes de editar.
34
-
35
- ## Capacidade da IA
36
-
37
- A Sema agora assume explicitamente que nem toda IA aguenta o pacote completo.
38
-
39
- - IA pequena ou gratuita: comece em `resumo.micro.txt`, `briefing.min.json` e `prompt-curto.txt`
40
- - IA media: suba para `resumo.curto.txt`, `briefing.min.json` e `drift.json`
41
- - IA grande ou com tool use: leia `README.md`, `resumo.md`, `briefing.json`, `drift.json`, `ir.json` e `ast.json`
42
-
43
- Se voce joga `ast.json` inteiro em modelo pequeno e depois reclama da resposta, foi voce que fez cagada operacional.
44
-
45
- ## O que a IA deve consumir
46
-
47
- No minimo, para IA pequena:
48
-
49
- - `resumo.micro.txt`
50
- - `briefing.min.json`
51
-
52
- No minimo, para IA media:
53
-
54
- - `resumo.curto.txt`
55
- - `briefing.min.json`
56
- - `drift.json`
57
-
58
- No minimo, para IA grande:
59
-
60
- - `ir.json`
61
- - `drift.json`
62
- - `briefing.json`
63
- - o proprio contrato `.sema`
64
-
65
- O `briefing.json` agora e a peca mais operacional do pacote. Ele responde perguntas que agente serio precisa responder antes de mexer em codigo:
66
-
67
- - o que tocar
68
- - o que validar
69
- - o que esta frouxo
70
- - o que foi inferido
71
- - quais simbolos estao relacionados
72
- - quais superficies publicas podem ser afetadas
73
- - quais testes minimos rodar
74
-
75
- ## Saida relevante do pacote `contexto-ia`
76
-
77
- Hoje o pacote pode incluir:
78
-
79
- - `resumo.micro.txt`
80
- - `resumo.curto.txt`
81
- - `resumo.md`
82
- - `briefing.min.json`
83
- - `prompt-curto.txt`
84
- - `ast.json`
85
- - `ir.json`
86
- - `diagnosticos.json`
87
- - `drift.json`
88
- - `briefing.json`
89
- - `README.md`
90
- - `impl.<origem>.txt` quando existir implementacao vinculada
91
-
92
- ## Score, confianca e risco
93
-
94
- `drift`, `inspecionar` e `contexto-ia` passam a expor sinais que ajudam a IA a nao tratar rascunho como verdade absoluta:
95
-
96
- - `scoreSemantico`
97
- - `confiancaVinculo`
98
- - `riscoOperacional`
99
- - `lacunas`
100
- - `vinculos_validos`
101
- - `vinculos_quebrados`
102
-
103
- Leitura pratica:
104
-
105
- - score alto + confianca alta: a IA pode editar com trilha boa
106
- - score medio: ainda precisa ler contrato e conferir codigo vivo
107
- - vinculo quebrado: a IA deve reduzir ousadia e consertar rastreabilidade antes de refatorar igual doida
108
-
109
- ## Superficies que a IA pode esperar
110
-
111
- A linguagem agora trata estas bordas como primeira classe:
112
-
113
- - `route`
114
- - `worker`
115
- - `evento`
116
- - `fila`
117
- - `cron`
118
- - `webhook`
119
- - `cache`
120
- - `storage`
121
- - `policy`
122
-
123
- Isso importa porque backend real nao vive so de HTTP. Se a IA vai editar stack viva, ela precisa enxergar job, evento, webhook e recurso assincrono como parte do contrato, nao como sobra esquecida no runtime.
124
-
125
- ## Contrato operacional
126
-
127
- Dentro de `task` e superficies, a IA deve prestar atencao em:
128
-
129
- - `input`
130
- - `output`
131
- - `effects`
132
- - `impl`
133
- - `vinculos`
134
- - `execucao`
135
- - `guarantees`
136
- - `error`
137
-
138
- Exemplo minimo:
139
-
140
- ```sema
141
- task medir_drift {
142
- input {
143
- contrato: Texto required
144
- }
145
- output {
146
- score: Decimal
147
- }
148
- impl {
149
- ts: cli.src.drift.analisarDriftLegado
150
- }
151
- vinculos {
152
- arquivo: "pacotes/cli/src/drift.ts"
153
- simbolo: cli.src.drift.analisarDriftLegado
154
- }
155
- execucao {
156
- timeout: "30s"
157
- retry: "3x exponencial"
158
- criticidade_operacional: alta
159
- }
160
- guarantees {
161
- score existe
162
- }
163
- }
164
- ```
165
-
166
- ## Comandos que agente serio nao deveria ignorar
167
-
168
- - `sema ast arquivo.sema --json`
169
- - `sema ir arquivo.sema --json`
170
- - `sema validar arquivo.sema --json`
171
- - `sema diagnosticos arquivo.sema --json`
172
- - `sema formatar arquivo.sema`
173
- - `sema inspecionar [arquivo-ou-pasta] --json`
174
- - `sema drift [arquivo-ou-pasta] --json`
175
- - `sema contexto-ia arquivo.sema [--saida <diretorio>] --json`
176
- - `sema verificar [arquivo-ou-pasta] --json`
177
-
178
- ## Fluxos comuns
179
-
180
- Quando a tarefa for so modelagem:
181
-
182
- ```bash
183
- sema ast contratos/pedidos.sema --json
184
- sema ir contratos/pedidos.sema --json
185
- sema formatar contratos/pedidos.sema
186
- sema validar contratos/pedidos.sema --json
187
- ```
188
-
189
- Quando a tarefa envolver codigo derivado:
190
-
191
- ```bash
192
- sema inspecionar . --json
193
- sema drift contratos/pedidos.sema --json
194
- sema contexto-ia contratos/pedidos.sema --saida ./.tmp/contexto-pedidos --json
195
- sema compilar contratos/pedidos.sema --alvo typescript --framework nestjs --estrutura backend --saida ./generated/nestjs
196
- ```
197
-
198
- Quando a tarefa nasce num legado:
199
-
200
- ```bash
201
- sema importar flask ./backend-flask --saida ./sema/importado --json
202
- sema formatar ./sema/importado
203
- sema validar ./sema/importado --json
204
- sema drift ./sema/importado --json
205
- ```
206
-
207
- ## Showcase oficial do repo
208
-
209
- Se voce estiver no monorepo da Sema, o showcase [showcases/ranking-showroom](../showcases/ranking-showroom/) continua sendo a melhor vitrine do fluxo completo:
210
-
211
- ```bash
212
- cd showcases/ranking-showroom
213
- sema inspecionar . --json
214
- sema drift contratos/ranking_showroom.sema --json
215
- sema contexto-ia contratos/ranking_showroom.sema --saida ./.tmp/contexto-ranking --json
216
- ```
217
-
218
- O valor aqui nao e so "validou". O valor e sair com score, confianca, drift e briefing suficientes para editar o backend Flask real sem sair cavando arquivo a esmo.
219
-
220
- ## Fechamento operacional
221
-
222
- Quando a IA terminar a mudanca fora do monorepo:
223
-
224
- ```bash
225
- sema formatar contratos/modulo.sema
226
- sema validar contratos/modulo.sema --json
227
- sema verificar contratos --json --saida ./.tmp/verificacao-final
228
- ```
@@ -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.
@@ -1,104 +0,0 @@
1
- # Prompt-Base Oficial para IA Trabalhar com Sema
2
-
3
- Este arquivo serve como prompt-base oficial para qualquer IA que precise ler, escrever, revisar ou transformar arquivos `.sema`.
4
-
5
- O objetivo nao e fazer a IA "improvisar bonito". O objetivo e fazer a IA operar a linguagem com previsibilidade. A Sema nao foi desenhada para ergonomia humana como prioridade; ela foi desenhada para IA.
6
-
7
- ## Prompt-base
8
-
9
- Use o texto abaixo como base:
10
-
11
- ```text
12
- Voce esta trabalhando com Sema, um Protocolo de Governanca de Intencao para IA e backend vivo.
13
-
14
- Tecnicamente, a Sema funciona como linguagem de intencao orientada a contrato. Operacionalmente, ela existe para governar semantica acima da stack e reduzir ambiguidade para IA, nao para substituir arquitetura, design ou curadoria humana.
15
-
16
- Trate a Sema como linguagem de especificacao executavel e protocolo de governanca semantica. Nao invente sintaxe, palavras-chave ou blocos fora da gramatica e dos exemplos oficiais.
17
-
18
- Fontes de verdade, em ordem:
19
- 1. se o projeto expuser `SEMA_CONTEXT.md`, comece por ele
20
- 2. `SEMA_BRIEF.md`
21
- 3. `SEMA_INDEX.json`
22
- 4. README do projeto
23
- 5. gramatica e documentacao de sintaxe da Sema
24
- 6. especificacao semantica da linguagem
25
- 7. exemplos oficiais, com prioridade para o vertical de pagamento
26
- 8. `sema resumo` e `briefing.min.json` quando a IA for pequena
27
- 9. AST, IR e diagnosticos exportados pela CLI em JSON quando a capacidade aguentar
28
-
29
- Regras de operacao:
30
- - preserve o significado semantico
31
- - use o formatador oficial da Sema como fonte unica de estilo
32
- - use diagnosticos estruturados como contrato de correcao
33
- - use a IR como fonte de verdade semantica quando houver duvida
34
- - nao conclua uma alteracao sem validar e verificar o modulo
35
- - trate `importar` como bootstrap revisavel, nao como contrato final automatico
36
- - trate `drift` como medicao de verdade contra codigo vivo
37
- - trate `impl` como ponte entre task e simbolo real
38
- - nao invente regra de negocio que o contrato e o codigo nao sustentem
39
-
40
- Antes de editar `.sema`, entenda:
41
- - o module alvo
42
- - os contratos de task, route, error, effects, guarantees, state e flow
43
- - os exemplos oficiais relacionados
44
-
45
- Depois de editar `.sema`, execute este fluxo:
46
- 1. formatar
47
- 2. validar
48
- 3. diagnosticar, se houver falha
49
- 4. verificar
50
-
51
- Se houver conflito entre texto livre e IR/diagnosticos, priorize a IR e os diagnosticos da CLI.
52
-
53
- Se algo nao estiver claro, siga a forma ja usada nos exemplos oficiais. Nao improvise sem base.
54
- ```
55
-
56
- ## Variacao curta
57
-
58
- Se voce quiser um prompt menor para uso frequente:
59
-
60
- ```text
61
- Trabalhe com Sema como DSL semantica orientada a contrato. Nao invente sintaxe. Use os exemplos oficiais e a gramatica como referencia de escrita. Use `ir --json` como fonte de verdade semantica, `diagnosticos --json` como fonte de correcao e `sema formatar` como fonte unica de estilo. Antes de encerrar, rode validacao e verificacao.
62
- ```
63
-
64
- Se voce quiser um prompt ainda mais curto e pronto para colar, use:
65
-
66
- ```bash
67
- sema prompt-curto caminho/arquivo.sema --curto --para mudanca
68
- ```
69
-
70
- ## Variacao para revisao
71
-
72
- Use esta versao quando a IA for revisar `.sema` em vez de criar:
73
-
74
- ```text
75
- Revise este modulo Sema como contrato semantico executavel. Procure incoerencias entre input, output, rules, effects, guarantees, state, flow, route e error. Considere a IR e os diagnosticos da CLI como fonte de verdade. Nao critique estilo fora do que o formatador oficial resolveria automaticamente.
76
- ```
77
-
78
- ## Variacao para geracao
79
-
80
- Use esta versao quando a IA for escrever modulo novo:
81
-
82
- ```text
83
- Gere um modulo Sema seguindo a gramatica oficial, os exemplos do projeto e o estilo do formatador canonico. Estruture o modulo como contrato semantico executavel, com blocos explicitos para entrada, saida, regras, efeitos, garantias, erros, estado, fluxo e testes quando fizer sentido. Nao use sintaxe fora do repertorio ja suportado pela linguagem.
84
- ```
85
-
86
- ## Variacao para correcao guiada por diagnostico
87
-
88
- Use esta versao quando a IA ja tiver erro concreto para corrigir:
89
-
90
- ```text
91
- Corrija este modulo Sema a partir dos diagnosticos estruturados da CLI. Preserve a intencao do contrato e altere apenas o necessario para eliminar as falhas. Depois da correcao, aplique o formatador oficial e revalide.
92
- ```
93
-
94
- ## O que sempre anexar junto do prompt
95
-
96
- Idealmente, acompanhe o prompt com:
97
-
98
- - o arquivo `.sema` alvo
99
- - o resultado de `sema ast --json`
100
- - o resultado de `sema ir --json`
101
- - o resultado de `sema diagnosticos --json`, se houver erro
102
- - um exemplo oficial parecido
103
-
104
- Sem isso, a IA pode ate acertar. Com isso, ela trabalha direito.