@semacode/cli 0.9.0 → 1.1.0

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 (46) hide show
  1. package/AGENTS.md +50 -0
  2. package/README.md +24 -3
  3. package/SEMA_BRIEF.curto.txt +9 -0
  4. package/SEMA_BRIEF.md +49 -0
  5. package/SEMA_BRIEF.micro.txt +7 -0
  6. package/SEMA_INDEX.json +501 -0
  7. package/dist/drift.d.ts +15 -0
  8. package/dist/drift.js +496 -5
  9. package/dist/drift.js.map +1 -1
  10. package/dist/importador.d.ts +1 -1
  11. package/dist/importador.js +681 -3
  12. package/dist/importador.js.map +1 -1
  13. package/dist/index.js +1578 -123
  14. package/dist/index.js.map +1 -1
  15. package/dist/projeto.js +49 -1
  16. package/dist/projeto.js.map +1 -1
  17. package/dist/tipos.d.ts +1 -1
  18. package/docs/AGENT_STARTER.md +40 -8
  19. package/docs/como-ensinar-a-sema-para-ia.md +17 -11
  20. package/docs/fluxo-pratico-ia-sema.md +42 -38
  21. package/docs/instalacao-e-primeiro-uso.md +196 -0
  22. package/docs/integracao-com-ia.md +228 -0
  23. package/docs/pagamento-ponta-a-ponta.md +155 -0
  24. package/docs/prompt-base-ia-sema.md +10 -3
  25. package/docs/sintaxe.md +267 -0
  26. package/exemplos/automacao.sema +107 -0
  27. package/exemplos/cadastro_usuario.sema +54 -0
  28. package/exemplos/calculadora.sema +78 -0
  29. package/exemplos/crud_simples.sema +89 -0
  30. package/exemplos/operacao_estrategia.sema +402 -0
  31. package/exemplos/pagamento.sema +222 -0
  32. package/exemplos/pagamento_dominio.sema +35 -0
  33. package/exemplos/testes_embutidos.sema +45 -0
  34. package/exemplos/tratamento_erro.sema +157 -0
  35. package/llms-full.txt +34 -0
  36. package/llms.txt +17 -0
  37. package/node_modules/@sema/gerador-dart/package.json +1 -1
  38. package/node_modules/@sema/gerador-python/dist/index.js +92 -10
  39. package/node_modules/@sema/gerador-python/dist/index.js.map +1 -1
  40. package/node_modules/@sema/gerador-python/package.json +1 -1
  41. package/node_modules/@sema/gerador-typescript/package.json +1 -1
  42. package/node_modules/@sema/nucleo/package.json +1 -1
  43. package/node_modules/@sema/padroes/dist/index.js +47 -1
  44. package/node_modules/@sema/padroes/dist/index.js.map +1 -1
  45. package/node_modules/@sema/padroes/package.json +1 -1
  46. package/package.json +15 -7
@@ -2,24 +2,53 @@
2
2
 
3
3
  Use este texto como starter curto para qualquer IA antes de editar `.sema`.
