@semacode/cli 1.5.7 → 1.5.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/docs/deploy.md ADDED
@@ -0,0 +1,70 @@
1
+ # Deploy
2
+
3
+ Este runbook governa a publicacao publica da Sema: CLI, MCP, VSIX, instaladores e release assets.
4
+
5
+ ## Pre-condicoes
6
+
7
+ - `sema resumo` executado no projeto antes da mudanca.
8
+ - `sema inspecionar contratos/sema/governanca_ia.sema --json` executado para confirmar o contrato relacionado.
9
+ - `sema drift contratos/sema/governanca_ia.sema --escopo modulo --json` sem diagnosticos bloqueantes.
10
+ - `sema docs-impacto --intencao "<release>" --criar-ausentes --json` executado e todos os docs obrigatorios lidos.
11
+ - `npm whoami` autenticado com uma conta que pode publicar `@semacode/cli` e `@semacode/mcp`.
12
+ - `gh auth status` autenticado com permissao de push e release em `gerlanss/Sema`.
13
+ - Workspace revisado para nao incluir lixo local, caches ou artefatos temporarios fora de `.tmp/`.
14
+
15
+ ## Sequencia segura
16
+
17
+ 1. Escolha uma versao que ainda nao exista no NPM.
18
+ 2. Atualize `package.json`, workspaces, lockfiles, changelog e docs antes de empacotar.
19
+ 3. Rode `npm run build`.
20
+ 4. Rode os testes focados e checagens de release.
21
+ 5. Rode `npm run release:preparar-publica` para gerar `.tmp/release-assets`.
22
+ 6. Publique NPM com `npm run release:publicar-npm`.
23
+ 7. Instale a CLI e o MCP publicados para smoke test.
24
+ 8. Empacote e instale a VSIX localmente para smoke test da extensao.
25
+ 9. Rode `sema finalizar-mudanca` com as docs lidas antes de concluir.
26
+ 10. Commit, push, tag e GitHub Release com os assets gerados.
27
+
28
+ ## Validacao minima
29
+
30
+ ```bash
31
+ npm run build
32
+ npm run format:check
33
+ npm run status:check
34
+ node --import tsx --test --test-name-pattern "docs operacionais|ajuda de ia|mcp cli responde" testes/integracao/cli-json-e-editor.test.ts
35
+ sema validar contratos/sema/governanca_ia.sema --json
36
+ sema drift contratos/sema/governanca_ia.sema --escopo modulo --json
37
+ ```
38
+
39
+ Depois de publicar:
40
+
41
+ ```bash
42
+ npm view @semacode/cli version
43
+ npm view @semacode/mcp version
44
+ npm install -g @semacode/cli@<versao>
45
+ npm install -g @semacode/mcp@<versao>
46
+ sema --version
47
+ sema docs-impacto --intencao "smoke release" --json
48
+ sema-mcp --help
49
+ ```
50
+
51
+ ## Release assets
52
+
53
+ `npm run release:preparar-publica` deve gerar:
54
+
55
+ - `sema-cli-<versao>.tgz`
56
+ - `sema-cli-latest.tgz`
57
+ - `sema-language-tools-<versao>.vsix`
58
+ - `sema-language-tools-latest.vsix`
59
+ - `install-sema.sh`
60
+ - `install-sema.ps1`
61
+ - `SHA256SUMS.txt`
62
+ - `release-notes.md`
63
+
64
+ ## Sinais de parada
65
+
66
+ - NPM ja tem a versao escolhida.
67
+ - `npm whoami` falha.
68
+ - `gh auth status` falha.
69
+ - `sema validar`, `sema drift`, build ou testes falham.
70
+ - `release:preparar-publica` encontra versoes desalinhadas entre root, CLI, MCP e extensao.
@@ -0,0 +1,63 @@
1
+ # Governanca de Documentacao
2
+
3
+ A Sema trata documentacao como parte da mudanca, nao como pos-escrito simpatico para alguem lembrar depois.
4
+
5
+ ## Regra principal
6
+
7
+ Toda IA deve resolver documentacao obrigatoria antes de editar contrato, codigo, configuracao ou executar operacoes como deploy.
8
+
9
+ ```bash
10
+ sema docs-impacto --intencao "criar rota de pagamento" --arquivo contratos/pagamento.sema --json
11
+ ```
12
+
13
+ Se o comando apontar docs ausentes, crie ou preencha essas docs antes da acao. Para criar runbooks base:
14
+
15
+ ```bash
16
+ sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
17
+ ```
18
+
19
+ ## Leitura obrigatoria
20
+
21
+ O resultado de `docs-impacto` traz:
22
+
23
+ - `leituraObrigatoria`: docs, readmes e contratos que devem ser lidos.
24
+ - `docsAusentes`: docs que bloqueiam a acao.
25
+ - `docsCriadas`: docs criadas automaticamente quando autorizado.
26
+ - `bloqueios`: diagnosticos de severidade 4.
27
+
28
+ O conteudo dos documentos existentes vem na resposta para que o agente realmente leia o material antes de agir.
29
+
30
+ ## Finalizacao
31
+
32
+ Antes de responder que terminou, a IA deve chamar:
33
+
34
+ ```bash
35
+ sema finalizar-mudanca --intencao "criar rota de pagamento" --doc-lida README.md --doc-lida docs/api.md --json
36
+ ```
37
+
38
+ Se faltar leitura ou documentacao, a conclusao deve ser bloqueada.
39
+
40
+ ## Docs que podem nascer automaticamente
41
+
42
+ O Sema cria runbooks base para categorias operacionais:
43
+
44
+ - `docs/deploy.md`
45
+ - `docs/env.md`
46
+ - `docs/rollback.md`
47
+ - `docs/api.md`
48
+ - `docs/auth.md`
49
+ - `docs/seguranca.md`
50
+ - `docs/database.md`
51
+ - `docs/frontend.md`
52
+ - `docs/testes.md`
53
+ - `docs/mcp.md`
54
+ - `docs/documentacao.md`
55
+ - `docs/extensao-vscode.md`
56
+
57
+ Esses arquivos sao esqueletos seguros. Eles devem ser completados com detalhes reais do projeto quando a operacao exigir.
58
+
59
+ ## O que nao fazer
60
+
61
+ - Nao concluir uma mudanca sem rodar o portao documental.
62
+ - Nao usar doc criada automaticamente como evidencia final se ela ainda esta generica.
63
+ - Nao editar codigo sem contrato e sem leitura das docs relacionadas.
package/docs/env.md ADDED
@@ -0,0 +1,56 @@
1
+ # Env
2
+
3
+ Ambiente necessario para publicar a Sema.
4
+
5
+ ## Ferramentas
6
+
7
+ - Node.js LTS com `npm`.
8
+ - Git com acesso push ao remoto `origin`.
9
+ - GitHub CLI (`gh`) autenticado.
10
+ - VS Code CLI (`code`) para instalar a VSIX localmente.
11
+ - PowerShell no Windows.
12
+
13
+ ## Variaveis suportadas pelos instaladores
14
+
15
+ - `SEMA_REPO`: repositorio GitHub usado para baixar assets. Padrao: `gerlanss/Sema`.
16
+ - `SEMA_NPM_PACKAGE`: pacote da CLI. Padrao: `@semacode/cli`.
17
+ - `SEMA_MCP_NPM_PACKAGE`: pacote do MCP. Padrao: `@semacode/mcp`.
18
+ - `SEMA_VERSION`: versao usada pelo `install-sema.sh`. Padrao: `latest`.
19
+
20
+ No PowerShell, o instalador recebe a versao por parametro:
21
+
22
+ ```powershell
23
+ .\install-sema.ps1 -Version 1.5.9 -WithVSCode -WithMcp
24
+ ```
25
+
26
+ No shell:
27
+
28
+ ```bash
29
+ SEMA_VERSION=1.5.9 ./install-sema.sh --with-vscode --with-mcp
30
+ ```
31
+
32
+ ## Credenciais
33
+
34
+ - NPM deve estar logado antes de publicar: `npm whoami`.
35
+ - GitHub CLI deve estar logado antes de criar release: `gh auth status`.
36
+ - Nunca registre tokens em docs, logs ou release notes.
37
+
38
+ ## Registro NPM
39
+
40
+ Os pacotes publicos sao:
41
+
42
+ - `@semacode/cli`
43
+ - `@semacode/mcp`
44
+
45
+ Antes de publicar, confira:
46
+
47
+ ```bash
48
+ npm view @semacode/cli version
49
+ npm view @semacode/mcp version
50
+ ```
51
+
52
+ ## GitHub Release
53
+
54
+ O tag publico deve seguir `v<versao>`, por exemplo `v1.5.9`.
55
+
56
+ Os assets ficam em `.tmp/release-assets` e sao derivados dos scripts versionados no repositorio.
@@ -0,0 +1,45 @@
1
+ # Extensao VS Code
2
+
3
+ Runbook da extensao `Sema Language Tools`.
4
+
5
+ ## Arquivos principais
6
+
7
+ - `pacotes/editor-vscode/package.json`
8
+ - `pacotes/editor-vscode/extension.js`
9
+ - `pacotes/editor-vscode/server.js`
10
+ - `pacotes/editor-vscode/README.md`
11
+ - `pacotes/editor-vscode/CHANGELOG.md`
12
+
13
+ ## Empacotar
14
+
15
+ ```bash
16
+ npm run extensao:empacotar
17
+ ```
18
+
19
+ O pacote versionado deve aparecer em `.tmp/editor-vscode/sema-language-tools-<versao>.vsix`.
20
+
21
+ ## Instalar localmente
22
+
23
+ ```bash
24
+ npm run extensao:instalar-local
25
+ ```
26
+
27
+ Ou:
28
+
29
+ ```bash
30
+ code --install-extension .tmp/editor-vscode/sema-language-tools-<versao>.vsix --force
31
+ ```
32
+
33
+ ## Smoke test
34
+
35
+ 1. Abra um projeto com `.sema`.
36
+ 2. Confirme que o Language Server inicia sem crash.
37
+ 3. Rode `Sema: Diagnosticar CLI`.
38
+ 4. Rode `Sema: Sincronizar EntryPoints IA do Projeto`.
39
+ 5. Abra um `.sema` e confirme diagnosticos, highlight e formatação.
40
+
41
+ ## Cuidados
42
+
43
+ - O `extension.js` deve apontar o LSP para `server.js`.
44
+ - A extensao embute instrucoes de IA; atualize a lista de ferramentas MCP quando novos comandos forem adicionados.
45
+ - A versao da extensao deve bater com a versao publica preparada por `release:preparar-publica`.
@@ -16,6 +16,7 @@ Instalacao principal:
16
16
  npm install -g @semacode/cli
