@semacode/cli 1.5.18 → 1.5.25
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.
- package/AGENTS.md +268 -260
- package/LICENSE +22 -22
- package/README.md +144 -104
- package/SEMA_BRIEF.curto.txt +7 -5
- package/SEMA_BRIEF.md +61 -5
- package/SEMA_BRIEF.micro.txt +6 -4
- package/SEMA_INDEX.json +991 -47
- package/dist/controleComercialSupabase.d.ts +326 -0
- package/dist/controleComercialSupabase.js +310 -0
- package/dist/controleComercialSupabase.js.map +1 -0
- package/dist/docs.js +48 -20
- package/dist/docs.js.map +1 -1
- package/dist/drift.d.ts +5 -3
- package/dist/drift.js +123 -14
- package/dist/drift.js.map +1 -1
- package/dist/index.js +1889 -38
- package/dist/index.js.map +1 -1
- package/dist/mcpRemoto.d.ts +32 -0
- package/dist/mcpRemoto.js +61 -0
- package/dist/mcpRemoto.js.map +1 -0
- package/dist/projeto.js +3 -1
- package/dist/projeto.js.map +1 -1
- package/docs/AGENT_STARTER.md +103 -97
- package/docs/cli.md +175 -106
- package/docs/como-ensinar-a-sema-para-ia.md +41 -35
- package/docs/deploy.md +231 -43
- package/docs/documentacao.md +61 -36
- package/docs/env.md +105 -56
- package/docs/extensao-vscode.md +12 -4
- package/docs/fluxo-pratico-ia-sema.md +182 -176
- package/docs/instalacao-e-primeiro-uso.md +52 -30
- package/docs/integracao-com-ia.md +108 -101
- package/docs/mcp.md +292 -51
- package/docs/pagamento-ponta-a-ponta.md +34 -28
- package/docs/persistencia-vendor-first.md +11 -5
- package/docs/prompt-base-ia-sema.md +13 -7
- package/docs/rollback.md +17 -15
- package/docs/sintaxe.md +180 -174
- package/exemplos/agendamento.sema +105 -105
- package/exemplos/assinatura.sema +133 -133
- package/exemplos/auditoria.sema +89 -89
- package/exemplos/autenticacao.sema +125 -125
- package/exemplos/author_obra_comum.sema +294 -0
- package/exemplos/author_tema_sensivel.sema +264 -0
- package/exemplos/automacao.sema +107 -107
- package/exemplos/cadastro_usuario.sema +54 -54
- package/exemplos/calculadora.sema +78 -78
- package/exemplos/crud_simples.sema +89 -89
- package/exemplos/estoque.sema +127 -127
- package/exemplos/exportacao.sema +94 -94
- package/exemplos/fila.sema +130 -130
- package/exemplos/integracao_externa.sema +94 -94
- package/exemplos/multi_tenant.sema +140 -140
- package/exemplos/notificacao.sema +149 -149
- package/exemplos/operacao_estrategia.sema +633 -633
- package/exemplos/pagamento.sema +434 -434
- package/exemplos/pagamento_dominio.sema +35 -35
- package/exemplos/pedido.sema +255 -255
- package/exemplos/permissao.sema +121 -121
- package/exemplos/persistencia_vendor_first.sema +86 -86
- package/exemplos/profile_game.sema +114 -0
- package/exemplos/profile_legal.sema +105 -0
- package/exemplos/profile_ops.sema +110 -0
- package/exemplos/profile_research.sema +104 -0
- package/exemplos/profile_software.sema +123 -0
- package/exemplos/profile_workflow_n8n.sema +99 -0
- package/exemplos/relatorio.sema +93 -93
- package/exemplos/replica_analitica_erp.sema +160 -160
- package/exemplos/testes_embutidos.sema +45 -45
- package/exemplos/tratamento_erro.sema +157 -157
- package/exemplos/upload_arquivo.sema +93 -93
- package/exemplos/webhook.sema +94 -94
- package/llms-full.txt +34 -34
- package/llms.txt +17 -17
- package/node_modules/@sema/gerador-css/dist/index.js +563 -563
- package/node_modules/@sema/gerador-css/package.json +1 -1
- package/node_modules/@sema/gerador-dart/package.json +1 -1
- package/node_modules/@sema/gerador-html/dist/index.js +90 -90
- package/node_modules/@sema/gerador-html/package.json +1 -1
- package/node_modules/@sema/gerador-javascript/dist/index.js +92 -92
- package/node_modules/@sema/gerador-javascript/package.json +1 -1
- package/node_modules/@sema/gerador-lua/dist/index.js +53 -53
- package/node_modules/@sema/gerador-lua/package.json +1 -1
- package/node_modules/@sema/gerador-python/dist/index.js +122 -96
- package/node_modules/@sema/gerador-python/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-python/package.json +1 -1
- package/node_modules/@sema/gerador-typescript/dist/index.js +153 -153
- package/node_modules/@sema/gerador-typescript/package.json +1 -1
- package/node_modules/@sema/nucleo/dist/formatador/index.js +12 -4
- package/node_modules/@sema/nucleo/dist/formatador/index.js.map +1 -1
- package/node_modules/@sema/nucleo/package.json +1 -1
- package/node_modules/@sema/padroes/package.json +1 -1
- package/package.json +11 -11
package/docs/cli.md
CHANGED
|
@@ -1,106 +1,175 @@
|
|
|
1
|
-
# CLI
|
|
2
|
-
|
|
3
|
-
##
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
##
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
- `sema
|
|
66
|
-
- `sema
|
|
67
|
-
- `sema
|
|
68
|
-
- `sema
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
- `sema
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
-
|
|
78
|
-
|
|
79
|
-
- `
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
- `
|
|
84
|
-
- `
|
|
85
|
-
- `
|
|
86
|
-
- `
|
|
87
|
-
- `
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
sema
|
|
105
|
-
sema
|
|
106
|
-
|
|
1
|
+
# Sema CLI
|
|
2
|
+
|
|
3
|
+
## English
|
|
4
|
+
|
|
5
|
+
The Sema CLI is the public npm package for local semantic governance. It validates `.sema` contracts, checks drift, maps impact, prepares AI-first context, resolves documentation gates, and runs profile validators before an agent continues.
|
|
6
|
+
|
|
7
|
+
Current public version: `1.5.25`.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @semacode/cli
|
|
11
|
+
sema --version
|
|
12
|
+
sema validar contratos/pedidos.sema --json
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Português
|
|
16
|
+
|
|
17
|
+
A CLI da Sema é o pacote público no npm para governança semântica local. Ela valida contratos `.sema`, verifica drift, mapeia impacto, prepara contexto IA-first, resolve gates de documentação e roda validadores de profiles antes de um agente continuar.
|
|
18
|
+
|
|
19
|
+
Versão pública atual: `1.5.25`.
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install -g @semacode/cli
|
|
23
|
+
sema --version
|
|
24
|
+
sema validar contratos/pedidos.sema --json
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Español
|
|
28
|
+
|
|
29
|
+
La CLI de Sema es el paquete público en npm para gobernanza semántica local. Valida contratos `.sema`, verifica drift, mapea impacto, prepara contexto IA-first, resuelve gates de documentación y ejecuta validadores de profiles antes de que un agente continúe.
|
|
30
|
+
|
|
31
|
+
Versión pública actual: `1.5.25`.
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npm install -g @semacode/cli
|
|
35
|
+
sema --version
|
|
36
|
+
sema validar contratos/pedidos.sema --json
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Referência Operacional
|
|
40
|
+
|
|
41
|
+
### Papel da CLI
|
|
42
|
+
|
|
43
|
+
A CLI é a interface oficial da Sema para:
|
|
44
|
+
|
|
45
|
+
- validar contratos `.sema`
|
|
46
|
+
- exportar AST e IR
|
|
47
|
+
- medir `drift` entre contrato e código vivo
|
|
48
|
+
- importar legado para rascunho revisável
|
|
49
|
+
- gerar código derivado
|
|
50
|
+
- preparar contexto IA-first
|
|
51
|
+
- resolver docs obrigatórias por intenção antes de editar ou operar
|
|
52
|
+
- verificar múltiplos alvos de geração
|
|
53
|
+
|
|
54
|
+
### Três Modos De Operação
|
|
55
|
+
|
|
56
|
+
Projeto novo:
|
|
57
|
+
|
|
58
|
+
- `sema iniciar`
|
|
59
|
+
- `sema validar`
|
|
60
|
+
- `sema compilar`
|
|
61
|
+
- `sema verificar`
|
|
62
|
+
|
|
63
|
+
Projeto já semantizado:
|
|
64
|
+
|
|
65
|
+
- `sema inspecionar`
|
|
66
|
+
- `sema resumo`
|
|
67
|
+
- `sema drift`
|
|
68
|
+
- `sema contexto-ia`
|
|
69
|
+
|
|
70
|
+
Adoção incremental:
|
|
71
|
+
|
|
72
|
+
- `sema importar`
|
|
73
|
+
- `sema formatar`
|
|
74
|
+
- `sema validar`
|
|
75
|
+
- `sema drift`
|
|
76
|
+
|
|
77
|
+
## Persistência vendor-first
|
|
78
|
+
|
|
79
|
+
A linha 1.5.25 mantém persistência vendor-first como seção canônica no contrato, no semântico, na IR e no formatador, além de `drift` com escopo real, `impacto`, renomeação semântica assistida, `verificar` mais coerente nos alvos gerados, match de métodos JS/TS definidos via `Object.assign(...prototype...)`, leitura de `Preferences`/`localStorage`/`sessionStorage`, fallback para `angular-consumer` standalone sem `.routes`, limpeza de runtime da CLI pública no Windows, Sema Author oficial e MCP remoto desmembrado da distribuição pública.
|
|
80
|
+
|
|
81
|
+
Cobertura pública:
|
|
82
|
+
|
|
83
|
+
- `postgres`: `table`, `relationship`, `query`, `schema`, capacidades relacionais
|
|
84
|
+
- `mysql`: `table`, `index`, consultas SQL e diferenças operacionais do engine
|
|
85
|
+
- `sqlite`: `table`, `retention`, uso local e edge
|
|
86
|
+
- `mongodb`: `collection`, `document`, `query` em `pipeline`
|
|
87
|
+
- `redis`: `keyspace`, `stream`, `retention`, TTL e superfícies de estado
|
|
88
|
+
|
|
89
|
+
## Drift e código vivo
|
|
90
|
+
|
|
91
|
+
`sema drift` agora cruza contrato com recursos reais encontrados em:
|
|
92
|
+
|
|
93
|
+
- código de backend
|
|
94
|
+
- DDL `.sql`
|
|
95
|
+
- schema `.prisma`
|
|
96
|
+
- uso de MongoDB
|
|
97
|
+
- uso de Redis, incluindo keyspaces e streams
|
|
98
|
+
|
|
99
|
+
O objetivo não é adivinhar tudo; é produzir um score explicável com lacunas claras.
|
|
100
|
+
|
|
101
|
+
## Ajuda IA-first
|
|
102
|
+
|
|
103
|
+
- `sema ajuda-ia`
|
|
104
|
+
- `sema starter-ia`
|
|
105
|
+
- `sema resumo <arquivo-ou-pasta> --micro|--curto|--medio`
|
|
106
|
+
- `sema prompt-curto <arquivo-ou-pasta> --micro|--curto|--medio`
|
|
107
|
+
- `sema contexto-ia <arquivo.sema> --saida <diretorio>`
|
|
108
|
+
- `sema sync-ai-entrypoints --json`
|
|
109
|
+
- `sema docs-impacto --intencao <acao> --criar-ausentes --json`
|
|
110
|
+
- `sema finalizar-mudanca --intencao <acao> --doc-lida <caminho> --json`
|
|
111
|
+
|
|
112
|
+
## Profiles Semânticos
|
|
113
|
+
|
|
114
|
+
Profiles oficiais usam contrato Sema normal e um gate de requisitos obrigatórios. O requisito comum é contrato primeiro: criar, editar ou remover contrato antes de qualquer ação. Se o contrato não declara o mínimo do domínio, o comando falha.
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
sema profile validar software contratos/sema/software.sema --json
|
|
118
|
+
sema profile validar workflow contratos/sema/workflow_ops.sema --json
|
|
119
|
+
sema profile validar ops contratos/sema/workflow_ops.sema --json
|
|
120
|
+
sema profile validar game contratos/sema/game.sema --json
|
|
121
|
+
sema profile validar legal contratos/sema/legal.sema --json
|
|
122
|
+
sema profile validar research contratos/sema/research.sema --json
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Sema Author
|
|
126
|
+
|
|
127
|
+
Author é um profile oficial para governança autoral IA-first. Ele usa a mesma DSL, sem palavra-chave nova, e organiza contratos em core, agents e flow. Se obra, tom, limite, público ou política muda, edite o contrato antes de gerar ou revisar texto.
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
sema author iniciar --saida contratos/author.sema
|
|
131
|
+
sema author iniciar --tema-sensivel --saida contratos/author.sema
|
|
132
|
+
sema author validar contratos/author.sema --json
|
|
133
|
+
sema author briefing contratos/author.sema --json
|
|
134
|
+
sema author revisar-cliches contratos/author.sema --texto "O escolhido predestinado aceitou a missão." --json
|
|
135
|
+
sema author validar-narrativa contratos/author.sema --texto "Mara perdeu a chave para salvar Raul. Por isso, o capitulo seguinte muda a promessa dela." --texto-anterior "Mara prometeu proteger a chave." --json
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
O comando `author iniciar` usa os exemplos oficiais `author_obra_comum.sema` ou `author_tema_sensivel.sema` como starter. Ele não sobrescreve contrato existente.
|
|
139
|
+
|
|
140
|
+
## Importadores Públicos
|
|
141
|
+
|
|
142
|
+
- `nestjs`
|
|
143
|
+
- `fastapi`
|
|
144
|
+
- `flask`
|
|
145
|
+
- `nextjs`
|
|
146
|
+
- `nextjs-consumer`
|
|
147
|
+
- `react-vite-consumer`
|
|
148
|
+
- `angular-consumer`
|
|
149
|
+
- `flutter-consumer`
|
|
150
|
+
- `firebase`
|
|
151
|
+
- `dotnet`
|
|
152
|
+
- `java`
|
|
153
|
+
- `go`
|
|
154
|
+
- `rust`
|
|
155
|
+
- `cpp`
|
|
156
|
+
- `typescript`
|
|
157
|
+
- `python`
|
|
158
|
+
- `dart`
|
|
159
|
+
|
|
160
|
+
## Comandos mais usados
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
sema validar <arquivo-ou-pasta> --json
|
|
164
|
+
sema diagnosticos <arquivo.sema> --json
|
|
165
|
+
sema ir <arquivo.sema> --json
|
|
166
|
+
sema drift <arquivo-ou-pasta> --json
|
|
167
|
+
sema author briefing <arquivo.sema> --json
|
|
168
|
+
sema author revisar-cliches <arquivo.sema> --texto <texto> --json
|
|
169
|
+
sema author validar-narrativa <arquivo.sema> --texto <texto> [--texto-anterior <texto>] --json
|
|
170
|
+
sema importar <fonte> <diretorio> --saida <diretorio> --json
|
|
171
|
+
sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
|
|
172
|
+
sema finalizar-mudanca --intencao "fazer deploy" --doc-lida docs/deploy.md --json
|
|
173
|
+
sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart|lua> --saida <diretorio>
|
|
174
|
+
sema verificar <arquivo-ou-pasta> --saida <diretorio>
|
|
175
|
+
```
|
|
@@ -1,29 +1,35 @@
|
|
|
1
1
|
# Como Ensinar a Sema para IA
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<!-- sema:i18n -->
|
|
4
|
+
> EN: English first. The canonical operational body below may still be in Portuguese until full translation lands.
|
|
5
|
+
> PT: Português depois, com acentos preservados.
|
|
6
|
+
> ES: Español al final; não traduza comandos, rotas nem sómbolos `.sema` sem contrato.
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
|
|
9
|
+
Este documento explica como fazer uma IA entender a Sema sem depender de memória prévia do modelo. A estratégia correta não é presumir que a IA "já conhece a linguagem", e sim entregar contexto suficiente para ela operar com segurança.
|
|
10
|
+
|
|
11
|
+
Leia isso do ponto de vista da CLI pública. A IA não deve assumir que está dentro do monorepo da Sema, nem que precisa chamar `node pacotes/cli/dist/index.js`.
|
|
6
12
|
|
|
7
13
|
## Principio central
|
|
8
14
|
|
|
9
15
|
Uma IA entende uma linguagem nova quando recebe quatro camadas de contexto:
|
|
10
16
|
|
|
11
17
|
1. sintaxe
|
|
12
|
-
2.
|
|
18
|
+
2. semântica
|
|
13
19
|
3. estrutura intermediaria estavel
|
|
14
20
|
4. exemplos reais
|
|
15
21
|
|
|
16
|
-
Sem essas quatro camadas, o modelo comeca a adivinhar.
|
|
22
|
+
Sem essas quatro camadas, o modelo comeca a adivinhar. É adivinhação em linguagem de contrato e pedir para nascer bug feio.
|
|
17
23
|
|
|
18
|
-
Antes de qualquer outra coisa, a IA
|
|
24
|
+
Antes de qualquer outra coisa, a IA também precisa receber a **moldura correta**:
|
|
19
25
|
|
|
20
|
-
- a Sema
|
|
21
|
-
- a Sema foi feita para IA,
|
|
22
|
-
- a Sema
|
|
26
|
+
- a Sema é um contrato semântico IA-first para agentes operarem software vivo
|
|
27
|
+
- a Sema foi feita para IA, não para ergonomia humana
|
|
28
|
+
- a Sema não foi feita para "automatizar tudo"
|
|
23
29
|
- a Sema existe para explicitar, alinhar e verificar contrato contra sistema vivo
|
|
24
30
|
- humanos sao autores, revisores e aprovadores; agentes sao consumidores primarios
|
|
25
31
|
|
|
26
|
-
Se a IA errar essa moldura, ela vai cobrar da ferramenta a coisa errada e operar por
|
|
32
|
+
Se a IA errar essa moldura, ela vai cobrar da ferramenta a coisa errada e operar por adivinhação.
|
|
27
33
|
|
|
28
34
|
## Camada 1. Sintaxe
|
|
29
35
|
|
|
@@ -33,33 +39,33 @@ Fontes principais:
|
|
|
33
39
|
|
|
34
40
|
- [README.md](../README.md)
|
|
35
41
|
- [sintaxe.md](./sintaxe.md)
|
|
36
|
-
- [
|
|
42
|
+
- [integração-com-ia.md](./integracao-com-ia.md)
|
|
37
43
|
|
|
38
44
|
Objetivo dessa camada:
|
|
39
45
|
|
|
40
46
|
- reconhecer blocos validos
|
|
41
47
|
- entender delimitadores
|
|
42
|
-
-
|
|
48
|
+
- não inventar palavras-chave
|
|
43
49
|
- respeitar a organizacao canonicamente formatada
|
|
44
50
|
|
|
45
|
-
## Camada 2.
|
|
51
|
+
## Camada 2. Semântica
|
|
46
52
|
|
|
47
53
|
Depois de saber ler, a IA precisa saber o que cada bloco significa.
|
|
48
54
|
|
|
49
55
|
Fontes principais:
|
|
50
56
|
|
|
51
57
|
- [README.md](../README.md)
|
|
52
|
-
- [
|
|
58
|
+
- [integração-com-ia.md](./integracao-com-ia.md)
|
|
53
59
|
- [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
|
|
54
60
|
|
|
55
61
|
Objetivo dessa camada:
|
|
56
62
|
|
|
57
63
|
- distinguir contrato interno de `task`
|
|
58
|
-
- distinguir contrato
|
|
64
|
+
- distinguir contrato público de `route`
|
|
59
65
|
- entender `effects`, `guarantees`, `error`, `state` e `flow`
|
|
60
|
-
- operar na linguagem como especificacao executavel,
|
|
66
|
+
- operar na linguagem como especificacao executavel, não como texto decorativo
|
|
61
67
|
- entender que `importar` e bootstrap
|
|
62
|
-
- entender que `drift` e regua de
|
|
68
|
+
- entender que `drift` e regua de coerência contra o runtime
|
|
63
69
|
- entender que `impl` e ponte rastreavel para simbolo vivo
|
|
64
70
|
|
|
65
71
|
## Camada 3. Estrutura intermediaria estavel
|
|
@@ -81,18 +87,18 @@ sema verificar arquivo-ou-pasta --json --saida ./.tmp/verificacao-ia
|
|
|
81
87
|
|
|
82
88
|
Como cada comando ajuda:
|
|
83
89
|
|
|
84
|
-
- `resumo`: entrega cartao
|
|
85
|
-
- `validar --json`: diz se a base
|
|
90
|
+
- `resumo`: entrega cartao semântico pequeno para IA com janela curta
|
|
91
|
+
- `validar --json`: diz se a base está semanticamente valida
|
|
86
92
|
- `diagnosticos --json`: devolve erros e avisos como contrato estruturado
|
|
87
93
|
- `ast --json`: mostra a forma sintatica escrita
|
|
88
|
-
- `ir --json`: mostra a forma
|
|
94
|
+
- `ir --json`: mostra a forma semântica resolvida
|
|
89
95
|
- `verificar --json`: mostra o estado operacional do projeto
|
|
90
96
|
|
|
91
|
-
Se a IA puder consumir `ir --json`, melhor ainda.
|
|
97
|
+
Se a IA puder consumir `ir --json`, melhor ainda. É ali que a linguagem fica menos ambigua e mais utilizavel para automacao. Para modelo pequeno, comece em `resumo` e `briefing.min.json`.
|
|
92
98
|
|
|
93
99
|
## Camada 4. Exemplos reais
|
|
94
100
|
|
|
95
|
-
Modelo aprende muito por
|
|
101
|
+
Modelo aprende muito por padrão. Por isso, bons exemplos valem quase tanto quanto especificacao.
|
|
96
102
|
|
|
97
103
|
Arquivos recomendados:
|
|
98
104
|
|
|
@@ -102,27 +108,27 @@ Arquivos recomendados:
|
|
|
102
108
|
- [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
|
|
103
109
|
- [crud_simples.sema](../exemplos/crud_simples.sema)
|
|
104
110
|
|
|
105
|
-
O vertical oficial de pagamento deve ser tratado como a
|
|
111
|
+
O vertical oficial de pagamento deve ser tratado como a referência principal.
|
|
106
112
|
|
|
107
|
-
## O que a IA
|
|
113
|
+
## O que a IA não deve fazer
|
|
108
114
|
|
|
109
|
-
- inventar palavras-chave fora da
|
|
115
|
+
- inventar palavras-chave fora da gramática
|
|
110
116
|
- introduzir blocos inexistentes
|
|
111
|
-
- assumir
|
|
112
|
-
- tratar draft importado como contrato final
|
|
113
|
-
- tratar a Sema como gerador
|
|
117
|
+
- assumir semântica que não aparece na especificacao
|
|
118
|
+
- tratar draft importado como contrato final só porque veio da CLI
|
|
119
|
+
- tratar a Sema como gerador mágico de sistema completo
|
|
114
120
|
- editar `.sema` sem rodar `sema formatar`
|
|
115
121
|
- encerrar alteracao sem consultar `diagnosticos` quando houver falha
|
|
116
122
|
|
|
117
123
|
## O que a IA deve fazer
|
|
118
124
|
|
|
119
|
-
- usar a
|
|
120
|
-
- usar a IR como fonte de verdade
|
|
121
|
-
- usar
|
|
125
|
+
- usar a gramática e os exemplos como fonte de estilo
|
|
126
|
+
- usar a IR como fonte de verdade semântica sempre que possóvel
|
|
127
|
+
- usar diagnósticos estruturados como guia de correcao
|
|
122
128
|
- rodar o formatador antes de considerar o trabalho pronto
|
|
123
129
|
- validar e verificar a mudanca no mesmo fluxo
|
|
124
130
|
|
|
125
|
-
##
|
|
131
|
+
## Estratégia recomendada
|
|
126
132
|
|
|
127
133
|
Se voce for instruir uma IA para trabalhar com Sema, entregue o contexto nesta ordem:
|
|
128
134
|
|
|
@@ -131,19 +137,19 @@ Se voce for instruir uma IA para trabalhar com Sema, entregue o contexto nesta o
|
|
|
131
137
|
3. [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
|
|
132
138
|
4. [prompt-base-ia-sema.md](./prompt-base-ia-sema.md)
|
|
133
139
|
5. `sema resumo --micro` ou `sema resumo --curto`, conforme a capacidade da IA
|
|
134
|
-
6. `ast --json`, `ir --json` e `diagnosticos --json` do
|
|
140
|
+
6. `ast --json`, `ir --json` e `diagnosticos --json` do módulo alvo, se a capacidade aguentar
|
|
135
141
|
|
|
136
142
|
Essa ordem faz a IA ir de contexto geral para contexto operacional, em vez de cair direto num arquivo cru e sair chutando.
|
|
137
143
|
|
|
138
144
|
## Regra de ouro
|
|
139
145
|
|
|
140
|
-
A Sema foi desenhada para ser entendida por IA, mas isso
|
|
146
|
+
A Sema foi desenhada para ser entendida por IA, mas isso não significa que a IA vai adivinhar sozinha.
|
|
141
147
|
|
|
142
148
|
Ela entende bem quando recebe:
|
|
143
149
|
|
|
144
150
|
- especificacao
|
|
145
151
|
- exemplos
|
|
146
152
|
- JSON estrutural
|
|
147
|
-
- feedback
|
|
153
|
+
- feedback automático
|
|
148
154
|
|
|
149
|
-
Sem isso,
|
|
155
|
+
Sem isso, até o modelo mais caro vira estagiário emocionado.
|