4
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
+
5
29
  ```text
6
- Voce esta trabalhando com Sema, um Protocolo de Governanca de Intencao para IA e backend vivo.
30
+ Voce esta trabalhando com Sema, um Protocolo de Governanca de Intencao para IA sobre software vivo em backend e front consumer.
7
31
 
8
32
  Importante:
9
- - a Sema e protocolo de governanca semantica, nao gerador magico que deveria fazer tudo
10
- - a Sema modela contratos, estados, fluxos, erros, efeitos e garantias
33
+ - a Sema e protocolo de governanca semantica desenhado para IA, nao para ergonomia humana
34
+ - leitura humana e bonus toleravel, nao centro do produto
35
+ - a Sema modela contratos, estados, fluxos, erros, efeitos, garantias, vinculos e execucao
11
36
  - a Sema gera codigo e scaffolding real para TypeScript, Python e Dart
12
37
  - a Sema usa `importar` para bootstrap revisavel, nao para contrato final automatico
13
38
  - a Sema usa `drift` para medir diferenca entre contrato e codigo vivo
14
39
  - a Sema usa `impl` para ligar task a simbolo real do runtime
40
+ - a Sema usa `resumo` e `prompt-curto` para IA pequena ou gratuita
15
41
  - a Sema pode servir de base para interfaces graficas elegantes e coerentes
16
- - a Sema nao gera uma interface completa sozinha no estado atual
42
+ - a primeira onda consumer oficial agora cobre `Next.js consumer`, `React/Vite consumer`, `Angular consumer` e `flutter-consumer`
43
+ - esses slices oficiais cobrem `consumer bridge + superficies rastreaveis`, nao geracao completa de UI
44
+ - a proxima camada semantica de front (`screen`, `action`, `query`, `form`, `navigation`) esta documentada como roadmap, nao como sintaxe oficial ja suportada
17
45
  - trate a Sema como cerebro semantico da aplicacao, nao como gerador magico de front-end pronto
18
- - se a tarefa envolver UI, prefira pedir Sema + React + TypeScript ou Sema + arquitetura de front-end
46
+ - se a tarefa envolver UI, priorize `appRoutes`, `consumerSurfaces` e `consumerBridges` antes de abrir arquivo aleatorio
19
47
  - evite pedir HTML unico solto quando a intencao for testar a Sema de verdade
20
48
 
21
49
  Regras:
22
50
  - nao invente sintaxe fora da gramatica e dos exemplos oficiais
51
+ - se a IA for pequena, comece em `sema resumo` e `briefing.min.json`
23
52
  - trate `ir --json` como fonte de verdade semantica
24
53
  - trate `diagnosticos --json` como fonte de correcao
25
54
  - use `sema formatar` como fonte unica de estilo
@@ -27,13 +56,15 @@ Regras:
27
56
  - nao cobre da Sema adivinhacao de negocio que nao esta no contrato nem no codigo
28
57
 
29
58
  Comandos essenciais:
59
+ - resumo por capacidade: `sema resumo <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`
60
+ - prompt curto: `sema prompt-curto <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`
30
61
  - contexto completo do modulo: `sema contexto-ia <arquivo.sema>`
31
62
  - estrutura sintatica: `sema ast <arquivo.sema> --json`
32
63
  - estrutura semantica: `sema ir <arquivo.sema> --json`
33
64
  - validacao: `sema validar <arquivo.sema> --json`
34
65
  - diagnosticos: `sema diagnosticos <arquivo.sema> --json`
35
66
  - formatacao: `sema formatar <arquivo.sema>`
36
- - importacao assistida de legado: `sema importar <nestjs|fastapi|flask|typescript|python|dart> <diretorio> --saida <diretorio>`
67
+ - 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>`
37
68
  - geracao de codigo: `sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart> --saida <diretorio>`
38
69
  - verificacao final: `sema verificar <arquivo-ou-pasta> [--json]`
39
70
 
@@ -44,14 +75,15 @@ Regra pratica de ouro:
44
75
 
45
76
  Antes de editar:
46
77
  1. leia README, docs de IA e um exemplo oficial parecido
47
- 2. consulte AST e IR do modulo alvo
78
+ 2. se a IA for pequena, rode `sema resumo <arquivo> --micro`
79
+ 3. se a tarefa pedir contexto mais rico, consulte `drift`, `briefing.min.json` e depois AST/IR
48
80
 
49
81
  Depois de editar:
50
82
  1. rode `sema formatar`
51
83
  2. rode `sema validar --json`
52
84
  3. se houver falha, use `diagnosticos --json`
53
85
  4. se a tarefa pedir codigo derivado, rode `sema compilar`
54
- 5. feche com `sema verificar` ou `npm run project:check`
86
+ 5. feche com `sema verificar <arquivo-ou-pasta> --json`
55
87
 
