@semacode/cli 1.2.0 → 1.2.9

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 (38) hide show
  1. package/README.md +2 -2
  2. package/SEMA_BRIEF.curto.txt +9 -9
  3. package/SEMA_BRIEF.md +49 -49
  4. package/SEMA_BRIEF.micro.txt +7 -7
  5. package/SEMA_INDEX.json +501 -546
  6. package/dist/drift.d.ts +2 -2
  7. package/dist/drift.js +0 -20
  8. package/dist/drift.js.map +1 -1
  9. package/dist/importador.d.ts +1 -1
  10. package/dist/importador.js +0 -60
  11. package/dist/importador.js.map +1 -1
  12. package/dist/index.js +1334 -1360
  13. package/dist/index.js.map +1 -1
  14. package/dist/projeto.js +0 -6
  15. package/dist/projeto.js.map +1 -1
  16. package/dist/tipos.d.ts +1 -1
  17. package/docs/AGENT_STARTER.md +102 -102
  18. package/docs/instalacao-e-primeiro-uso.md +196 -198
  19. package/node_modules/@sema/gerador-dart/package.json +1 -1
  20. package/node_modules/@sema/gerador-lua/dist/index.js +49 -81
  21. package/node_modules/@sema/gerador-lua/dist/index.js.map +1 -1
  22. package/node_modules/@sema/gerador-lua/package.json +1 -1
  23. package/node_modules/@sema/gerador-python/package.json +1 -1
  24. package/node_modules/@sema/gerador-typescript/package.json +1 -1
  25. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +1 -1
  26. package/node_modules/@sema/nucleo/dist/ir/conversor.js +0 -4
  27. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -1
  28. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +3 -3
  29. package/node_modules/@sema/nucleo/dist/parser/parser.js +0 -2
  30. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -1
  31. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +2 -2
  32. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1 -3
  33. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -1
  34. package/node_modules/@sema/nucleo/package.json +1 -1
  35. package/node_modules/@sema/padroes/dist/index.js +18 -1
  36. package/node_modules/@sema/padroes/dist/index.js.map +1 -1
  37. package/node_modules/@sema/padroes/package.json +1 -1
  38. package/package.json +7 -7
package/dist/tipos.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export type EstruturaSaida = "flat" | "modulos" | "backend";
2
- export type FonteLegado = "nestjs" | "fastapi" | "flask" | "nextjs" | "nextjs-consumer" | "react-vite-consumer" | "angular-consumer" | "flutter-consumer" | "firebase" | "typescript" | "python" | "dart" | "lua" | "dotnet" | "java" | "go" | "rust" | "cpp";
2
+ export type FonteLegado = "nestjs" | "fastapi" | "flask" | "nextjs" | "nextjs-consumer" | "react-vite-consumer" | "angular-consumer" | "flutter-consumer" | "firebase" | "typescript" | "python" | "dart" | "dotnet" | "java" | "go" | "rust" | "cpp";
3
3
  export type ModoAdocao = "incremental";
