@semacode/cli 1.5.11 → 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 +6 -1
  2. package/dist/index.js +446 -32
  3. package/package.json +23 -32
  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 -110
  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 -244
  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 -123
  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 -460
  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 -883
  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 -345
  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 -61
  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 -771
  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 -57
  162. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +0 -1617
  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/cli.md DELETED
@@ -1,110 +0,0 @@
1
- # CLI da Sema
2
-
3
- ## Papel da CLI
4
-
5
- A CLI e a interface oficial da Sema para:
6
-
7
- - validar contratos `.sema`
8
- - exportar AST e IR
9
- - medir `drift` entre contrato e codigo vivo
10
- - importar legado para rascunho revisavel
11
- - gerar codigo derivado
12
- - preparar contexto IA-first
13
- - resolver docs obrigatorias por intencao antes de editar ou operar
14
- - verificar multiplos alvos de geracao
15
-
16
- ## Tres modos de operacao
17
-
18
- Projeto novo:
19
-
20
- - `sema iniciar`
21
- - `sema validar`
22
- - `sema compilar`
23
- - `sema verificar`
24
-
25
- Projeto ja semantizado:
26
-
27
- - `sema inspecionar`
28
- - `sema resumo`
29
- - `sema drift`
30
- - `sema contexto-ia`
31
-
32
- Adocao incremental:
33
-
34
- - `sema importar`
35
- - `sema formatar`
36
- - `sema validar`
37
- - `sema drift`
38
-
39
- ## Persistencia vendor-first
40
-
41
- A linha atual adiciona uma secao canonica de persistencia no contrato, no semantico, no IR e no formatador, alem de `drift` com escopo real, `impacto`, renomeacao semantica assistida, `verificar` mais coerente nos alvos gerados, match de metodos JS/TS definidos via `Object.assign(...prototype...)`, leitura de `Preferences`/`localStorage`/`sessionStorage`, fallback para `angular-consumer` standalone sem `.routes`, compatibilidade PHP como codigo vivo e limpeza de runtime da CLI publica para reduzir atrito de instalacao no Windows.
42
-
43
- Cobertura publica:
44
-
45
- - `postgres`: `table`, `relationship`, `query`, `schema`, capacidades relacionais
46
- - `mysql`: `table`, `index`, consultas SQL e diferencas operacionais do engine
47
- - `sqlite`: `table`, `retention`, uso local e edge
48
- - `mongodb`: `collection`, `document`, `query` em `pipeline`
49
- - `redis`: `keyspace`, `stream`, `retention`, TTL e superficies de estado
50
-
51
- ## Drift e codigo vivo
52
-
53
- `sema drift` agora cruza contrato com recursos reais encontrados em:
54
-
55
- - codigo de backend
56
- - codigo Lua usado como runtime ou bridge
57
- - codigo PHP usado como backend, controller, runtime ou bridge
58
- - DDL `.sql`
59
- - schema `.prisma`
60
- - uso de MongoDB
61
- - uso de Redis, incluindo keyspaces e streams
62
-
63
- O objetivo nao e adivinhar tudo; e produzir um score explicavel com lacunas claras.
64
-
65
- ## Ajuda IA-first
66
-
67
- - `sema ajuda-ia`
68
- - `sema starter-ia`
69
- - `sema resumo <arquivo-ou-pasta> --micro|--curto|--medio`
70
- - `sema prompt-curto <arquivo-ou-pasta> --micro|--curto|--medio`
71
- - `sema contexto-ia <arquivo.sema> --saida <diretorio>`
72
- - `sema sync-ai-entrypoints --json`
73
- - `sema docs-impacto --intencao <acao> --criar-ausentes --json`
74
- - `sema finalizar-mudanca --intencao <acao> --doc-lida <caminho> --json`
75
-
76
- ## Importadores publicos
77
-
78
- - `nestjs`
79
- - `fastapi`
80
- - `flask`
81
- - `nextjs`
82
- - `nextjs-consumer`
83
- - `react-vite-consumer`
84
- - `angular-consumer`
85
- - `flutter-consumer`
86
- - `firebase`
87
- - `php`
88
- - `dotnet`
89
- - `java`
90
- - `go`
91
- - `rust`
92
- - `cpp`
93
- - `typescript`
94
- - `python`
95
- - `dart`
96
- - `lua`
97
-
98
- ## Comandos mais usados
99
-
100
- ```bash
101
- sema validar <arquivo-ou-pasta> --json
102
- sema diagnosticos <arquivo.sema> --json
103
- sema ir <arquivo.sema> --json
104
- sema drift <arquivo-ou-pasta> --json
105
- sema importar <fonte> <diretorio> --saida <diretorio> --json
106
- sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
107
- sema finalizar-mudanca --intencao "fazer deploy" --doc-lida docs/deploy.md --json
108
- sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart|lua> --saida <diretorio>
109
- sema verificar <arquivo-ou-pasta> --saida <diretorio>
110
- ```
@@ -1,149 +0,0 @@
1
- # Como Ensinar a Sema para IA
2
-
3
- Este documento explica como fazer uma IA entender a Sema sem depender de memoria previa do modelo. A estrategia correta nao e presumir que a IA "ja conhece a linguagem", e sim entregar contexto suficiente para ela operar com seguranca.
4
-
5
- Leia isso do ponto de vista da CLI publica. A IA nao deve assumir que esta dentro do monorepo da Sema, nem que precisa chamar `node pacotes/cli/dist/index.js`.
6
-
7
- ## Principio central
8
-
9
- Uma IA entende uma linguagem nova quando recebe quatro camadas de contexto:
10
-
11
- 1. sintaxe
12
- 2. semantica
13
- 3. estrutura intermediaria estavel
14
- 4. exemplos reais
15
-
16
- Sem essas quatro camadas, o modelo comeca a adivinhar. E adivinhacao em linguagem de contrato e pedir para nascer bug feio.
17
-
18
- Antes de qualquer outra coisa, a IA tambem precisa receber a **moldura correta**:
19
-
20
- - a Sema e um protocolo de governanca de intencao
21
- - a Sema foi feita para IA, nao para ergonomia humana
22
- - a Sema nao foi feita para "automatizar tudo"
23
- - a Sema existe para explicitar, alinhar e verificar contrato contra sistema vivo
24
- - curadoria humana continua parte da proposta
25
-
26
- Se a IA errar essa moldura, ela vai cobrar da ferramenta a coisa errada e operar feito um animal apressado.
27
-
28
- ## Camada 1. Sintaxe
29
-
30
- A IA precisa saber como a linguagem e escrita.
31
-
32
- Fontes principais:
33
-
34
- - [README.md](../README.md)
35
- - [sintaxe.md](./sintaxe.md)
36
- - [integracao-com-ia.md](./integracao-com-ia.md)
37
-
38
- Objetivo dessa camada:
39
-
40
- - reconhecer blocos validos
41
- - entender delimitadores
42
- - nao inventar palavras-chave
43
- - respeitar a organizacao canonicamente formatada
44
-
45
- ## Camada 2. Semantica
46
-
47
- Depois de saber ler, a IA precisa saber o que cada bloco significa.
48
-
49
- Fontes principais:
50
-
51
- - [README.md](../README.md)
52
- - [integracao-com-ia.md](./integracao-com-ia.md)
53
- - [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
54
-
55
- Objetivo dessa camada:
56
-
57
- - distinguir contrato interno de `task`
58
- - distinguir contrato publico de `route`
59
- - entender `effects`, `guarantees`, `error`, `state` e `flow`
60
- - operar na linguagem como especificacao executavel, nao como texto decorativo
61
- - entender que `importar` e bootstrap
62
- - entender que `drift` e regua de coerencia contra o runtime
63
- - entender que `impl` e ponte rastreavel para simbolo vivo
64
-
65
- ## Camada 3. Estrutura intermediaria estavel
66
-
67
- Essa e a camada que faz a parada parar de ser um cassino.
68
-
69
- Em vez de confiar que a IA vai interpretar `.sema` cru de primeira, use a CLI como tradutora oficial da linguagem.
70
-
71
- Comandos principais:
72
-
73
- ```bash
74
- sema resumo arquivo.sema --micro --para onboarding
75
- sema validar arquivo.sema --json
76
- sema diagnosticos arquivo.sema --json
77
- sema ast arquivo.sema --json
78
- sema ir arquivo.sema --json
79
- sema verificar arquivo-ou-pasta --json --saida ./.tmp/verificacao-ia
80
- ```
81
-
82
- Como cada comando ajuda:
83
-
84
- - `resumo`: entrega cartao semantico pequeno para IA com janela curta
85
- - `validar --json`: diz se a base esta semanticamente valida
86
- - `diagnosticos --json`: devolve erros e avisos como contrato estruturado
87
- - `ast --json`: mostra a forma sintatica escrita
88
- - `ir --json`: mostra a forma semantica resolvida
89
- - `verificar --json`: mostra o estado operacional do projeto
90
-
91
- Se a IA puder consumir `ir --json`, melhor ainda. E ali que a linguagem fica menos ambigua e mais utilizavel para automacao. Mas nao seja um animal: para modelo pequeno, comece em `resumo` e `briefing.min.json`.
92
-
93
- ## Camada 4. Exemplos reais
94
-
95
- Modelo aprende muito por padrao. Por isso, bons exemplos valem quase tanto quanto especificacao.
96
-
97
- Arquivos recomendados:
98
-
99
- - [pagamento.sema](../exemplos/pagamento.sema)
100
- - [pagamento_dominio.sema](../exemplos/pagamento_dominio.sema)
101
- - [automacao.sema](../exemplos/automacao.sema)
102
- - [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
103
- - [crud_simples.sema](../exemplos/crud_simples.sema)
104
-
105
- O vertical oficial de pagamento deve ser tratado como a referencia principal.
106
-
107
- ## O que a IA nao deve fazer
108
-
109
- - inventar palavras-chave fora da gramatica
110
- - introduzir blocos inexistentes
111
- - assumir semantica que nao aparece na especificacao
112
- - tratar draft importado como contrato final so porque veio da CLI
113
- - tratar a Sema como gerador magico de sistema completo
114
- - editar `.sema` sem rodar `sema formatar`
115
- - encerrar alteracao sem consultar `diagnosticos` quando houver falha
116
-
117
- ## O que a IA deve fazer
118
-
119
- - usar a gramatica e os exemplos como fonte de estilo
120
- - usar a IR como fonte de verdade semantica sempre que possivel
121
- - usar diagnosticos estruturados como guia de correcao
122
- - rodar o formatador antes de considerar o trabalho pronto
123
- - validar e verificar a mudanca no mesmo fluxo
124
-
125
- ## Estrategia recomendada
126
-
127
- Se voce for instruir uma IA para trabalhar com Sema, entregue o contexto nesta ordem:
128
-
129
- 1. [README.md](../README.md)
130
- 2. [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
131
- 3. [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
132
- 4. [prompt-base-ia-sema.md](./prompt-base-ia-sema.md)
133
- 5. `sema resumo --micro` ou `sema resumo --curto`, conforme a capacidade da IA
134
- 6. `ast --json`, `ir --json` e `diagnosticos --json` do modulo alvo, se a capacidade aguentar
135
-
136
- Essa ordem faz a IA ir de contexto geral para contexto operacional, em vez de cair direto num arquivo cru e sair chutando.
137
-
138
- ## Regra de ouro
139
-
140
- A Sema foi desenhada para ser entendida por IA, mas isso nao significa que a IA vai adivinhar sozinha.
141
-
142
- Ela entende bem quando recebe:
143
-
144
- - especificacao
145
- - exemplos
146
- - JSON estrutural
147
- - feedback automatico
148
-
149
- Sem isso, ate o modelo mais caro vira estagiario emocionado.
package/docs/deploy.md DELETED
@@ -1,70 +0,0 @@
1
- # Deploy
2
-
3
- Este runbook governa a publicacao publica da Sema: CLI, MCP, VSIX, instaladores e release assets.
4
-
5
- ## Pre-condicoes
6
-
7
- - `sema resumo` executado no projeto antes da mudanca.
8
- - `sema inspecionar contratos/sema/governanca_ia.sema --json` executado para confirmar o contrato relacionado.
9
- - `sema drift contratos/sema/governanca_ia.sema --escopo modulo --json` sem diagnosticos bloqueantes.
10
- - `sema docs-impacto --intencao "<release>" --criar-ausentes --json` executado e todos os docs obrigatorios lidos.
11
- - `npm whoami` autenticado com uma conta que pode publicar `@semacode/cli` e `@semacode/mcp`.
12
- - `gh auth status` autenticado com permissao de push e release em `gerlanss/Sema`.
13
- - Workspace revisado para nao incluir lixo local, caches ou artefatos temporarios fora de `.tmp/`.
14
-
15
- ## Sequencia segura
16
-
17
- 1. Escolha uma versao que ainda nao exista no NPM.
18
- 2. Atualize `package.json`, workspaces, lockfiles, changelog e docs antes de empacotar.
19
- 3. Rode `npm run build`.
20
- 4. Rode os testes focados e checagens de release.
21
- 5. Rode `npm run release:preparar-publica` para gerar `.tmp/release-assets`.
22
- 6. Publique NPM com `npm run release:publicar-npm`.
23
- 7. Instale a CLI e o MCP publicados para smoke test.
24
- 8. Empacote e instale a VSIX localmente para smoke test da extensao.
25
- 9. Rode `sema finalizar-mudanca` com as docs lidas antes de concluir.
26
- 10. Commit, push, tag e GitHub Release com os assets gerados.
27
-
28
- ## Validacao minima
29
-
30
- ```bash
31
- npm run build
32
- npm run format:check
33
- npm run status:check
34
- node --import tsx --test --test-name-pattern "docs operacionais|ajuda de ia|mcp cli responde" testes/integracao/cli-json-e-editor.test.ts
35
- sema validar contratos/sema/governanca_ia.sema --json
36
- sema drift contratos/sema/governanca_ia.sema --escopo modulo --json
37
- ```
38
-
39
- Depois de publicar:
40
-
41
- ```bash
42
- npm view @semacode/cli version
43
- npm view @semacode/mcp version
44
- npm install -g @semacode/cli@<versao>
45
- npm install -g @semacode/mcp@<versao>
46
- sema --version
47
- sema docs-impacto --intencao "smoke release" --json
48
- sema-mcp --help
49
- ```
50
-
51
- ## Release assets
52
-
53
- `npm run release:preparar-publica` deve gerar:
54
-
55
- - `sema-cli-<versao>.tgz`
56
- - `sema-cli-latest.tgz`
57
- - `sema-language-tools-<versao>.vsix`
58
- - `sema-language-tools-latest.vsix`
59
- - `install-sema.sh`
60
- - `install-sema.ps1`
61
- - `SHA256SUMS.txt`
62
- - `release-notes.md`
63
-
64
- ## Sinais de parada
65
-
66
- - NPM ja tem a versao escolhida.
67
- - `npm whoami` falha.
68
- - `gh auth status` falha.
69
- - `sema validar`, `sema drift`, build ou testes falham.
70
- - `release:preparar-publica` encontra versoes desalinhadas entre root, CLI, MCP e extensao.
@@ -1,63 +0,0 @@
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 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.