@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.
- package/README.md +2 -2
- package/SEMA_BRIEF.curto.txt +9 -9
- package/SEMA_BRIEF.md +49 -49
- package/SEMA_BRIEF.micro.txt +7 -7
- package/SEMA_INDEX.json +501 -546
- package/dist/drift.d.ts +2 -2
- package/dist/drift.js +0 -20
- package/dist/drift.js.map +1 -1
- package/dist/importador.d.ts +1 -1
- package/dist/importador.js +0 -60
- package/dist/importador.js.map +1 -1
- package/dist/index.js +1334 -1360
- package/dist/index.js.map +1 -1
- package/dist/projeto.js +0 -6
- package/dist/projeto.js.map +1 -1
- package/dist/tipos.d.ts +1 -1
- package/docs/AGENT_STARTER.md +102 -102
- package/docs/instalacao-e-primeiro-uso.md +196 -198
- package/node_modules/@sema/gerador-dart/package.json +1 -1
- package/node_modules/@sema/gerador-lua/dist/index.js +49 -81
- package/node_modules/@sema/gerador-lua/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-lua/package.json +1 -1
- package/node_modules/@sema/gerador-python/package.json +1 -1
- package/node_modules/@sema/gerador-typescript/package.json +1 -1
- package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +1 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.js +0 -4
- package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +3 -3
- package/node_modules/@sema/nucleo/dist/parser/parser.js +0 -2
- package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +2 -2
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1 -3
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -1
- package/node_modules/@sema/nucleo/package.json +1 -1
- package/node_modules/@sema/padroes/dist/index.js +18 -1
- package/node_modules/@sema/padroes/dist/index.js.map +1 -1
- package/node_modules/@sema/padroes/package.json +1 -1
- 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" | "
|
|
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";
|
package/docs/AGENT_STARTER.md
CHANGED
|
@@ -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
|
|
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|
|
|
70
|
-
- geracao de codigo: `sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart
|
|
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.
|
|
41
|
-
- Windows PowerShell: `irm https://raw.githubusercontent.com/gerlanss/Sema/v1.
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
sema
|
|
59
|
-
sema
|
|
60
|
-
sema
|
|
61
|
-
sema
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
sema
|
|
71
|
-
sema
|
|
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
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
sema compilar contratos/pedidos.sema --alvo
|
|
112
|
-
sema compilar contratos/pedidos.sema --alvo
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
npm
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
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.
|