@@ -1,102 +1,102 @@
1
- # AGENT_STARTER
2
-
3
- Use este texto como starter curto para qualquer IA antes de editar `.sema`.
4
-
5
- Ordem canonica de entrada no repo:
6
-
7
- 1. `llms.txt`
8
- 2. `SEMA_BRIEF.md`
9
- 3. `SEMA_INDEX.json`
10
- 4. `AGENTS.md`
11
- 5. `README.md`
12
-
13
- Roteamento por capacidade:
14
-
15
- - IA pequena ou gratuita: `llms.txt` -> `SEMA_BRIEF.micro.txt` -> `SEMA_INDEX.json`
16
- - IA media: `llms.txt` -> `SEMA_BRIEF.curto.txt` -> `SEMA_INDEX.json` -> `README.md`
17
- - IA grande ou com tool use: `llms-full.txt` -> `SEMA_BRIEF.md` -> `SEMA_INDEX.json` -> `AGENTS.md` -> `README.md`
18
-
19
- Tres modos de uso da Sema:
20
-
21
- - projeto novo: modele, valide, compile e verifique antes de subir codigo derivado
22
- - projeto ja semantizado: inspecione, leia resumo, rode drift e gere contexto antes de editar
23
- - legado sem Sema: importe, revise o rascunho, formate, valide e use drift como arbitro da adocao incremental
24
-
25
- Para manter os artefatos gerados da raiz sincronizados:
26
-
27
- - `sema sync-ai-entrypoints --json`
28
-
29
- ```text
30
- Voce esta trabalhando com Sema, um Protocolo de Governanca de Intencao para IA sobre software vivo em backend e front consumer.
31
-
32
- Importante:
33
- - a Sema e protocolo de governanca semantica desenhado para IA, nao para ergonomia humana
34
- - a Sema funciona como camada de navegacao operacional para agente, nao como runtime magico
35
- - leitura humana e bonus toleravel, nao centro do produto
36
- - a Sema modela contratos, estados, fluxos, erros, efeitos, garantias, vinculos e execucao
37
- - a Sema gera codigo e scaffolding real para TypeScript, Python, Dart e Lua
38
- - a Sema usa `importar` para bootstrap revisavel, nao para contrato final automatico
39
- - a Sema usa `drift` para medir diferenca entre contrato e codigo vivo
40
- - a Sema usa `impl` para ligar task a simbolo real do runtime
41
- - a Sema usa `resumo` e `prompt-curto` para IA pequena ou gratuita
42
- - a Sema pode servir de base para interfaces graficas elegantes e coerentes
43
- - a primeira onda consumer oficial agora cobre `Next.js consumer`, `React/Vite consumer`, `Angular consumer` e `flutter-consumer`
44
- - esses slices oficiais cobrem `consumer bridge + superficies rastreaveis`, nao geracao completa de UI
45
- - a proxima camada semantica de front (`screen`, `action`, `query`, `form`, `navigation`) esta documentada como roadmap, nao como sintaxe oficial ja suportada
46
- - trate a Sema como cerebro semantico da aplicacao, nao como gerador magico de front-end pronto
47
- - nao cobre da Sema persistencia real, runtime ou smoke test automatico; isso continua sendo engenharia viva
48
- - se a tarefa envolver UI, priorize `appRoutes`, `consumerSurfaces` e `consumerBridges` antes de abrir arquivo aleatorio
49
- - evite pedir HTML unico solto quando a intencao for testar a Sema de verdade
50
-
51
- Regras:
52
- - nao invente sintaxe fora da gramatica e dos exemplos oficiais
53
- - se a IA for pequena, comece em `sema resumo` e `briefing.min.json`
54
- - trate `ir --json` como fonte de verdade semantica
55
- - trate `diagnosticos --json` como fonte de correcao
56
- - use `sema formatar` como fonte unica de estilo
57
- - preserve a intencao do contrato
58
- - nao cobre da Sema adivinhacao de negocio que nao esta no contrato nem no codigo
59
-
60
- Comandos essenciais:
61
- - resumo por capacidade: `sema resumo <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`
62
- - prompt curto: `sema prompt-curto <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`
63
- - contexto completo do modulo: `sema contexto-ia <arquivo.sema>`
64
- - estrutura sintatica: `sema ast <arquivo.sema> --json`
65
- - estrutura semantica: `sema ir <arquivo.sema> --json`
66
- - validacao: `sema validar <arquivo.sema> --json`
67
- - diagnosticos: `sema diagnosticos <arquivo.sema> --json`
68
- - formatacao: `sema formatar <arquivo.sema>`
69
- - importacao assistida de legado: `sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|typescript|python|dart|lua|dotnet|java|go|rust|cpp> <diretorio> --saida <diretorio>`
70
- - geracao de codigo: `sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart|lua> --saida <diretorio>`
71
- - verificacao final: `sema verificar <arquivo-ou-pasta> [--json]`
72
-
73
- Regra pratica de ouro:
74
- - se a tarefa pedir codigo derivado, `sema compilar` e obrigatorio
75
- - se a tarefa partir de projeto que nao nasceu com Sema, `sema importar` deve entrar antes da lapidacao semantica
76
- - se a tarefa pedir apenas leitura ou correcao sem gerar codigo, `sema compilar` pode ficar fora
77
-
78
- Antes de editar:
79
- 1. leia README, docs de IA e um exemplo oficial parecido
80
- 2. se a IA for pequena, rode `sema resumo <arquivo> --micro`
81
- 3. se a tarefa pedir contexto mais rico, consulte `drift`, `briefing.min.json` e depois AST/IR
82
-
83
- Depois de editar:
84
- 1. rode `sema formatar`
85
- 2. rode `sema validar --json`
86
- 3. se houver falha, use `diagnosticos --json`
87
- 4. se a tarefa pedir codigo derivado, rode `sema compilar`
88
- 5. feche com `sema verificar <arquivo-ou-pasta> --json`
89
-
90
- Priorize sempre:
91
- - exemplos oficiais
92
- - JSON da CLI
93
- - consistencia semantica
94
-
95
- Nao improvise quando faltar contexto.
96
- ```
97
-
98
- Documentos de apoio:
99
-
100
- - [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
101
- - [prompt-base-ia-sema.md](./prompt-base-ia-sema.md)
102
- - [fluxo-pratico-ia-sema.md](./fluxo-pratico-ia-sema.md)
1
+ # AGENT_STARTER
2
+
3
+ Use este texto como starter curto para qualquer IA antes de editar `.sema`.
4
+
5
+ Ordem canonica de entrada no repo:
6
+
7
+ 1. `llms.txt`
8
+ 2. `SEMA_BRIEF.md`
9
+ 3. `SEMA_INDEX.json`
10
+ 4. `AGENTS.md`
11
+ 5. `README.md`
12
+
13
+ Roteamento por capacidade:
14
+
15
+ - IA pequena ou gratuita: `llms.txt` -> `SEMA_BRIEF.micro.txt` -> `SEMA_INDEX.json`
16
+ - IA media: `llms.txt` -> `SEMA_BRIEF.curto.txt` -> `SEMA_INDEX.json` -> `README.md`
17
+ - IA grande ou com tool use: `llms-full.txt` -> `SEMA_BRIEF.md` -> `SEMA_INDEX.json` -> `AGENTS.md` -> `README.md`
18
+
19
+ Tres modos de uso da Sema:
20
+
21
+ - projeto novo: modele, valide, compile e verifique antes de subir codigo derivado
22
+ - projeto ja semantizado: inspecione, leia resumo, rode drift e gere contexto antes de editar
23
+ - legado sem Sema: importe, revise o rascunho, formate, valide e use drift como arbitro da adocao incremental
24
+
25
+ Para manter os artefatos gerados da raiz sincronizados:
26
+
27
+ - `sema sync-ai-entrypoints --json`
28
+
29
+ ```text
30
+ Voce esta trabalhando com Sema, um Protocolo de Governanca de Intencao para IA sobre software vivo em backend e front consumer.
31
+
32
+ Importante:
33
+ - a Sema e protocolo de governanca semantica desenhado para IA, nao para ergonomia humana
34
+ - a Sema funciona como camada de navegacao operacional para agente, nao como runtime magico
35
+ - leitura humana e bonus toleravel, nao centro do produto
36
+ - a Sema modela contratos, estados, fluxos, erros, efeitos, garantias, vinculos e execucao
37
+ - a Sema gera codigo e scaffolding real para TypeScript, Python e Dart
38
+ - a Sema usa `importar` para bootstrap revisavel, nao para contrato final automatico
39
+ - a Sema usa `drift` para medir diferenca entre contrato e codigo vivo
40
+ - a Sema usa `impl` para ligar task a simbolo real do runtime
41
+ - a Sema usa `resumo` e `prompt-curto` para IA pequena ou gratuita
42
+ - a Sema pode servir de base para interfaces graficas elegantes e coerentes
43
+ - a primeira onda consumer oficial agora cobre `Next.js consumer`, `React/Vite consumer`, `Angular consumer` e `flutter-consumer`
44
+ - esses slices oficiais cobrem `consumer bridge + superficies rastreaveis`, nao geracao completa de UI
45
+ - a proxima camada semantica de front (`screen`, `action`, `query`, `form`, `navigation`) esta documentada como roadmap, nao como sintaxe oficial ja suportada
46
+ - trate a Sema como cerebro semantico da aplicacao, nao como gerador magico de front-end pronto
47
+ - nao cobre da Sema persistencia real, runtime ou smoke test automatico; isso continua sendo engenharia viva
48
+ - se a tarefa envolver UI, priorize `appRoutes`, `consumerSurfaces` e `consumerBridges` antes de abrir arquivo aleatorio
49
+ - evite pedir HTML unico solto quando a intencao for testar a Sema de verdade
50
+
51
+ Regras:
52
+ - nao invente sintaxe fora da gramatica e dos exemplos oficiais
53
+ - se a IA for pequena, comece em `sema resumo` e `briefing.min.json`
54
+ - trate `ir --json` como fonte de verdade semantica
55
+ - trate `diagnosticos --json` como fonte de correcao
56
+ - use `sema formatar` como fonte unica de estilo
57
+ - preserve a intencao do contrato
58
+ - nao cobre da Sema adivinhacao de negocio que nao esta no contrato nem no codigo
59
+
60
+ Comandos essenciais:
61
+ - resumo por capacidade: `sema resumo <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`
62
+ - prompt curto: `sema prompt-curto <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`
63
+ - contexto completo do modulo: `sema contexto-ia <arquivo.sema>`
64
+ - estrutura sintatica: `sema ast <arquivo.sema> --json`
65
+ - estrutura semantica: `sema ir <arquivo.sema> --json`
66
+ - validacao: `sema validar <arquivo.sema> --json`
67
+ - diagnosticos: `sema diagnosticos <arquivo.sema> --json`
68
+ - formatacao: `sema formatar <arquivo.sema>`
69
+ - importacao assistida de legado: `sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|typescript|python|dart|dotnet|java|go|rust|cpp> <diretorio> --saida <diretorio>`
70
+ - geracao de codigo: `sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart> --saida <diretorio>`
71
+ - verificacao final: `sema verificar <arquivo-ou-pasta> [--json]`
72
+
73
+ Regra pratica de ouro:
74
+ - se a tarefa pedir codigo derivado, `sema compilar` e obrigatorio
75
+ - se a tarefa partir de projeto que nao nasceu com Sema, `sema importar` deve entrar antes da lapidacao semantica
76
+ - se a tarefa pedir apenas leitura ou correcao sem gerar codigo, `sema compilar` pode ficar fora
77
+
78
+ Antes de editar:
79
+ 1. leia README, docs de IA e um exemplo oficial parecido
80
+ 2. se a IA for pequena, rode `sema resumo <arquivo> --micro`
81
+ 3. se a tarefa pedir contexto mais rico, consulte `drift`, `briefing.min.json` e depois AST/IR
82
+
83
+ Depois de editar:
84
+ 1. rode `sema formatar`
85
+ 2. rode `sema validar --json`
86
+ 3. se houver falha, use `diagnosticos --json`
87
+ 4. se a tarefa pedir codigo derivado, rode `sema compilar`
88
+ 5. feche com `sema verificar <arquivo-ou-pasta> --json`
89
+
90
+ Priorize sempre:
91
+ - exemplos oficiais
92
+ - JSON da CLI
93
+ - consistencia semantica
94
+
95
+ Nao improvise quando faltar contexto.
96
+ ```
97
+
98
+ Documentos de apoio:
99
+
100
+ - [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
101
+ - [prompt-base-ia-sema.md](./prompt-base-ia-sema.md)
102
+ - [fluxo-pratico-ia-sema.md](./fluxo-pratico-ia-sema.md)
@@ -1,198 +1,196 @@
1
- # Instalacao e Primeiro Uso
2
-
3
- Este guia mostra o caminho mais curto para testar a Sema do jeito certo, sem misturar fluxo de usuario com gambiarra de contribuinte.
4
-
5
- ## Requisitos
6
-
7
- - Node.js instalado
8
- - npm funcionando
9
- - Python 3 e `pytest` se voce quiser rodar o fluxo completo de testes Python gerados
10
-
11
- O repositorio so e necessario se voce quiser contribuir na Sema, rodar o showcase oficial localmente ou empacotar release.
12
-
13
- ## Caminho oficial
14
-
15
- Instalacao via npm:
16
-
17
- ```bash
18
- npm install -g @semacode/cli
19
- sema --help
20
- sema doctor
21
- ```
22
-
23
- Se preferir o tarball oficial da GitHub Release:
24
-
25
- ```bash
26
- npm install -g https://github.com/gerlanss/Sema/releases/latest/download/sema-cli-latest.tgz
27
- sema --help
28
- sema doctor
29
- ```
30
-
31
- Instalacao local ao projeto:
32
-
33
- ```bash
34
- npm install @semacode/cli
35
- npx sema --help
36
- ```
37
-
38
- Instaladores auxiliares para a linha publica atual:
39
-
40
- - Linux/macOS: `curl -fsSL https://raw.githubusercontent.com/gerlanss/Sema/v1.2.0/install-sema.sh | bash`
41
- - Windows PowerShell: `irm https://raw.githubusercontent.com/gerlanss/Sema/v1.2.0/install-sema.ps1 | iex`
42
-
43
- Se voce quiser reproducao estrita, prefira o npm registry ou o tarball da GitHub Release.
44
-
45
- ## Primeiro teste sem clonar o repo
46
-
47
- ```bash
48
- mkdir sema-demo
49
- cd sema-demo
50
- sema iniciar
51
- sema validar contratos/pedidos.sema --json
52
- sema compilar contratos/pedidos.sema --alvo lua --saida ./saida/lua
53
- ```
54
-
55
- ## Primeiro fluxo util
56
-
57
- ```bash
58
- sema validar contratos/pedidos.sema --json
59
- sema ast contratos/pedidos.sema --json
60
- sema ir contratos/pedidos.sema --json
61
- sema formatar contratos/pedidos.sema
62
- sema verificar contratos --saida ./.tmp/verificacao
63
- ```
64
-
65
- ## Primeiro fluxo de IA real
66
-
67
- Sem clonar o repo, o fluxo que mais mostra a proposta da Sema hoje e:
68
-
69
- ```bash
70
- sema inspecionar . --json
71
- sema resumo contratos/pedidos.sema --micro --para mudanca
72
- sema drift contratos/pedidos.sema --json
73
- sema contexto-ia contratos/pedidos.sema --saida ./.tmp/contexto-pedidos --json
74
- ```
75
-
76
- Esse fluxo mostra:
77
-
78
- - base de projeto resolvida
79
- - cartao semantico curto para IA pequena ou gratuita
80
- - codigo vivo detectado
81
- - `impl` e `vinculos` resolvidos
82
- - score, confianca e lacunas do `drift`
83
- - `briefing.min.json` e `briefing.json` para IA antes da edicao
84
-
85
- ## `sema.config.json`
86
-
87
- Exemplo de configuracao para projeto real:
88
-
89
- ```json
90
- {
91
- "origens": ["./contratos"],
92
- "saida": "./generated",
93
- "alvos": ["typescript", "python"],
94
- "alvoPadrao": "typescript",
95
- "estruturaSaida": "backend",
96
- "framework": "nestjs",
97
- "modoEstrito": true,
98
- "diretoriosSaidaPorAlvo": {
99
- "typescript": "./generated/nestjs",
100
- "python": "./generated/fastapi"
101
- },
102
- "convencoesGeracaoPorProjeto": "backend"
103
- }
104
- ```
105
-
106
- ## Gerar codigo
107
-
108
- Scaffold base:
109
-
110
- ```bash
111
- sema compilar contratos/pedidos.sema --alvo typescript --saida ./saida/typescript
112
- sema compilar contratos/pedidos.sema --alvo python --saida ./saida/python
113
- sema compilar contratos/pedidos.sema --alvo dart --saida ./saida/dart
114
- sema compilar contratos/pedidos.sema --alvo lua --saida ./saida/lua
115
- ```
116
-
117
- Scaffold backend:
118
-
119
- ```bash
120
- sema compilar contratos/pedidos.sema --alvo typescript --framework nestjs --estrutura backend --saida ./generated/nestjs
121
- sema compilar contratos/pedidos.sema --alvo python --framework fastapi --estrutura backend --saida ./generated/fastapi
122
- ```
123
-
124
- ## Extensao VS Code
125
-
126
- Via GitHub Release:
127
-
128
- ```bash
129
- curl -L -o sema-language-tools.vsix https://github.com/gerlanss/Sema/releases/latest/download/sema-language-tools-latest.vsix
130
- code --install-extension ./sema-language-tools.vsix --force
131
- ```
132
-
133
- Windows PowerShell:
134
-
135
- ```powershell
136
- Invoke-WebRequest -Uri https://github.com/gerlanss/Sema/releases/latest/download/sema-language-tools-latest.vsix -OutFile sema-language-tools.vsix
137
- code --install-extension .\sema-language-tools.vsix --force
138
- ```
139
-
140
- Pagina oficial:
141
-
142
- - [https://github.com/gerlanss/Sema/releases/latest](https://github.com/gerlanss/Sema/releases/latest)
143
-
144
- Se voce estiver desenvolvendo a propria extensao localmente, ai sim entra a trilha de contribuinte:
145
-
146
- ```bash
147
- npm run extensao:empacotar
148
- npm run extensao:instalar-local
149
- ```
150
-
151
- ## Caminho de contribuinte
152
-
153
- Se o objetivo for desenvolver a propria Sema:
154
-
155
- ```bash
156
- npm install
157
- npm run build
158
- npm run cli:instalar-local
159
- sema validar exemplos/calculadora.sema
160
- ```
161
-
162
- Se quiser validar tudo de cara:
163
-
164
- ```bash
165
- npm run project:check
166
- ```
167
-
168
- ## `npm link` continua existindo
169
-
170
- Esse fluxo continua util, mas e trilha de contribuinte:
171
-
172
- ```powershell
173
- npm run cli:instalar-local
174
- ```
175
-
176
- Serve para:
177
-
178
- - testar a experiencia de terminal no proprio ambiente
179
- - desenvolver a CLI
180
- - usar `sema` como interface principal mesmo durante o desenvolvimento local
181
-
182
- Para remover:
183
-
184
- ```powershell
185
- npm run cli:desinstalar-local
186
- ```
187
-
188
- ## Resumo honesto
189
-
190
- Hoje o jeito certo de testar a Sema e:
191
-
192
- 1. instalar a CLI pelo npm ou pela GitHub Release
193
- 2. rodar `sema iniciar`
194
- 3. validar `contratos/pedidos.sema`
195
- 4. usar `inspecionar -> resumo -> drift -> contexto-ia` quando o projeto for vivo
196
- 5. ler `briefing.min.json` ou `briefing.json` antes de mandar a IA sair cavando arquivo
197
-
198
- Clone + build + `npm link` continua bom para oficina, nao para landing page publica.
1
+ # Instalacao e Primeiro Uso
2
+
3
+ Este guia mostra o caminho mais curto para testar a Sema do jeito certo, sem misturar fluxo de usuario com gambiarra de contribuinte.
4
+
5
+ ## Requisitos
6
+
7
+ - Node.js instalado
8
+ - npm funcionando
9
+ - Python 3 e `pytest` se voce quiser rodar o fluxo completo de testes Python gerados
10
+
11
+ O repositorio so e necessario se voce quiser contribuir na Sema, rodar o showcase oficial localmente ou empacotar release.
12
+
13
+ ## Caminho oficial
14
+
15
+ Instalacao via npm:
16
+
17
+ ```bash
18
+ npm install -g @semacode/cli
19
+ sema --help
20
+ sema doctor
21
+ ```
22
+
23
+ Se preferir o tarball oficial da GitHub Release:
24
+
25
+ ```bash
26
+ npm install -g https://github.com/gerlanss/Sema/releases/latest/download/sema-cli-latest.tgz
27
+ sema --help
28
+ sema doctor
29
+ ```
30
+
31
+ Instalacao local ao projeto:
32
+
33
+ ```bash
34
+ npm install @semacode/cli
35
+ npx sema --help
36
+ ```
37
+
38
+ Instaladores auxiliares para a linha publica atual:
39
+
40
+ - Linux/macOS: `curl -fsSL https://raw.githubusercontent.com/gerlanss/Sema/v1.0.0/install-sema.sh | bash`
41
+ - Windows PowerShell: `irm https://raw.githubusercontent.com/gerlanss/Sema/v1.0.0/install-sema.ps1 | iex`
42
+
43
+ Se voce quiser reproducao estrita, prefira o npm registry ou o tarball da GitHub Release.
44
+
45
+ ## Primeiro teste sem clonar o repo
46
+
47
+ ```bash
48
+ mkdir sema-demo
49
+ cd sema-demo
50
+ sema iniciar
51
+ sema validar contratos/pedidos.sema --json
52
+ ```
53
+
54
+ ## Primeiro fluxo util
55
+
56
+ ```bash
57
+ sema validar contratos/pedidos.sema --json
58
+ sema ast contratos/pedidos.sema --json
59
+ sema ir contratos/pedidos.sema --json
60
+ sema formatar contratos/pedidos.sema
61
+ sema verificar contratos --saida ./.tmp/verificacao
62
+ ```
63
+
64
+ ## Primeiro fluxo de IA real
65
+
66
+ Sem clonar o repo, o fluxo que mais mostra a proposta da Sema hoje e:
67
+
68
+ ```bash
69
+ sema inspecionar . --json
70
+ sema resumo contratos/pedidos.sema --micro --para mudanca
71
+ sema drift contratos/pedidos.sema --json
72
+ sema contexto-ia contratos/pedidos.sema --saida ./.tmp/contexto-pedidos --json
73
+ ```
74
+
75
+ Esse fluxo mostra:
76
+
77
+ - base de projeto resolvida
78
+ - cartao semantico curto para IA pequena ou gratuita
79
+ - codigo vivo detectado
80
+ - `impl` e `vinculos` resolvidos
81
+ - score, confianca e lacunas do `drift`
82
+ - `briefing.min.json` e `briefing.json` para IA antes da edicao
83
+
84
+ ## `sema.config.json`
85
+
86
+ Exemplo de configuracao para projeto real:
87
+
88
+ ```json
89
+ {
90
+ "origens": ["./contratos"],
91
+ "saida": "./generated",
92
+ "alvos": ["typescript", "python"],
93
+ "alvoPadrao": "typescript",
94
+ "estruturaSaida": "backend",
95
+ "framework": "nestjs",
96
+ "modoEstrito": true,
97
+ "diretoriosSaidaPorAlvo": {
98
+ "typescript": "./generated/nestjs",
99
+ "python": "./generated/fastapi"
100
+ },
101
+ "convencoesGeracaoPorProjeto": "backend"
102
+ }
103
+ ```
104
+
105
+ ## Gerar codigo
106
+
107
+ Scaffold base:
108
+
109
+ ```bash
110
+ sema compilar contratos/pedidos.sema --alvo typescript --saida ./saida/typescript
111
+ sema compilar contratos/pedidos.sema --alvo python --saida ./saida/python
112
+ sema compilar contratos/pedidos.sema --alvo dart --saida ./saida/dart
113
+ ```
114
+
115
+ Scaffold backend:
116
+
117
+ ```bash
118
+ sema compilar contratos/pedidos.sema --alvo typescript --framework nestjs --estrutura backend --saida ./generated/nestjs
119
+ sema compilar contratos/pedidos.sema --alvo python --framework fastapi --estrutura backend --saida ./generated/fastapi
120
+ ```
121
+
122
+ ## Extensao VS Code
123
+
124
+ Via GitHub Release:
125
+
126
+ ```bash
127
+ curl -L -o sema-language-tools.vsix https://github.com/gerlanss/Sema/releases/latest/download/sema-language-tools-latest.vsix
128
+ code --install-extension ./sema-language-tools.vsix --force
129
+ ```
130
+
131
+ Windows PowerShell:
132
+
133
+ ```powershell
134
+ Invoke-WebRequest -Uri https://github.com/gerlanss/Sema/releases/latest/download/sema-language-tools-latest.vsix -OutFile sema-language-tools.vsix
135
+ code --install-extension .\sema-language-tools.vsix --force
136
+ ```
137
+
138
+ Pagina oficial:
139
+
140
+ - [https://github.com/gerlanss/Sema/releases/latest](https://github.com/gerlanss/Sema/releases/latest)
141
+
142
+ Se voce estiver desenvolvendo a propria extensao localmente, ai sim entra a trilha de contribuinte:
143
+
144
+ ```bash
145
+ npm run extensao:empacotar
146
+ npm run extensao:instalar-local
147
+ ```
148
+
149
+ ## Caminho de contribuinte
150
+
151
+ Se o objetivo for desenvolver a propria Sema:
152
+
153
+ ```bash
154
+ npm install
155
+ npm run build
156
+ npm run cli:instalar-local
157
+ sema validar exemplos/calculadora.sema
158
+ ```
159
+
160
+ Se quiser validar tudo de cara:
161
+
162
+ ```bash
163
+ npm run project:check
164
+ ```
165
+
166
+ ## `npm link` continua existindo
167
+
168
+ Esse fluxo continua util, mas e trilha de contribuinte:
169
+
170
+ ```powershell
171
+ npm run cli:instalar-local
172
+ ```
173
+
174
+ Serve para:
175
+
176
+ - testar a experiencia de terminal no proprio ambiente
177
+ - desenvolver a CLI
178
+ - usar `sema` como interface principal mesmo durante o desenvolvimento local
179
+
180
+ Para remover:
181
+
182
+ ```powershell
183
+ npm run cli:desinstalar-local
184
+ ```
185
+
186
+ ## Resumo honesto
187
+
188
+ Hoje o jeito certo de testar a Sema e:
189
+
190
+ 1. instalar a CLI pelo npm ou pela GitHub Release
191
+ 2. rodar `sema iniciar`
192
+ 3. validar `contratos/pedidos.sema`
193
+ 4. usar `inspecionar -> resumo -> drift -> contexto-ia` quando o projeto for vivo
194
+ 5. ler `briefing.min.json` ou `briefing.json` antes de mandar a IA sair cavando arquivo
195
+
196
+ Clone + build + `npm link` continua bom para oficina, nao para landing page publica.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema/gerador-dart",
3
- "version": "1.2.0",
3
+ "version": "1.2.9",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts"