@semacode/cli 1.5.29 → 1.5.31

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 (105) hide show
  1. package/dist/comandos.js +69 -0
  2. package/dist/comandos.js.map +1 -1
  3. package/dist/dev/index.d.ts +18 -0
  4. package/dist/dev/index.js +143 -0
  5. package/dist/dev/index.js.map +1 -0
  6. package/dist/guard.d.ts +35 -0
  7. package/dist/guard.js +164 -0
  8. package/dist/guard.js.map +1 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/init/index.d.ts +23 -0
  11. package/dist/init/index.js +112 -0
  12. package/dist/init/index.js.map +1 -0
  13. package/dist/init/templates.d.ts +11 -0
  14. package/dist/init/templates.js +660 -0
  15. package/dist/init/templates.js.map +1 -0
  16. package/dist/sync/index.d.ts +24 -0
  17. package/dist/sync/index.js +174 -0
  18. package/dist/sync/index.js.map +1 -0
  19. package/exemplos/.prepack-generated +1 -0
  20. package/node_modules/@sema/gerador-css/package.json +14 -7
  21. package/node_modules/@sema/gerador-css/src/index.ts +605 -0
  22. package/node_modules/@sema/gerador-css/tsconfig.json +13 -0
  23. package/node_modules/@sema/gerador-css/tsconfig.tsbuildinfo +1 -0
  24. package/node_modules/@sema/gerador-dart/package.json +14 -7
  25. package/node_modules/@sema/gerador-dart/src/index.ts +52 -0
  26. package/node_modules/@sema/gerador-dart/tsconfig.json +13 -0
  27. package/node_modules/@sema/gerador-dart/tsconfig.tsbuildinfo +1 -0
  28. package/node_modules/@sema/gerador-html/package.json +14 -7
  29. package/node_modules/@sema/gerador-html/src/index.ts +185 -0
  30. package/node_modules/@sema/gerador-html/tsconfig.json +13 -0
  31. package/node_modules/@sema/gerador-html/tsconfig.tsbuildinfo +1 -0
  32. package/node_modules/@sema/gerador-javascript/package.json +14 -7
  33. package/node_modules/@sema/gerador-javascript/src/index.ts +461 -0
  34. package/node_modules/@sema/gerador-javascript/tsconfig.json +13 -0
  35. package/node_modules/@sema/gerador-javascript/tsconfig.tsbuildinfo +1 -0
  36. package/node_modules/@sema/gerador-lua/package.json +14 -7
  37. package/node_modules/@sema/gerador-lua/src/index.ts +359 -0
  38. package/node_modules/@sema/gerador-lua/tsconfig.json +13 -0
  39. package/node_modules/@sema/gerador-lua/tsconfig.tsbuildinfo +1 -0
  40. package/node_modules/@sema/gerador-python/package.json +14 -7
  41. package/node_modules/@sema/gerador-python/src/index.ts +850 -0
  42. package/node_modules/@sema/gerador-python/tsconfig.json +13 -0
  43. package/node_modules/@sema/gerador-python/tsconfig.tsbuildinfo +1 -0
  44. package/node_modules/@sema/gerador-typescript/package.json +14 -7
  45. package/node_modules/@sema/gerador-typescript/src/index.ts +876 -0
  46. package/node_modules/@sema/gerador-typescript/tsconfig.json +13 -0
  47. package/node_modules/@sema/gerador-typescript/tsconfig.tsbuildinfo +1 -0
  48. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.d.ts +22 -0
  49. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +97 -0
  50. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +1 -0
  51. package/node_modules/@sema/nucleo/dist/index.d.ts +1 -0
  52. package/node_modules/@sema/nucleo/dist/index.js +1 -0
  53. package/node_modules/@sema/nucleo/dist/index.js.map +1 -1
  54. package/node_modules/@sema/nucleo/package.json +10 -7
  55. package/node_modules/@sema/nucleo/src/ast/tipos.ts +207 -0
  56. package/node_modules/@sema/nucleo/src/diagnosticos/index.ts +43 -0
  57. package/node_modules/@sema/nucleo/src/diagnosticos/melhorador.ts +130 -0
  58. package/node_modules/@sema/nucleo/src/formatador/index.ts +530 -0
  59. package/node_modules/@sema/nucleo/src/index.ts +184 -0
  60. package/node_modules/@sema/nucleo/src/ir/conversor.ts +1037 -0
  61. package/node_modules/@sema/nucleo/src/ir/modelos.ts +403 -0
  62. package/node_modules/@sema/nucleo/src/lexer/lexer.ts +166 -0
  63. package/node_modules/@sema/nucleo/src/lexer/tokens.ts +79 -0
  64. package/node_modules/@sema/nucleo/src/parser/gramatica.ebnf +41 -0
  65. package/node_modules/@sema/nucleo/src/parser/parser.ts +936 -0
  66. package/node_modules/@sema/nucleo/src/persistencia/contratos.ts +379 -0
  67. package/node_modules/@sema/nucleo/src/semantico/analisador.ts +3126 -0
  68. package/node_modules/@sema/nucleo/src/semantico/estruturas.ts +665 -0
  69. package/node_modules/@sema/nucleo/src/semantico/seguranca.ts +362 -0
  70. package/node_modules/@sema/nucleo/src/util/arquivos.ts +28 -0
  71. package/node_modules/@sema/nucleo/tsconfig.json +9 -0
  72. package/node_modules/@sema/nucleo/tsconfig.tsbuildinfo +1 -0
  73. package/node_modules/@sema/padroes/package.json +10 -7
  74. package/node_modules/@sema/padroes/src/index.ts +382 -0
  75. package/node_modules/@sema/padroes/tsconfig.json +9 -0
  76. package/node_modules/@sema/padroes/tsconfig.tsbuildinfo +1 -0
  77. package/package.json +74 -75
  78. package/AGENTS.md +0 -294
  79. package/AGENT_CONTEXT_PACK.json +0 -164
  80. package/LICENSE +0 -22
  81. package/SEMA_BRIEF.curto.txt +0 -11
  82. package/SEMA_BRIEF.md +0 -511
  83. package/SEMA_BRIEF.micro.txt +0 -9
  84. package/SEMA_INDEX.json +0 -7588
  85. package/docs/AGENT_STARTER.md +0 -109
  86. package/docs/api.md +0 -82
  87. package/docs/cli.md +0 -175
  88. package/docs/como-ensinar-a-sema-para-ia.md +0 -155
  89. package/docs/deploy.md +0 -93
  90. package/docs/documentacao.md +0 -88
  91. package/docs/env.md +0 -105
  92. package/docs/extensao-vscode.md +0 -53
  93. package/docs/fluxo-pratico-ia-sema.md +0 -187
  94. package/docs/instalacao-e-primeiro-uso.md +0 -134
  95. package/docs/integracao-com-ia.md +0 -110
  96. package/docs/mcp.md +0 -292
  97. package/docs/pagamento-ponta-a-ponta.md +0 -171
  98. package/docs/persistencia-vendor-first.md +0 -151
  99. package/docs/prompt-base-ia-sema.md +0 -111
  100. package/docs/repositories.md +0 -54
  101. package/docs/rollback.md +0 -49
  102. package/docs/seguranca.md +0 -126
  103. package/docs/sintaxe.md +0 -218
  104. package/llms-full.txt +0 -35
  105. package/llms.txt +0 -18