56
88
  Priorize sempre:
57
89
  - exemplos oficiais
@@ -2,6 +2,8 @@
2
2
 
3
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
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
+
5
7
  ## Principio central
6
8
 
7
9
  Uma IA entende uma linguagem nova quando recebe quatro camadas de contexto:
@@ -16,6 +18,7 @@ Sem essas quatro camadas, o modelo comeca a adivinhar. E adivinhacao em linguage
16
18
  Antes de qualquer outra coisa, a IA tambem precisa receber a **moldura correta**:
17
19
 
18
20
  - a Sema e um protocolo de governanca de intencao
21
+ - a Sema foi feita para IA, nao para ergonomia humana
19
22
  - a Sema nao foi feita para "automatizar tudo"
20
23
  - a Sema existe para explicitar, alinhar e verificar contrato contra sistema vivo
21
24
  - curadoria humana continua parte da proposta
@@ -28,9 +31,9 @@ A IA precisa saber como a linguagem e escrita.
28
31
 
29
32
  Fontes principais:
30
33
 
31
- - [gramatica-inicial.md](./gramatica-inicial.md)
34
+ - [README.md](../README.md)
32
35
  - [sintaxe.md](./sintaxe.md)
33
- - [gramatica.ebnf](../pacotes/nucleo/src/parser/gramatica.ebnf)
36
+ - [integracao-com-ia.md](./integracao-com-ia.md)
34
37
 
35
38
  Objetivo dessa camada:
36
39
 
@@ -46,7 +49,7 @@ Depois de saber ler, a IA precisa saber o que cada bloco significa.
46
49
  Fontes principais:
47
50
 
48
51
  - [README.md](../README.md)