17
17
  sema --help
18
18
  sema doctor
19
+ sema docs-impacto --intencao "alterar projeto" --json
19
20
  ```
20
21
 
21
22
  Instalacao por release:
@@ -46,6 +47,8 @@ Ou sem instalar:
46
47
  npx -y @semacode/mcp
47
48
  ```
48
49
 
50
+ As ferramentas MCP incluem `sema_docs_impacto` e `sema_finalizar_mudanca` para obrigar agentes a ler e atualizar docs relacionadas antes de concluir alteracoes.
51
+
49
52
  ## Instaladores oficiais
50
53
 
51
54
  Linux ou macOS:
@@ -58,6 +58,26 @@ Ferramentas mais uteis no fluxo de mudanca:
58
58
  - `sema_drift` para medir coerencia viva
59
59
  - `sema_impacto` para dizer o que tocar
60
60
  - `sema_renomear_semantico` para guiar troca de nomes sem misturar payload antigo e novo
61
+ - `sema_docs_impacto` para obrigar leitura das docs relacionadas antes de agir
62
+ - `sema_finalizar_mudanca` para bloquear conclusao sem leitura documental comprovada
63
+
64
+ ## Portao documental
65
+
66
+ Antes de editar ou executar operacao sensivel, declare a intencao:
67
+
68
+ ```bash
69
+ sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
70
+ ```
71
+
72
+ Leia todos os itens em `leituraObrigatoria`. Se `docsAusentes` vier preenchido, crie ou complete os documentos antes da acao.
73
+
74
+ Antes de concluir:
75
+
76
+ ```bash
77
+ sema finalizar-mudanca --intencao "fazer deploy" --doc-lida docs/deploy.md --json
78
+ ```
79
+
80
+ Se houver diagnostico de severidade 4+, a IA nao deve finalizar a mudanca.
61
81
 