@@ -1,111 +0,0 @@
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,54 +0,0 @@
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 DELETED
@@ -1,49 +0,0 @@
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.
package/docs/seguranca.md DELETED
@@ -1,126 +0,0 @@
1
- # Security
2
-
3
- <!-- sema:i18n -->
4
- > EN: English first.
5
- > PT: Português depois, com acentos preservados.
6
- > ES: Español al final.
7
-
8
- ## EN
9
-
10
- The remote Sema MCP is a sensitive surface. It lets authorized agents read contracts, check drift, generate IA-first context, and operate inside allowed roots. Security depends on these controls working together:
11
-
12
- 1. HTTPS on the public proxy.
13
- 2. Commercial `sema_mcp_*` bearer key per request or OAuth authentication.
14
- 3. `SEMA_MCP_PROJECT_ROOTS` pointing to a dedicated server root, for example `/srv/sema/projetos`.
15
- 4. Contract-first operation before code, deploy, docs, workflow, Author text, game, legal, research, or ops actions.
16
-
17
- Do not publish the server without those controls.
18
-
19
- ### Data That Must Not Leak
20
-
21
- - GitHub, npm, Supabase, SSH, or Git Credential Manager tokens.
22
- - Client-side `SEMA_MCP_AUTH_TOKEN` values containing `sema_mcp_*` keys.
23
- - `SEMA_MCP_OAUTH_SECRET`.
24
- - `SEMA_MCP_OAUTH_PASSCODE`.
25
- - Private key content.
26
- - `.env`, build caches, uploads, installed dependencies, or temporary snapshots with secrets.
27
-
28
- Operational runbooks may document non-secret references, such as the public domain, service name, and generic deployment role. They must never include private key bodies, private-key filenames, local key paths, non-public IPs, real server paths, or secret inventory details.
29
-
30
- ### Remote Operation
31
-
32
- - Use the smallest privilege that still performs the job.
33
- - Do not log `Authorization` headers.
34
- - Do not publish `/mcp` with empty `SEMA_MCP_PROJECT_ROOTS`.
35
- - Keep Caddy or the reverse proxy with valid TLS.
36
- - Test `/mcp` without token and expect an authorization challenge.
37
- - Test account-scoped MCP tokens before declaring the product flow ready.
38
-
39
- ### Incident
40
-
41
- If a secret appears in chat, screenshot, log, release, or Git history:
42
-
43
- 1. Treat it as compromised.
44
- 2. Rotate it at the provider.
45
- 3. Remove it from the current file.
46
- 4. If it reached Git, rewrite history or revoke it permanently.
47
-
48
- ## PT
49
-
50
- O Sema MCP remoto é uma superfície sensível. Ele permite que agentes autorizados leiam contratos, verifiquem drift, gerem contexto IA-first e operem dentro das raízes permitidas. A segurança depende destas travas trabalhando juntas:
51
-
52
- 1. HTTPS no proxy público.
53
- 2. Autenticacao por chave comercial `sema_mcp_*` por request ou OAuth.
54
- 3. `SEMA_MCP_PROJECT_ROOTS` apontando para uma raiz dedicada no servidor, por exemplo `/srv/sema/projetos`.
55
- 4. Operação contract-first antes de código, deploy, docs, workflow, texto Author, jogo, jurídico, pesquisa ou ops.
56
-
57
- Não publique o servidor sem essas travas.
58
-
59
- ### Dados Que Não Podem Vazar
60
-
61
- - Tokens de GitHub, npm, Supabase, SSH ou Git Credential Manager.
62
- - Valores locais de `SEMA_MCP_AUTH_TOKEN` contendo chaves `sema_mcp_*`.
63
- - `SEMA_MCP_OAUTH_SECRET`.
64
- - `SEMA_MCP_OAUTH_PASSCODE`.
65
- - Conteúdo de chave privada.
66
- - `.env`, caches de build, uploads, dependências instaladas ou snapshots temporários com segredo.
67
-
68
- Runbooks operacionais podem documentar referências não secretas, como domínio público, nome do serviço e papel genérico de deploy. Eles nunca devem incluir corpo de chave privada, nomes de arquivos de chave privada, caminhos locais de chave, IPs não públicos, caminhos reais de servidor ou detalhes do inventário de segredos.
69
-
70
- ### Operação Remota
71
-
72
- - Use o menor privilégio que ainda executa o trabalho.
73
- - Não registre headers `Authorization` em logs.
74
- - Não publique `/mcp` com `SEMA_MCP_PROJECT_ROOTS` vazio.
75
- - Mantenha Caddy ou reverse proxy com TLS válido.
76
- - Teste `/mcp` sem token esperando desafio de autorização.
77
- - Teste tokens MCP por conta antes de declarar o fluxo de produto pronto.
78
-
79
- ### Incidente
80
-
81
- Se um segredo aparecer em chat, print, log, release ou histórico Git:
82
-
83
- 1. Considere comprometido.
84
- 2. Rotacione no provedor de origem.
85
- 3. Remova do arquivo atual.
86
- 4. Se chegou ao Git, reescreva histórico ou revogue definitivamente o segredo.
87
-
88
- ## ES
89
-
90
- El Sema MCP remoto es una superficie sensible. Permite que agentes autorizados lean contratos, verifiquen drift, generen contexto IA-first y operen dentro de las raíces permitidas. La seguridad depende de estos controles trabajando juntos:
91
-
92
- 1. HTTPS en el proxy público.
93
- 2. Autenticacion por clave comercial `sema_mcp_*` por request u OAuth.
94
- 3. `SEMA_MCP_PROJECT_ROOTS` apuntando a una raíz dedicada en el servidor, por ejemplo `/srv/sema/projetos`.
95
- 4. Operación contract-first antes de código, despliegue, docs, workflow, texto Author, juego, legal, investigación u ops.
96
-
97
- No publiques el servidor sin esos controles.
98
-
99
- ### Datos Que No Deben Filtrarse
100
-
101
- - Tokens de GitHub, npm, Supabase, SSH o Git Credential Manager.
102
- - Valores locales de `SEMA_MCP_AUTH_TOKEN` con claves `sema_mcp_*`.
103
- - `SEMA_MCP_OAUTH_SECRET`.
104
- - `SEMA_MCP_OAUTH_PASSCODE`.
105
- - Contenido de llave privada.
106
- - `.env`, cachés de build, uploads, dependencias instaladas o snapshots temporales con secretos.
107
-
108
- Los runbooks operativos pueden documentar referencias no secretas, como dominio público, nombre del servicio y rol genérico de despliegue. Nunca deben incluir el cuerpo de la llave privada, nombres de archivos de llave privada, rutas locales de llaves, IPs no públicas, rutas reales del servidor o detalles del inventario de secretos.
109
-
110
- ### Operación Remota
111
-
112
- - Usa el menor privilegio que todavía permita ejecutar el trabajo.
113
- - No registres headers `Authorization` en logs.
114
- - No publiques `/mcp` con `SEMA_MCP_PROJECT_ROOTS` vacío.
115
- - Mantén Caddy o el reverse proxy con TLS válido.
116
- - Prueba `/mcp` sin token y espera un desafío de autorización.
117
- - Prueba tokens MCP por cuenta antes de declarar listo el flujo de producto.
118
-
119
- ### Incidente
120
-
121
- Si un secreto aparece en chat, captura, log, release o historial Git:
122
-
123
- 1. Trátalo como comprometido.
124
- 2. Rótalo en el proveedor de origen.
125
- 3. Elimínalo del archivo actual.
126
- 4. Si llegó a Git, reescribe el historial o revócalo definitivamente.
package/docs/sintaxe.md DELETED
@@ -1,218 +0,0 @@
1
- # Sintaxe Canonica
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
- A Sema usa blocos declarativos previsiveis para reduzir ambiguidade no parser, na IR, no drift e no contexto de IA. A escrita humana pode ser legivel, mas o alvo principal da sintaxe e gerar contrato consumivel por agente.
10
-
11
- ## Regras basicas
12
-
13
- - um arquivo `.sema` contem um `module` principal
14
- - cada bloco abre com palavra-chave e fecha com `}`
15
- - campos usam `nome: valor`
16
- - blocos declarativos podem aparecer aninhados quando o contrato exigir
17
- - `tests` usa blocos `caso`
18
-
19
- ## Blocos de primeira classe
20
-
21
- - `module`
22
- - `use`
23
- - `database`
24
- - `type`
25
- - `entity`
26
- - `enum`
27
- - `state`
28
- - `task`
29
- - `flow`
30
- - `route`
31
- - `worker`
32
- - `evento`
33
- - `fila`
34
- - `cron`
35
- - `webhook`
36
- - `cache`
37
- - `storage`
38
- - `policy`
39
- - `tests`
40
- - `docs`
41
- - `comments`
42
-
43
- ## Subblocos comuns
44
-
45
- - `input`
46
- - `output`
47
- - `rules`
48
- - `effects`
49
- - `auth`
50
- - `authz`
51
- - `dados`
52
- - `audit`
53
- - `segredos`
54
- - `forbidden`
55
- - `impl`
56
- - `vinculos`
57
- - `execucao`
58
- - `guarantees`
59
- - `error`
60
- - `fields`
61
- - `invariants`
62
- - `transitions`
63
- - `given`
64
- - `when`
65
- - `expect`
66
-
67
- ## Tipos primitivos
68
-
69
- Tipos primitivos reconhecidos diretamente:
70
-
71
- - `Texto`
72
- - `Numero`
73
- - `Inteiro`
74
- - `Decimal`
75
- - `Booleano`
76
- - `Data`
77
- - `Timestamp`
78
- - `Objeto`
79
- - `Id`
80
- - `Email`
81
- - `Json`
82
-
83
- `Timestamp` e `Objeto` funcionam como aliases primitivos suportados e preservam o texto original na IR.
84
-
85
- ## Tipos compostos
86
-
87
- ```sema
88
- input {
89
- ids: Lista<Id> required
90
- metadata: Mapa<Texto, Texto>
91
- responsavel: Opcional<Usuario>
92
- chave_publica: Texto|Id
93
- }
94
- ```
95
-
96
- Formas suportadas:
97
-
98
- - `Lista<T>`
99
- - `Mapa<K, V>`
100
- - `Opcional<T>`
101
- - `T1|T2`
102
- - `T?`
103
-
104
- ## Predicados normalizados
105
-
106
- Predicados escritos em contrato preservam o texto original em `predicado`. Quando a CLI reconhece uma forma comum, a expressao estruturada pode expor também `predicadoCanonico`.
107
-
108
- Exemplo:
109
-
110
- ```sema
111
- rules {
112
- email deve_ser email_valido
113
- nome deve_ser preenchido
114
- }
115
- ```
116
-
117
- Na IR, `email_valido` continua existindo como escrito e pode receber uma normalizacao como `valid_email`; `preenchido` pode receber `filled`. Esse campo e opcional e serve a agente/automacao, não muda a sintaxe pública.
118
-
119
- ## Persistência vendor-first
120
-
121
- O bloco `database` modela banco e recursos persistidos sem apagar as diferenças entre engines.
122
-
123
- Estrutura base:
124
-
125
- ```sema
126
- database principal_postgres {
127
- engine: postgres
128
- consistency: forte
129
- durability: alta
130
- transaction_model: mvcc
131
- query_model: sql
132
- }
133
- ```
134
-
135
- Recursos canonicamente suportados:
136
-
137
- - `table`
138
- - `index`
139
- - `relationship`
140
- - `query`
141
- - `retention`
142
- - `lock`
143
- - `replication`
144
- - `collection`
145
- - `document`
146
- - `keyspace`
147
- - `stream`
148
- - `capabilities`
149
-
150
- Exemplo relacional:
151
-
152
- ```sema
153
- database principal_postgres {
154
- engine: postgres
155
- schema: public
156
- capabilities {
157
- joins
158
- views
159
- foreign_keys
160
- }
161
- table pedidos {
162
- entity: Pedido
163
- }
164
- relationship pedido_cliente {
165
- from: Pedido
166
- to: Cliente
167
- }
168
- query buscar_pedidos {
169
- mode: sql
170
- }
171
- }
172
- ```
173
-
174
- Exemplo documental:
175
-
176
- ```sema
177
- database principal_mongodb {
178
- engine: mongodb
179
- query_model: documento
180
- collection pedidos {
181
- collection: pedidos
182
- }
183
- document pedido_snapshot {
184
- entity: PedidoSnapshot
185
- }
186
- query pipeline_pedido {
187
- mode: pipeline
188
- }
189
- }
190
- ```
191
-
192
- Exemplo key-value:
193
-
194
- ```sema
195
- database principal_redis {
196
- engine: redis
197
- query_model: chave_valor
198
- keyspace cache_pedidos {
199
- ttl: "300s"
200
- }
201
- stream eventos_pedido {
202
- surface: fila
203
- }
204
- }
205
- ```
206
-
207
- ## Compatibilidade declarada
208
-
209
- O IR de persistência calcula compatibilidade por recurso com quatro estados:
210
-
211
- - `nativo`
212
- - `adaptado`
213
- - `parcial`
214
- - `invalido`
215
-
216
- Isso existe para deixar explícito quando um contrato está pedindo de um banco algo que ele não entrega do mesmo jeito.
217
-
218
- O mesmo principio vale para runtime de orquestração. Superfícies como `webhook`, `cron`, `worker`, `evento` e `fila` podem ser medidas contra famílias como `n8n`, mas o contrato continua canonicamente modelado em Sema, sem rebaixar a linguagem para a sintaxe do adapter alvo.
package/llms-full.txt DELETED
@@ -1,35 +0,0 @@
1
- Sema is an AI-first semantic language and tooling stack for explicit software intent, drift analysis, and safer intervention in live backend systems.
2
-
3
- This repository is not optimized for human-first reading. It is optimized for AI agents that need compressed, canonical semantic context.
4
-
5
- Canonical entrypoints in the repository root:
6
- 1. `llms.txt`
7
- 2. `AGENT_CONTEXT_PACK.json`
8
- 3. `SEMA_BRIEF.md`
9
- 4. `SEMA_INDEX.json`
10
- 5. `AGENTS.md`
11
- 6. `README.md`
12
- 7. `docs/AGENT_STARTER.md`
13
-
14
- Capacity routing:
15
- - small/free AI: `llms.txt` -> `AGENT_CONTEXT_PACK.json` -> `SEMA_BRIEF.micro.txt` -> `SEMA_INDEX.json` -> `AGENTS.md`
16
- - medium AI: `llms.txt` -> `AGENT_CONTEXT_PACK.json` -> `SEMA_BRIEF.curto.txt` -> `SEMA_INDEX.json` -> `AGENTS.md` -> `README.md`
17
- - large/tool-using AI: `llms-full.txt` -> `AGENT_CONTEXT_PACK.json` -> `SEMA_BRIEF.md` -> `SEMA_INDEX.json` -> `AGENTS.md` -> `README.md`
18
-
19
- Source-of-truth order:
20
- 1. root Sema artifacts
21
- 2. CLI JSON outputs
22
- 3. official docs
23
- 4. official examples
24
- 5. raw implementation code
25
-
26
- Useful commands:
27
- - `sema resumo <arquivo-ou-pasta> --micro --para mudanca`
28
- - `sema prompt-curto <arquivo-ou-pasta> --curto --para review`
29
- - `sema drift <arquivo-ou-pasta> --json`
30
- - `sema contexto-ia <arquivo.sema> --saida ./.tmp/contexto --json`
31
- - `sema validar <arquivo-ou-pasta> --json`
32
- - `sema verificar <arquivo-ou-pasta> --json`
33
-
34
- Do not ask the model to infer semantics that are already available in Sema artifacts.
35
- Do not start from raw source code if `AGENT_CONTEXT_PACK`, `SEMA_BRIEF`, `SEMA_INDEX`, `drift`, or `briefing` are available.
package/llms.txt DELETED
@@ -1,18 +0,0 @@
1
- Sema is an AI-first semantic language and tooling stack for backend intent.
2
-
3
- This repository is not human-first. Use the canonical AI entrypoints before raw code.
4
-
5
- Read in this order:
6
- 1. AGENT_CONTEXT_PACK.json
7
- 2. SEMA_BRIEF.micro.txt or SEMA_BRIEF.md
8
- 3. SEMA_INDEX.json
9
- 4. AGENTS.md
10
- 5. README.md
11
-
12
- Capacity routing:
13
- - small models: llms.txt -> AGENT_CONTEXT_PACK.json -> SEMA_BRIEF.micro.txt -> SEMA_INDEX.json -> AGENTS.md
14
- - medium models: llms.txt -> AGENT_CONTEXT_PACK.json -> SEMA_BRIEF.curto.txt -> SEMA_INDEX.json -> AGENTS.md -> README.md
15
- - large models: llms-full.txt -> AGENT_CONTEXT_PACK.json -> SEMA_BRIEF.md -> SEMA_INDEX.json -> AGENTS.md -> README.md
16
-
17
- Prefer Sema artifacts over raw source code when both exist.
18
- Prefer `drift`, `briefing`, `ir`, and `diagnosticos` over guesswork.