@semacode/cli 1.5.27 → 1.5.29
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 +279 -265
- package/AGENT_CONTEXT_PACK.json +164 -0
- package/README.md +144 -144
- package/SEMA_BRIEF.curto.txt +7 -7
- package/SEMA_BRIEF.md +464 -65
- package/SEMA_BRIEF.micro.txt +6 -6
- package/SEMA_INDEX.json +6723 -667
- package/dist/bridge.d.ts +52 -0
- package/dist/bridge.js +318 -0
- package/dist/bridge.js.map +1 -0
- package/dist/comandos.d.ts +11 -0
- package/dist/comandos.js +110 -0
- package/dist/comandos.js.map +1 -0
- package/dist/contexto.d.ts +34 -0
- package/dist/contexto.js +197 -0
- package/dist/contexto.js.map +1 -0
- package/dist/drift.d.ts +1 -1
- package/dist/drift.js +32 -5
- package/dist/drift.js.map +1 -1
- package/dist/index.js +391 -64
- package/dist/index.js.map +1 -1
- package/dist/lua-symbols.d.ts +0 -6
- package/dist/lua-symbols.js +11 -78
- package/dist/lua-symbols.js.map +1 -1
- package/dist/projeto.js +6 -0
- package/dist/projeto.js.map +1 -1
- package/dist/tipos.d.ts +1 -1
- package/docs/AGENT_STARTER.md +109 -109
- package/docs/api.md +82 -0
- package/docs/cli.md +175 -175
- package/docs/como-ensinar-a-sema-para-ia.md +155 -155
- package/docs/deploy.md +93 -0
- package/docs/documentacao.md +88 -88
- package/docs/env.md +105 -105
- package/docs/extensao-vscode.md +53 -53
- package/docs/fluxo-pratico-ia-sema.md +187 -187
- package/docs/instalacao-e-primeiro-uso.md +134 -134
- package/docs/integracao-com-ia.md +110 -110
- package/docs/mcp.md +292 -292
- package/docs/pagamento-ponta-a-ponta.md +171 -171
- package/docs/persistencia-vendor-first.md +151 -151
- package/docs/prompt-base-ia-sema.md +111 -111
- package/docs/repositories.md +54 -54
- package/docs/rollback.md +49 -49
- package/docs/seguranca.md +126 -126
- package/docs/sintaxe.md +218 -218
- package/exemplos/author_obra_comum.sema +294 -294
- package/exemplos/author_tema_sensivel.sema +264 -264
- package/exemplos/profile_game.sema +114 -114
- package/exemplos/profile_legal.sema +105 -105
- package/exemplos/profile_ops.sema +110 -110
- package/exemplos/profile_research.sema +104 -104
- package/exemplos/profile_software.sema +123 -123
- package/exemplos/profile_workflow_n8n.sema +99 -99
- package/llms-full.txt +10 -9
- package/llms.txt +8 -7
- 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/package.json +1 -1
- package/node_modules/@sema/gerador-javascript/package.json +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/index.d.ts +17 -0
- package/node_modules/@sema/nucleo/dist/index.js +28 -0
- package/node_modules/@sema/nucleo/dist/index.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.js +4 -0
- 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 +2 -0
- 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 +3 -1
- 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/package.json +1 -1
- package/package.json +11 -10
- package/dist/php-symbols.d.ts +0 -24
- package/dist/php-symbols.js +0 -375
- package/dist/php-symbols.js.map +0 -1
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
# Prompt-Base Oficial para IA Trabalhar com Sema
|
|
2
|
-
|
|
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.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Este arquivo serve como prompt-base oficial para qualquer IA que precise ler, escrever, revisar ou transformar arquivos `.sema`.
|
|
10
|
-
|
|
11
|
-
O objetivo não é fazer a IA "improvisar bonito". O objetivo e fazer a IA operar a linguagem com previsibilidade. A Sema não foi desenhada para ergonomia humana como prioridade; ela foi desenhada para IA. Humanos escrevem, revisam e aprovam; o consumidor primário e o agente.
|
|
12
|
-
|
|
13
|
-
## Prompt-base
|
|
14
|
-
|
|
15
|
-
Use o texto abaixo como base:
|
|
16
|
-
|
|
17
|
-
```text
|
|
18
|
-
Voce esta trabalhando com Sema, um contrato semantico IA-first para agentes operarem software vivo.
|
|
19
|
-
|
|
20
|
-
Tecnicamente, a Sema funciona como linguagem de intencao orientada a contrato. Operacionalmente, ela existe para governar semantica acima da stack e traduzir intencao operacional para IA, nao para substituir arquitetura, design ou aprovacao humana.
|
|
21
|
-
|
|
22
|
-
Trate a Sema como contrato semantico executavel e protocolo de governanca IA-first. Nao invente sintaxe, palavras-chave ou blocos fora da gramatica e dos exemplos oficiais.
|
|
23
|
-
|
|
24
|
-
Fontes de verdade, em ordem:
|
|
25
|
-
1. se o projeto expuser `SEMA_CONTEXT.md`, comece por ele
|
|
26
|
-
2. `SEMA_BRIEF.md`
|
|
27
|
-
3. `SEMA_INDEX.json`
|
|
28
|
-
4. README do projeto
|
|
29
|
-
5. gramatica e documentacao de sintaxe da Sema
|
|
30
|
-
6. especificacao semantica da linguagem
|
|
31
|
-
7. exemplos oficiais, com prioridade para o vertical de pagamento
|
|
32
|
-
8. `sema resumo` e `briefing.min.json` quando a IA for pequena
|
|
33
|
-
9. AST, IR e diagnosticos exportados pela CLI em JSON quando a capacidade aguentar
|
|
34
|
-
|
|
35
|
-
Regras de operacao:
|
|
36
|
-
- preserve o significado semantico
|
|
37
|
-
- use o formatador oficial da Sema como fonte unica de estilo
|
|
38
|
-
- use diagnosticos estruturados como contrato de correcao
|
|
39
|
-
- use a IR como fonte de verdade semantica quando houver duvida
|
|
40
|
-
- use `predicadoCanonico` como normalizacao opcional; preserve o `predicado` original
|
|
41
|
-
- nao conclua uma alteracao sem validar e verificar o modulo
|
|
42
|
-
- trate `importar` como bootstrap revisavel, nao como contrato final automatico
|
|
43
|
-
- trate `drift` como medicao de verdade contra codigo vivo
|
|
44
|
-
- trate `impl` como ponte entre task e simbolo real
|
|
45
|
-
- nao invente regra de negocio que o contrato e o codigo nao sustentem
|
|
46
|
-
|
|
47
|
-
Antes de editar `.sema`, entenda:
|
|
48
|
-
- o module alvo
|
|
49
|
-
- os contratos de task, route, error, effects, guarantees, state e flow
|
|
50
|
-
- os exemplos oficiais relacionados
|
|
51
|
-
|
|
52
|
-
Depois de editar `.sema`, execute este fluxo:
|
|
53
|
-
1. formatar
|
|
54
|
-
2. validar
|
|
55
|
-
3. diagnosticar, se houver falha
|
|
56
|
-
4. verificar
|
|
57
|
-
|
|
58
|
-
Se houver conflito entre texto livre e IR/diagnosticos, priorize a IR e os diagnosticos da CLI.
|
|
59
|
-
|
|
60
|
-
Se algo nao estiver claro, siga a forma ja usada nos exemplos oficiais. Nao improvise sem base.
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Variacao curta
|
|
64
|
-
|
|
65
|
-
Se voce quiser um prompt menor para uso frequente:
|
|
66
|
-
|
|
67
|
-
```text
|
|
68
|
-
Trabalhe com Sema como contrato semantico IA-first orientado a agente. Nao invente sintaxe. Use os exemplos oficiais e a gramatica como referencia de escrita. Use `ir --json` como fonte de verdade semantica, `diagnosticos --json` como fonte de correcao e `sema formatar` como fonte unica de estilo. Antes de encerrar, rode validacao e verificacao.
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Se voce quiser um prompt ainda mais curto e pronto para colar, use:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
sema prompt-curto caminho/arquivo.sema --curto --para mudanca
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## Variacao para revisão
|
|
78
|
-
|
|
79
|
-
Use está versão quando a IA for revisar `.sema` em vez de criar:
|
|
80
|
-
|
|
81
|
-
```text
|
|
82
|
-
Revise este modulo Sema como contrato semantico executavel. Procure incoerencias entre input, output, rules, effects, guarantees, state, flow, route e error. Considere a IR e os diagnosticos da CLI como fonte de verdade. Nao critique estilo fora do que o formatador oficial resolveria automaticamente.
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## Variacao para geracao
|
|
86
|
-
|
|
87
|
-
Use está versão quando a IA for escrever módulo novo:
|
|
88
|
-
|
|
89
|
-
```text
|
|
90
|
-
Gere um modulo Sema seguindo a gramatica oficial, os exemplos do projeto e o estilo do formatador canonico. Estruture o modulo como contrato semantico executavel, com blocos explicitos para entrada, saida, regras, efeitos, garantias, erros, estado, fluxo e testes quando fizer sentido. Nao use sintaxe fora do repertorio ja suportado pela linguagem.
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
## Variacao para correcao guiada por diagnóstico
|
|
94
|
-
|
|
95
|
-
Use está versão quando a IA já tiver erro concreto para corrigir:
|
|
96
|
-
|
|
97
|
-
```text
|
|
98
|
-
Corrija este modulo Sema a partir dos diagnosticos estruturados da CLI. Preserve a intencao do contrato e altere apenas o necessario para eliminar as falhas. Depois da correcao, aplique o formatador oficial e revalide.
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
## O que sempre anexar junto do prompt
|
|
102
|
-
|
|
103
|
-
Idealmente, acompanhe o prompt com:
|
|
104
|
-
|
|
105
|
-
- o arquivo `.sema` alvo
|
|
106
|
-
- o resultado de `sema ast --json`
|
|
107
|
-
- o resultado de `sema ir --json`
|
|
108
|
-
- o resultado de `sema diagnosticos --json`, se houver erro
|
|
109
|
-
- um exemplo oficial parecido
|
|
110
|
-
|
|
111
|
-
Sem isso, a IA pode até acertar. Com isso, ela trabalha direito.
|
|
1
|
+
# Prompt-Base Oficial para IA Trabalhar com Sema
|
|
2
|
+
|
|
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.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Este arquivo serve como prompt-base oficial para qualquer IA que precise ler, escrever, revisar ou transformar arquivos `.sema`.
|
|
10
|
+
|
|
11
|
+
O objetivo não é fazer a IA "improvisar bonito". O objetivo e fazer a IA operar a linguagem com previsibilidade. A Sema não foi desenhada para ergonomia humana como prioridade; ela foi desenhada para IA. Humanos escrevem, revisam e aprovam; o consumidor primário e o agente.
|
|
12
|
+
|
|
13
|
+
## Prompt-base
|
|
14
|
+
|
|
15
|
+
Use o texto abaixo como base:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
Voce esta trabalhando com Sema, um contrato semantico IA-first para agentes operarem software vivo.
|
|
19
|
+
|
|
20
|
+
Tecnicamente, a Sema funciona como linguagem de intencao orientada a contrato. Operacionalmente, ela existe para governar semantica acima da stack e traduzir intencao operacional para IA, nao para substituir arquitetura, design ou aprovacao humana.
|
|
21
|
+
|
|
22
|
+
Trate a Sema como contrato semantico executavel e protocolo de governanca IA-first. Nao invente sintaxe, palavras-chave ou blocos fora da gramatica e dos exemplos oficiais.
|
|
23
|
+
|
|
24
|
+
Fontes de verdade, em ordem:
|
|
25
|
+
1. se o projeto expuser `SEMA_CONTEXT.md`, comece por ele
|
|
26
|
+
2. `SEMA_BRIEF.md`
|
|
27
|
+
3. `SEMA_INDEX.json`
|
|
28
|
+
4. README do projeto
|
|
29
|
+
5. gramatica e documentacao de sintaxe da Sema
|
|
30
|
+
6. especificacao semantica da linguagem
|
|
31
|
+
7. exemplos oficiais, com prioridade para o vertical de pagamento
|
|
32
|
+
8. `sema resumo` e `briefing.min.json` quando a IA for pequena
|
|
33
|
+
9. AST, IR e diagnosticos exportados pela CLI em JSON quando a capacidade aguentar
|
|
34
|
+
|
|
35
|
+
Regras de operacao:
|
|
36
|
+
- preserve o significado semantico
|
|
37
|
+
- use o formatador oficial da Sema como fonte unica de estilo
|
|
38
|
+
- use diagnosticos estruturados como contrato de correcao
|
|
39
|
+
- use a IR como fonte de verdade semantica quando houver duvida
|
|
40
|
+
- use `predicadoCanonico` como normalizacao opcional; preserve o `predicado` original
|
|
41
|
+
- nao conclua uma alteracao sem validar e verificar o modulo
|
|
42
|
+
- trate `importar` como bootstrap revisavel, nao como contrato final automatico
|
|
43
|
+
- trate `drift` como medicao de verdade contra codigo vivo
|
|
44
|
+
- trate `impl` como ponte entre task e simbolo real
|
|
45
|
+
- nao invente regra de negocio que o contrato e o codigo nao sustentem
|
|
46
|
+
|
|
47
|
+
Antes de editar `.sema`, entenda:
|
|
48
|
+
- o module alvo
|
|
49
|
+
- os contratos de task, route, error, effects, guarantees, state e flow
|
|
50
|
+
- os exemplos oficiais relacionados
|
|
51
|
+
|
|
52
|
+
Depois de editar `.sema`, execute este fluxo:
|
|
53
|
+
1. formatar
|
|
54
|
+
2. validar
|
|
55
|
+
3. diagnosticar, se houver falha
|
|
56
|
+
4. verificar
|
|
57
|
+
|
|
58
|
+
Se houver conflito entre texto livre e IR/diagnosticos, priorize a IR e os diagnosticos da CLI.
|
|
59
|
+
|
|
60
|
+
Se algo nao estiver claro, siga a forma ja usada nos exemplos oficiais. Nao improvise sem base.
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Variacao curta
|
|
64
|
+
|
|
65
|
+
Se voce quiser um prompt menor para uso frequente:
|
|
66
|
+
|
|
67
|
+
```text
|
|
68
|
+
Trabalhe com Sema como contrato semantico IA-first orientado a agente. Nao invente sintaxe. Use os exemplos oficiais e a gramatica como referencia de escrita. Use `ir --json` como fonte de verdade semantica, `diagnosticos --json` como fonte de correcao e `sema formatar` como fonte unica de estilo. Antes de encerrar, rode validacao e verificacao.
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Se voce quiser um prompt ainda mais curto e pronto para colar, use:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
sema prompt-curto caminho/arquivo.sema --curto --para mudanca
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Variacao para revisão
|
|
78
|
+
|
|
79
|
+
Use está versão quando a IA for revisar `.sema` em vez de criar:
|
|
80
|
+
|
|
81
|
+
```text
|
|
82
|
+
Revise este modulo Sema como contrato semantico executavel. Procure incoerencias entre input, output, rules, effects, guarantees, state, flow, route e error. Considere a IR e os diagnosticos da CLI como fonte de verdade. Nao critique estilo fora do que o formatador oficial resolveria automaticamente.
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Variacao para geracao
|
|
86
|
+
|
|
87
|
+
Use está versão quando a IA for escrever módulo novo:
|
|
88
|
+
|
|
89
|
+
```text
|
|
90
|
+
Gere um modulo Sema seguindo a gramatica oficial, os exemplos do projeto e o estilo do formatador canonico. Estruture o modulo como contrato semantico executavel, com blocos explicitos para entrada, saida, regras, efeitos, garantias, erros, estado, fluxo e testes quando fizer sentido. Nao use sintaxe fora do repertorio ja suportado pela linguagem.
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Variacao para correcao guiada por diagnóstico
|
|
94
|
+
|
|
95
|
+
Use está versão quando a IA já tiver erro concreto para corrigir:
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
Corrija este modulo Sema a partir dos diagnosticos estruturados da CLI. Preserve a intencao do contrato e altere apenas o necessario para eliminar as falhas. Depois da correcao, aplique o formatador oficial e revalide.
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## O que sempre anexar junto do prompt
|
|
102
|
+
|
|
103
|
+
Idealmente, acompanhe o prompt com:
|
|
104
|
+
|
|
105
|
+
- o arquivo `.sema` alvo
|
|
106
|
+
- o resultado de `sema ast --json`
|
|
107
|
+
- o resultado de `sema ir --json`
|
|
108
|
+
- o resultado de `sema diagnosticos --json`, se houver erro
|
|
109
|
+
- um exemplo oficial parecido
|
|
110
|
+
|
|
111
|
+
Sem isso, a IA pode até acertar. Com isso, ela trabalha direito.
|
package/docs/repositories.md
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
# Repository Boundary
|
|
2
|
-
|
|
3
|
-
<!-- sema:i18n -->
|
|
4
|
-
> EN: English first.
|
|
5
|
-
> PT: Português depois.
|
|
6
|
-
> ES: Español al final.
|
|
7
|
-
|
|
8
|
-
## English
|
|
9
|
-
|
|
10
|
-
Sema uses an open-core repository boundary.
|
|
11
|
-
|
|
12
|
-
The public repository contains the semantic language, parser, public CLI, base profiles, examples, generic documentation, public tests, and the basic editor extension. It must be useful for adoption, learning, local validation, and community contribution without exposing commercial operations.
|
|
13
|
-
|
|
14
|
-
The private repository contains the hosted product: commercial website, account panel, OAuth and key issuance flows, Supabase control plane, billing, production deployment, operational runbooks, private integrations, customer data, private rule packs, generated snapshots, and commercial showcases.
|
|
15
|
-
|
|
16
|
-
Before any public push, release, or npm publication, run:
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
npm run repo:verificar-publico
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
If the check blocks a file, move it to the private repository or replace it with a public-safe example.
|
|
23
|
-
|
|
24
|
-
## Português
|
|
25
|
-
|
|
26
|
-
A Sema usa uma fronteira open-core entre repositórios.
|
|
27
|
-
|
|
28
|
-
O repositório público contém a linguagem semântica, parser, CLI pública, profiles base, exemplos, documentação genérica, testes públicos e a extensão básica do editor. Ele precisa ser útil para adoção, aprendizado, validação local e contribuição da comunidade sem expor a operação comercial.
|
|
29
|
-
|
|
30
|
-
O repositório privado contém o produto hospedado: site comercial, painel de conta, fluxos de OAuth e emissão de chaves, control plane Supabase, billing, deploy de produção, runbooks operacionais, integrações privadas, dados de clientes, rule packs privados, snapshots gerados e showcases comerciais.
|
|
31
|
-
|
|
32
|
-
Antes de qualquer push público, release ou publicação npm, rode:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
npm run repo:verificar-publico
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Se o check bloquear um arquivo, mova para o repositório privado ou substitua por um exemplo seguro para o público.
|
|
39
|
-
|
|
40
|
-
## Español
|
|
41
|
-
|
|
42
|
-
Sema usa una frontera open-core entre repositorios.
|
|
43
|
-
|
|
44
|
-
El repositorio público contiene el lenguaje semántico, parser, CLI pública, perfiles base, ejemplos, documentación genérica, pruebas públicas y la extensión básica del editor. Debe servir para adopción, aprendizaje, validación local y contribución de la comunidad sin exponer la operación comercial.
|
|
45
|
-
|
|
46
|
-
El repositorio privado contiene el producto hospedado: sitio comercial, panel de cuenta, flujos de OAuth y emisión de claves, control plane Supabase, billing, despliegue de producción, runbooks operativos, integraciones privadas, datos de clientes, rule packs privados, snapshots generados y showcases comerciales.
|
|
47
|
-
|
|
48
|
-
Antes de cualquier push público, release o publicación npm, ejecuta:
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
npm run repo:verificar-publico
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Si el check bloquea un archivo, muévelo al repositorio privado o sustitúyelo por un ejemplo seguro para el público.
|
|
1
|
+
# Repository Boundary
|
|
2
|
+
|
|
3
|
+
<!-- sema:i18n -->
|
|
4
|
+
> EN: English first.
|
|
5
|
+
> PT: Português depois.
|
|
6
|
+
> ES: Español al final.
|
|
7
|
+
|
|
8
|
+
## English
|
|
9
|
+
|
|
10
|
+
Sema uses an open-core repository boundary.
|
|
11
|
+
|
|
12
|
+
The public repository contains the semantic language, parser, public CLI, base profiles, examples, generic documentation, public tests, and the basic editor extension. It must be useful for adoption, learning, local validation, and community contribution without exposing commercial operations.
|
|
13
|
+
|
|
14
|
+
The private repository contains the hosted product: commercial website, account panel, OAuth and key issuance flows, Supabase control plane, billing, production deployment, operational runbooks, private integrations, customer data, private rule packs, generated snapshots, and commercial showcases.
|
|
15
|
+
|
|
16
|
+
Before any public push, release, or npm publication, run:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm run repo:verificar-publico
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
If the check blocks a file, move it to the private repository or replace it with a public-safe example.
|
|
23
|
+
|
|
24
|
+
## Português
|
|
25
|
+
|
|
26
|
+
A Sema usa uma fronteira open-core entre repositórios.
|
|
27
|
+
|
|
28
|
+
O repositório público contém a linguagem semântica, parser, CLI pública, profiles base, exemplos, documentação genérica, testes públicos e a extensão básica do editor. Ele precisa ser útil para adoção, aprendizado, validação local e contribuição da comunidade sem expor a operação comercial.
|
|
29
|
+
|
|
30
|
+
O repositório privado contém o produto hospedado: site comercial, painel de conta, fluxos de OAuth e emissão de chaves, control plane Supabase, billing, deploy de produção, runbooks operacionais, integrações privadas, dados de clientes, rule packs privados, snapshots gerados e showcases comerciais.
|
|
31
|
+
|
|
32
|
+
Antes de qualquer push público, release ou publicação npm, rode:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npm run repo:verificar-publico
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Se o check bloquear um arquivo, mova para o repositório privado ou substitua por um exemplo seguro para o público.
|
|
39
|
+
|
|
40
|
+
## Español
|
|
41
|
+
|
|
42
|
+
Sema usa una frontera open-core entre repositorios.
|
|
43
|
+
|
|
44
|
+
El repositorio público contiene el lenguaje semántico, parser, CLI pública, perfiles base, ejemplos, documentación genérica, pruebas públicas y la extensión básica del editor. Debe servir para adopción, aprendizaje, validación local y contribución de la comunidad sin exponer la operación comercial.
|
|
45
|
+
|
|
46
|
+
El repositorio privado contiene el producto hospedado: sitio comercial, panel de cuenta, flujos de OAuth y emisión de claves, control plane Supabase, billing, despliegue de producción, runbooks operativos, integraciones privadas, datos de clientes, rule packs privados, snapshots generados y showcases comerciales.
|
|
47
|
+
|
|
48
|
+
Antes de cualquier push público, release o publicación npm, ejecuta:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npm run repo:verificar-publico
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Si el check bloquea un archivo, muévelo al repositorio privado o sustitúyelo por un ejemplo seguro para el público.
|
package/docs/rollback.md
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
# Rollback
|
|
2
|
-
|
|
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.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Rollback de release pública da Sema deve preservar rastreabilidade. NPM não deve ser tratado como pasta temporaria: apagar versão publicada e medida extrema e limitada.
|
|
10
|
-
|
|
11
|
-
## Quando aplicar
|
|
12
|
-
|
|
13
|
-
- CLI publicada quebra instalação básica.
|
|
14
|
-
- VSIX publicada não inicia ou quebra o Language Server.
|
|
15
|
-
- Instaladores baixam asset errado.
|
|
16
|
-
- Release notes ou checksums apontam para artefato inválido.
|
|
17
|
-
|
|
18
|
-
## Primeira resposta
|
|
19
|
-
|
|
20
|
-
1. Marque o problema no GitHub Release.
|
|
21
|
-
2. Reponte `latest` no NPM para a última versão boa, quando necessário:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
npm dist-tag add @semacode/cli@<versao-boa> latest
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
3. Se o problema for só VSIX ou asset de release, substitua o asset no GitHub Release ou publique uma release patch.
|
|
28
|
-
4. Prefira publicar patch corretivo (`1.5.
|
|
29
|
-
|
|
30
|
-
## Validação de rollback
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
npm view @semacode/cli dist-tags --json
|
|
34
|
-
npm install -g @semacode/cli@latest
|
|
35
|
-
sema --version
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Git
|
|
39
|
-
|
|
40
|
-
Se o commit foi empurrado mas a release falhou antes de publicar NPM, corrija com novo commit. Evite reescrever `main` depois de push público.
|
|
41
|
-
|
|
42
|
-
Se o tag foi criado errado e ainda não existe release consumida:
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
git tag -d v<versao>
|
|
46
|
-
git push origin :refs/tags/v<versao>
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Use isso somente antes de usuários consumirem o tag.
|
|
1
|
+
# Rollback
|
|
2
|
+
|
|
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.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Rollback de release pública da Sema deve preservar rastreabilidade. NPM não deve ser tratado como pasta temporaria: apagar versão publicada e medida extrema e limitada.
|
|
10
|
+
|
|
11
|
+
## Quando aplicar
|
|
12
|
+
|
|
13
|
+
- CLI publicada quebra instalação básica.
|
|
14
|
+
- VSIX publicada não inicia ou quebra o Language Server.
|
|
15
|
+
- Instaladores baixam asset errado.
|
|
16
|
+
- Release notes ou checksums apontam para artefato inválido.
|
|
17
|
+
|
|
18
|
+
## Primeira resposta
|
|
19
|
+
|
|
20
|
+
1. Marque o problema no GitHub Release.
|
|
21
|
+
2. Reponte `latest` no NPM para a última versão boa, quando necessário:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm dist-tag add @semacode/cli@<versao-boa> latest
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
3. Se o problema for só VSIX ou asset de release, substitua o asset no GitHub Release ou publique uma release patch.
|
|
28
|
+
4. Prefira publicar patch corretivo (`1.5.29`, por exemplo) quando o pacote já saiu para usuários.
|
|
29
|
+
|
|
30
|
+
## Validação de rollback
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm view @semacode/cli dist-tags --json
|
|
34
|
+
npm install -g @semacode/cli@latest
|
|
35
|
+
sema --version
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Git
|
|
39
|
+
|
|
40
|
+
Se o commit foi empurrado mas a release falhou antes de publicar NPM, corrija com novo commit. Evite reescrever `main` depois de push público.
|
|
41
|
+
|
|
42
|
+
Se o tag foi criado errado e ainda não existe release consumida:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
git tag -d v<versao>
|
|
46
|
+
git push origin :refs/tags/v<versao>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Use isso somente antes de usuários consumirem o tag.
|