62
82
  ## Regras praticas
63
83
 
@@ -75,3 +95,5 @@ Ferramentas mais uteis no fluxo de mudanca:
75
95
  - `SEMA_BRIEF.md`
76
96
  - `SEMA_INDEX.json`
77
97
  - `docs/persistencia-vendor-first.md`
98
+ - `docs/mcp.md`
99
+ - `docs/documentacao.md`
package/docs/mcp.md ADDED
@@ -0,0 +1,51 @@
1
+ # MCP
2
+
3
+ O MCP da Sema e a porta de entrada para agentes que precisam obedecer contrato, ler contexto certo e fechar mudanca com verificacao rastreavel.
4
+
5
+ ## Fluxo obrigatorio para agentes
6
+
7
+ Antes de uma acao operacional, a IA deve declarar a intencao e chamar:
8
+
9
+ ```bash
10
+ sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
11
+ ```
12
+
13
+ Via MCP, use `sema_docs_impacto` com a mesma intencao. A resposta contem `leituraObrigatoria` com caminhos, motivos e conteudo dos documentos existentes. Se algum documento obrigatorio estiver ausente, o resultado vem com bloqueio de severidade 4.
14
+
15
+ Antes de concluir, a IA deve comprovar leitura:
16
+
17
+ ```bash
18
+ sema finalizar-mudanca --intencao "fazer deploy" --doc-lida docs/deploy.md --json
19
+ ```
20
+
21
+ Via MCP, use `sema_finalizar_mudanca`.
22
+
23
+ ## Ferramentas de documentacao
24
+
25
+ - `sema_docs_impacto`: resolve docs obrigatorias por intencao, arquivos alvo e categoria inferida.
26
+ - `sema_finalizar_mudanca`: bloqueia conclusao sem docs lidas ou docs ausentes.
27
+
28
+ ## Quando criar docs
29
+
30
+ Se a intencao exige um runbook e ele nao existe, rode `sema_docs_impacto` com `criar_ausentes: true`. Exemplos:
31
+
32
+ - deploy: cria `docs/deploy.md`, `docs/env.md` e `docs/rollback.md`.
33
+ - rota/API: cria `docs/api.md`.
34
+ - auth: cria `docs/auth.md` e `docs/seguranca.md`.
35
+ - banco: cria `docs/database.md`.
36
+ - MCP: cria `docs/mcp.md`.
37
+ - extensao: cria `docs/extensao-vscode.md`.
38
+
39
+ O documento criado e um ponto de partida. A IA ainda deve preencher detalhes reais do projeto antes de executar a acao.
40
+
41
+ ## Regra de conclusao
42
+
43
+ Uma mudanca nao deve ser considerada concluida enquanto `sema_finalizar_mudanca` retornar diagnostico de severidade 4 ou maior. Isso inclui:
44
+
45
+ - documento obrigatorio ausente
46
+ - leitura obrigatoria nao comprovada
47
+ - runbook criado mas ainda nao revisado para a operacao real
48
+
49
+ ## Relacao com contratos
50
+
51
+ Essas ferramentas nao substituem `sema_resumo`, `sema_inspecionar`, `sema_drift` ou `sema_validar`. Elas adicionam o portao documental: a IA descobre o que ler e o que documentar antes de agir.
@@ -0,0 +1,47 @@
1
+ # Rollback
2
+
3
+ Rollback de release publica da Sema deve preservar rastreabilidade. NPM nao deve ser tratado como pasta temporaria: apagar versao publicada e medida extrema e limitada.
4
+
5
+ ## Quando aplicar
6
+
7
+ - CLI ou MCP publicados quebram instalacao basica.
8
+ - VSIX publicada nao inicia ou quebra o Language Server.
9
+ - Instaladores baixam asset errado.
10
+ - Release notes ou checksums apontam para artefato invalido.
11
+
12
+ ## Primeira resposta
13
+
14
+ 1. Marque o problema no GitHub Release.
15
+ 2. Reponte `latest` no NPM para a ultima versao boa, quando necessario:
16
+
17
+ ```bash
18
+ npm dist-tag add @semacode/cli@<versao-boa> latest
19
+ npm dist-tag add @semacode/mcp@<versao-boa> latest
20
+ ```
21
+
22
+ 3. Se o problema for so VSIX ou asset de release, substitua o asset no GitHub Release ou publique uma release patch.
23
+ 4. Prefira publicar patch corretivo (`1.5.10`, por exemplo) quando o pacote ja saiu para usuarios.
24
+
25
+ ## Validacao de rollback
26
+
27
+ ```bash
28
+ npm view @semacode/cli dist-tags --json
29
+ npm view @semacode/mcp dist-tags --json
30
+ npm install -g @semacode/cli@latest
31
+ npm install -g @semacode/mcp@latest
32
+ sema --version
33
+ sema-mcp --help
34
+ ```
35
+
36
+ ## Git
37
+
38
+ Se o commit foi empurrado mas a release falhou antes de publicar NPM, corrija com novo commit. Evite reescrever `main` depois de push publico.
39
+
40
+ Se o tag foi criado errado e ainda nao existe release consumida:
41
+
42
+ ```bash
43
+ git tag -d v<versao>
44
+ git push origin :refs/tags/v<versao>
45
+ ```
46
+
47
+ Use isso somente antes de usuarios consumirem o tag.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema/gerador-css",
3
- "version": "1.5.7",
3
+ "version": "1.5.9",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema/gerador-dart",
3
- "version": "1.5.7",
3
+ "version": "1.5.9",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema/gerador-html",
3
- "version": "1.5.7",
3
+ "version": "1.5.9",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema/gerador-javascript",
3
- "version": "1.5.7",
3
+ "version": "1.5.9",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema/gerador-lua",
3
- "version": "1.5.7",
3
+ "version": "1.5.9",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema/gerador-python",
3
- "version": "1.5.7",
3
+ "version": "1.5.9",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema/gerador-typescript",
3
- "version": "1.5.7",
3
+ "version": "1.5.9",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema/nucleo",
3
- "version": "1.5.7",
3
+ "version": "1.5.9",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema/padroes",
3
- "version": "1.5.7",
3
+ "version": "1.5.9",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@semacode/cli",
3
- "version": "1.5.7",
3
+ "version": "1.5.9",
4
4
  "description": "CLI da Sema para validar contratos, medir drift e governar a navegacao operacional de agentes sobre software vivo, incluindo persistencia vendor-first para bancos reais.",