49
- - [especificacao-inicial.md](./especificacao-inicial.md)
52
+ - [integracao-com-ia.md](./integracao-com-ia.md)
50
53
  - [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
51
54
 
52
55
  Objetivo dessa camada:
@@ -68,22 +71,24 @@ Em vez de confiar que a IA vai interpretar `.sema` cru de primeira, use a CLI co
68
71
  Comandos principais:
69
72
 
70
73
  ```bash
71
- node pacotes/cli/dist/index.js validar arquivo.sema --json
72
- node pacotes/cli/dist/index.js diagnosticos arquivo.sema --json
73
- node pacotes/cli/dist/index.js ast arquivo.sema --json
74
- node pacotes/cli/dist/index.js ir arquivo.sema --json
75
- node pacotes/cli/dist/index.js verificar exemplos --json --saida ./.tmp/verificacao-ia
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
76
80
  ```
77
81
 
78
82
  Como cada comando ajuda:
79
83
 
84
+ - `resumo`: entrega cartao semantico pequeno para IA com janela curta
80
85
  - `validar --json`: diz se a base esta semanticamente valida
81
86
  - `diagnosticos --json`: devolve erros e avisos como contrato estruturado
82
87
  - `ast --json`: mostra a forma sintatica escrita
83
88
  - `ir --json`: mostra a forma semantica resolvida
84
89
  - `verificar --json`: mostra o estado operacional do projeto
85
90
 
86
- Se a IA puder consumir `ir --json`, melhor ainda. E ali que a linguagem fica menos ambigua e mais utilizavel para automacao.
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`.
87
92
 
88
93
  ## Camada 4. Exemplos reais
89
94
 
@@ -97,7 +102,7 @@ Arquivos recomendados:
97
102
  - [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
98
103
  - [crud_simples.sema](../exemplos/crud_simples.sema)
99
104
 
100
- O vertical de pagamento do `0.5` deve ser tratado como a referencia principal.
105
+ O vertical oficial de pagamento deve ser tratado como a referencia principal.
101
106
 
102
107
  ## O que a IA nao deve fazer
103
108
 
@@ -125,7 +130,8 @@ Se voce for instruir uma IA para trabalhar com Sema, entregue o contexto nesta o
125
130
  2. [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
126
131
  3. [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
127
132
  4. [prompt-base-ia-sema.md](./prompt-base-ia-sema.md)
128
- 5. `ast --json`, `ir --json` e `diagnosticos --json` do modulo alvo
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
129
135
 
130
136
  Essa ordem faz a IA ir de contexto geral para contexto operacional, em vez de cair direto num arquivo cru e sair chutando.
131
137
 
@@ -7,12 +7,13 @@ Se a IA seguir isso, ela trabalha com contexto. Se nao seguir, vira adivinhacao
7
7
  ## Fluxo curto
8
8
 
9
9
  1. ler contexto do projeto
10
- 2. identificar o modulo alvo
11
- 3. consultar AST e IR
12
- 4. editar
13
- 5. formatar
14
- 6. validar
15
- 7. verificar
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
16
17
 
17
18
  ## Fluxo detalhado
18
19
 
@@ -28,7 +29,15 @@ Se o trabalho estiver ligado a pagamento, ler tambem:
28
29
 
29
30
  - [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
30
31
 
31
- ### Etapa 2. Ler o modulo alvo e um exemplo parecido
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
32
41
 
33
42
  A IA deve identificar:
34
43
 
@@ -42,22 +51,23 @@ Regra pratica:
42
51
  - erros e fluxos de falha: [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
43
52
  - borda publica e pagamento: [pagamento.sema](../exemplos/pagamento.sema)
44
53
 
45
- ### Etapa 3. Consultar AST e IR
54
+ ### Etapa 4. Consultar AST e IR quando fizer sentido
46
55
 
47
56
  Antes de alterar, a IA deve executar:
48
57
 
49
58
  ```bash
50
- node pacotes/cli/dist/index.js ast caminho\\arquivo.sema --json
51
- node pacotes/cli/dist/index.js ir caminho\\arquivo.sema --json
59
+ sema resumo caminho/arquivo.sema --curto --para mudanca
60
+ sema ast caminho/arquivo.sema --json
61
+ sema ir caminho/arquivo.sema --json
52
62
  ```
53
63
 
54
64
  Objetivo:
55
65
 
56
- - ver a forma sintatica
57
- - ver a forma semantica resolvida
66
+ - ver a forma sintatica quando a capacidade aguentar
67
+ - ver a forma semantica resolvida quando a capacidade aguentar
58
68
  - evitar interpretar errado o contrato
59
69
 
60
- ### Etapa 4. Editar o `.sema`
70
+ ### Etapa 5. Editar o `.sema`
61
71
 
62
72
  Ao editar, a IA deve:
63
73
 
@@ -66,24 +76,24 @@ Ao editar, a IA deve:
66
76
  - evitar criar bloco ou operador nao suportado
67
77
  - preferir a forma ja usada nos exemplos oficiais
68
78
 
69
- ### Etapa 5. Formatar
79
+ ### Etapa 6. Formatar
70
80
 
71
81
  Depois da edicao:
72
82
 
73
83
  ```bash
74
- node pacotes/cli/dist/index.js formatar caminho\\arquivo.sema
75
- node pacotes/cli/dist/index.js formatar caminho\\arquivo.sema --check
84
+ sema formatar caminho/arquivo.sema
85
+ sema formatar caminho/arquivo.sema --check
76
86
  ```
77
87
 
78
88
  Se `--check` falhar, o trabalho ainda nao esta pronto.
79
89
 
80
- ### Etapa 6. Validar e diagnosticar
90
+ ### Etapa 7. Validar e diagnosticar
81
91
 
82
92
  Depois da formatacao:
83
93
 
84
94
  ```bash
85
- node pacotes/cli/dist/index.js validar caminho\\arquivo.sema --json
86
- node pacotes/cli/dist/index.js diagnosticos caminho\\arquivo.sema --json
95
+ sema validar caminho/arquivo.sema --json
96
+ sema diagnosticos caminho/arquivo.sema --json
87
97
  ```
88
98
 
89
99
  Se houver falha:
@@ -91,12 +101,12 @@ Se houver falha:
91
101
  - usar os diagnosticos estruturados como contrato de correcao
92
102
  - nao insistir em leitura manual teimosa quando a CLI ja disse onde esta a merda
93
103
 
94
- ### Etapa 6.5. Compilar quando a tarefa pedir codigo derivado
104
+ ### Etapa 7.5. Compilar quando a tarefa pedir codigo derivado
95
105
 
96
106
  Se a tarefa nao for so editar contrato, mas tambem gerar base de implementacao, a IA deve rodar explicitamente:
97
107
 
98
108
  ```bash
99
- node pacotes/cli/dist/index.js compilar caminho\\arquivo.sema --alvo typescript --saida .\\saida\\typescript
109
+ sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
100
110
  ```
101
111
 
102
112
  Ou trocar o alvo para `python` ou `dart`, conforme o caso.
@@ -106,28 +116,22 @@ Regra pratica:
106
116
  - se a entrega inclui codigo derivado, `sema compilar` nao e opcional
107
117
  - se a IA ignorar `compilar`, ela pode acabar reescrevendo na mao coisa que a Sema ja gera sozinha, que e burrice operacional
108
118
 
109
- ### Etapa 7. Verificar
119
+ ### Etapa 8. Verificar
110
120
 
111
121
  No fechamento:
112
122
 
113
123
  ```bash
114
- node pacotes/cli/dist/index.js verificar exemplos --json --saida ./.tmp/verificacao-ia
115
- ```
116
-
117
- Ou, no fluxo consolidado do projeto:
118
-
119
- ```bash
120
- npm run project:check
124
+ sema verificar arquivo-ou-pasta --json --saida ./.tmp/verificacao-ia
121
125
  ```
122
126
 
123
127
  ## Fluxo minimo para automacao
124
128
 
125
- Se voce quiser o menor fluxo aceitavel para uma IA:
129
+ Se voce quiser o menor fluxo aceitavel para uma IA pequena:
126
130
 
127
131
  ```bash
128
- node pacotes/cli/dist/index.js ir caminho\\arquivo.sema --json
129
- node pacotes/cli/dist/index.js formatar caminho\\arquivo.sema
130
- node pacotes/cli/dist/index.js validar caminho\\arquivo.sema --json
132
+ sema resumo caminho/arquivo.sema --micro --para mudanca
133
+ sema formatar caminho/arquivo.sema
134
+ sema validar caminho/arquivo.sema --json
131
135
  ```
132
136
 
133
137
  Mas, sendo sincero, o fluxo bom mesmo e fechar com `verificar`.
@@ -135,10 +139,10 @@ Mas, sendo sincero, o fluxo bom mesmo e fechar com `verificar`.
135
139
  Se a tarefa envolver codigo derivado, o fluxo minimo aceitavel vira:
136
140
 
137
141
  ```bash
138
- node pacotes/cli/dist/index.js ir caminho\\arquivo.sema --json
139
- node pacotes/cli/dist/index.js formatar caminho\\arquivo.sema
140
- node pacotes/cli/dist/index.js validar caminho\\arquivo.sema --json
141
- node pacotes/cli/dist/index.js compilar caminho\\arquivo.sema --alvo typescript --saida .\\saida\\typescript
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
142
146
  ```
143
147
 
144
148
  ## Checklist de saida
@@ -170,4 +174,4 @@ Esse conjunto e o que faz a linguagem ser amigavel para IA de verdade, e nao so
170
174
 
171
175
  ## Observacao sobre caminhos
172
176
 
173
- Esta documentacao usa caminhos relativos ao repositorio, nao caminhos locais de maquina. Isso permite que qualquer pessoa clone o projeto e use os links e referencias sem depender de uma pasta especifica no proprio ambiente.
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.
@@ -0,0 +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.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.