5
5
  "type": "module",
6
6
  "icon": "logo.png",
@@ -49,15 +49,15 @@
49
49
  "LICENSE"
50
50
  ],
51
51
  "dependencies": {
52
- "@sema/nucleo": "1.5.7",
53
- "@sema/gerador-dart": "1.5.7",
54
- "@sema/gerador-lua": "1.5.7",
55
- "@sema/gerador-python": "1.5.7",
56
- "@sema/gerador-typescript": "1.5.7",
57
- "@sema/gerador-javascript": "1.5.7",
58
- "@sema/gerador-html": "1.5.7",
59
- "@sema/gerador-css": "1.5.7",
60
- "@sema/padroes": "1.5.7",
52
+ "@sema/nucleo": "1.5.9",
53
+ "@sema/gerador-dart": "1.5.9",
54
+ "@sema/gerador-lua": "1.5.9",
55
+ "@sema/gerador-python": "1.5.9",
56
+ "@sema/gerador-typescript": "1.5.9",
57
+ "@sema/gerador-javascript": "1.5.9",
58
+ "@sema/gerador-html": "1.5.9",
59
+ "@sema/gerador-css": "1.5.9",
60
+ "@sema/padroes": "1.5.9",
61
61
  "typescript": "^5.8.3"
62
62
  },
63
63
  "bundledDependencies": [