@semacode/cli 1.5.34 → 1.5.36
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 +3 -1
- package/AGENT_CONTEXT_PACK.json +98 -5
- package/README.md +3 -3
- package/SEMA_BRIEF.curto.txt +8 -5
- package/SEMA_BRIEF.md +34 -3
- package/SEMA_BRIEF.micro.txt +7 -4
- package/SEMA_INDEX.json +428 -128
- package/dist/index.js +262 -16
- package/dist/index.js.map +1 -1
- package/docs/AGENT_STARTER.md +10 -8
- package/docs/agentes-por-capacidade.md +32 -0
- package/docs/api.md +21 -21
- package/docs/cli.md +3 -3
- package/docs/env.md +22 -26
- package/docs/fluxo-pratico-ia-sema.md +4 -0
- package/docs/instalacao-e-primeiro-uso.md +3 -3
- package/docs/repositories.md +21 -21
- package/node_modules/@sema/gerador-css/dist/index.js +15 -7
- package/node_modules/@sema/gerador-css/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-dart/dist/index.js +11 -1
- package/node_modules/@sema/gerador-dart/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-html/dist/index.js +19 -7
- package/node_modules/@sema/gerador-html/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-javascript/dist/index.js +16 -2
- package/node_modules/@sema/gerador-javascript/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-lua/dist/index.js +19 -6
- package/node_modules/@sema/gerador-lua/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-python/dist/index.js +25 -8
- package/node_modules/@sema/gerador-python/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-typescript/dist/index.js +32 -14
- package/node_modules/@sema/gerador-typescript/dist/index.js.map +1 -1
- package/package.json +12 -16
package/docs/AGENT_STARTER.md
CHANGED
|
@@ -55,10 +55,11 @@ Importante:
|
|
|
55
55
|
- se a tarefa envolver UI, priorize `appRoutes`, `consumerSurfaces` e `consumerBridges` antes de abrir arquivo aleatorio
|
|
56
56
|
- evite pedir HTML unico solto quando a intencao for testar a Sema de verdade
|
|
57
57
|
|
|
58
|
-
Regras:
|
|
59
|
-
- nao invente sintaxe fora da gramatica e dos exemplos oficiais
|
|
60
|
-
- se a IA for pequena, comece em `sema resumo` e `briefing.min.json`
|
|
61
|
-
-
|
|
58
|
+
Regras:
|
|
59
|
+
- nao invente sintaxe fora da gramatica e dos exemplos oficiais
|
|
60
|
+
- se a IA for pequena, comece em `sema resumo` e `briefing.min.json`
|
|
61
|
+
- se `sema resumo` ou outro gate estourar timeout local, aumente o timeout e tente de novo antes de declarar falha
|
|
62
|
+
- trate `ir --json` como fonte de verdade semantica
|
|
62
63
|
- trate `diagnosticos --json` como fonte de correcao
|
|
63
64
|
- use `sema formatar` como fonte unica de estilo
|
|
64
65
|
- preserve a intencao do contrato
|
|
@@ -82,10 +83,11 @@ Regra pratica de ouro:
|
|
|
82
83
|
- se a tarefa partir de projeto que nao nasceu com Sema, `sema importar` deve entrar antes da lapidacao semantica
|
|
83
84
|
- se a tarefa pedir apenas leitura ou correcao sem gerar codigo, `sema compilar` pode ficar fora
|
|
84
85
|
|
|
85
|
-
Antes de editar:
|
|
86
|
-
1. leia README, docs de IA e um exemplo oficial parecido
|
|
87
|
-
2. se a IA for pequena, rode `sema resumo <arquivo> --micro`
|
|
88
|
-
|
|
86
|
+
Antes de editar:
|
|
87
|
+
1. leia README, docs de IA e um exemplo oficial parecido
|
|
88
|
+
2. se a IA for pequena, rode `sema resumo <arquivo> --micro`
|
|
89
|
+
- se timeout local estourar, repita com timeout maior ou escopo menor; timeout do agente nao e falha do Sema
|
|
90
|
+
3. se a tarefa pedir contexto mais rico, consulte `drift`, `briefing.min.json` e depois AST/IR
|
|
89
91
|
|
|
90
92
|
Depois de editar:
|
|
91
93
|
1. rode `sema formatar`
|
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
Sema deve funcionar em agentes fortes, médios e fracos. A diferença não é só tamanho de contexto; é disciplina operacional.
|
|
4
4
|
|
|
5
|
+
## Código Governado
|
|
6
|
+
|
|
7
|
+
Arquivos gerados ou governados pela Sema devem manter o marcador `SEMA-GOVERNED`.
|
|
8
|
+
|
|
9
|
+
- Fraca: Se abrir código com SEMA-GOVERNED, pare, leia SEMA_SMALL_MODEL.md e chame Sema antes de editar.
|
|
10
|
+
- Média: Se abrir código com SEMA-GOVERNED, rode docs-impacto e drift antes de alterar comportamento.
|
|
11
|
+
- Forte: Se abrir código com SEMA-GOVERNED, pode inspecionar AST/IR e código completo, mas mantém contrato primeiro, drift e finalizar-mudanca.
|
|
12
|
+
|
|
13
|
+
## Design Visual
|
|
14
|
+
|
|
15
|
+
Quando a tarefa envolve interface, app, site, dashboard, painel, formulário, landing, jogo ou artefato visual, o Sema governa também qualidade visual. Modernidade, identidade, responsividade, estados e evidência visual não são extras opcionais.
|
|
16
|
+
|
|
17
|
+
- Fraca: Use um padrão moderno seguro: hierarquia clara, espaçamento consistente, paleta com contraste, estados básicos, responsivo mobile/desktop e nada de formulário cinza genérico. Se não conseguir validar visualmente, pare e peça revisão.
|
|
18
|
+
Evidência: descrever padrão visual escolhido, confirmar responsividade básica, listar estados essenciais.
|
|
19
|
+
- Média: Defina intenção visual antes de codar: público, domínio, densidade, tokens, componentes, estados, responsividade e anti-2010. Rode ou peça screenshot/browser check quando houver UI.
|
|
20
|
+
Evidência: registrar tokens e componentes usados, validar desktop e mobile, corrigir texto sobreposto.
|
|
21
|
+
- Forte: Crie direção visual específica do domínio, use assets reais/gerados quando fizer sentido, refine microinterações e faça verificação visual em desktop/mobile com screenshot e correção de overlap.
|
|
22
|
+
Evidência: screenshot desktop/mobile, verificação de assets e renderização, auditoria de contraste, hierarquia e estado vazio.
|
|
23
|
+
- Proibido: interface_generica_2010, formularios_sem_hierarquia_visual, cards_cinzas_sem_identidade, layout_sem_responsividade_real, texto_estourando_ou_sobreposto, sem_estados_de_hover_focus_loading_erro_vazio, sem_assets_quando_o_dominio_pede_visual, copiar_estetica_do_contrato_para_ui.
|
|
24
|
+
- Critérios mínimos: não parecer template de 2010, hierarquia visual clara, paleta com contraste e identidade do domínio, responsividade mobile e desktop, estados de hover, focus, loading, erro e vazio quando aplicáveis, texto sem overlap ou estouro, componentes coerentes com o workflow real.
|
|
25
|
+
|
|
5
26
|
## Fraca
|
|
6
27
|
|
|
7
28
|
Use para Copilot em modo simples, Cline/Roo com pouco contexto, modelos locais pequenos e agentes que ignoram instrução longa.
|
|
@@ -27,6 +48,17 @@ Use para Codex, Claude e agentes com tool use confiável.
|
|
|
27
48
|
- Pode consumir AST/IR/drift completos.
|
|
28
49
|
- Ainda deve respeitar contrato primeiro e falha fechada.
|
|
29
50
|
|
|
51
|
+
## Timeout e Retry
|
|
52
|
+
|
|
53
|
+
Timeout definido pelo agente não é falha do Sema. Se `sema resumo`, `inspecionar`, `drift` ou `sync-ai-entrypoints` estourar por timeout local, aumente o timeout e tente de novo com escopo menor quando possível.
|
|
54
|
+
|
|
55
|
+
- Timeout inicial para resumo de projeto inteiro: 120s.
|
|
56
|
+
- Escalonamento recomendado: 120s -> 300s -> 600s.
|
|
57
|
+
- Fraca: Se `resumo . --micro` estourar, tente `resumo <arquivo.sema> --micro`, depois repita com timeout maior. Timeout não autoriza editar.
|
|
58
|
+
- Média: Prefira resumo escopado; se um gate Sema estourar, aumente timeout e repita antes de concluir falha.
|
|
59
|
+
- Forte: Pode rodar projeto inteiro com timeout alto, mas deve distinguir lentidão de falha real e registrar evidência.
|
|
60
|
+
- Tente de novo com timeouts maiores enquanto houver execução disponível; se o ambiente impedir continuar, pare bloqueado e não avance com código sem Sema.
|
|
61
|
+
|
|
30
62
|
## Idioma
|
|
31
63
|
|
|
32
64
|
A linguagem humana da resposta deve seguir o idioma do usuário e preservar acentos, cedilha, pontuação e símbolos esperados. A DSL .sema pode ter palavras-chave ASCII; isso não autoriza PT-BR sem acentos.
|
package/docs/api.md
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
## English
|
|
4
4
|
|
|
5
|
-
Sema
|
|
5
|
+
Sema is private end to end. The only public installation channel is the npm installer/client `@semacode/cli`; the product repository, hosted MCP control plane, account APIs, OAuth internals, dashboards, audit storage, and commercial runtime governance APIs stay private.
|
|
6
6
|
|
|
7
7
|
### Public Surfaces
|
|
8
8
|
|
|
9
|
-
- CLI commands documented in `README.md`, `docs/README.md`, and `docs/profiles.md`.
|
|
10
|
-
- `.sema`
|
|
11
|
-
-
|
|
12
|
-
-
|
|
9
|
+
- CLI installer/client commands documented in `README.md`, `docs/README.md`, and `docs/profiles.md`.
|
|
10
|
+
- Official `.sema` examples exposed through the CLI package or authorized MCP tools.
|
|
11
|
+
- Editor support installed from private/local VSIX artifacts.
|
|
12
|
+
- Local validation flows executed by authorized users or agents.
|
|
13
13
|
|
|
14
14
|
### Private Or Commercial Surfaces
|
|
15
15
|
|
|
@@ -24,19 +24,19 @@ When a change touches an endpoint, webhook, CLI command, or MCP tool, the agent
|
|
|
24
24
|
|
|
25
25
|
- declare or update the applicable `.sema` contract before code;
|
|
26
26
|
- validate authentication, authorization, tenant/workspace boundaries, idempotency, auditability, and rollback expectations;
|
|
27
|
-
- keep private endpoints and commercial control-plane details out of
|
|
28
|
-
- run Sema validation and
|
|
27
|
+
- keep private endpoints and commercial control-plane details out of distributable artifacts;
|
|
28
|
+
- run Sema validation and private-boundary checks before publishing the npm installer.
|
|
29
29
|
|
|
30
30
|
## Português
|
|
31
31
|
|
|
32
|
-
O
|
|
32
|
+
O Sema é privado de ponta a ponta. O único canal público de instalação é o instalador/cliente npm `@semacode/cli`; repositório de produto, control plane MCP hospedado, APIs de conta, detalhes internos de OAuth, dashboards, armazenamento de auditoria e APIs comerciais de runtime governance ficam privados.
|
|
33
33
|
|
|
34
34
|
### Superfícies Públicas
|
|
35
35
|
|
|
36
|
-
- Comandos
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
36
|
+
- Comandos do instalador/cliente CLI documentados em `README.md`, `docs/README.md` e `docs/profiles.md`.
|
|
37
|
+
- Exemplos oficiais `.sema` expostos pelo pacote CLI ou por ferramentas MCP autorizadas.
|
|
38
|
+
- Suporte de editor instalado a partir de VSIX privada/local.
|
|
39
|
+
- Fluxos locais de validação executados por usuários ou agentes autorizados.
|
|
40
40
|
|
|
41
41
|
### Superfícies Privadas Ou Comerciais
|
|
42
42
|
|
|
@@ -51,19 +51,19 @@ Quando uma mudança toca endpoint, webhook, comando de CLI ou ferramenta MCP, a
|
|
|
51
51
|
|
|
52
52
|
- declarar ou atualizar o contrato `.sema` aplicável antes do código;
|
|
53
53
|
- validar autenticação, autorização, fronteira de tenant/workspace, idempotência, auditoria e expectativa de rollback;
|
|
54
|
-
- manter endpoints privados e detalhes comerciais do control plane fora
|
|
55
|
-
- rodar validação Sema e checagem de fronteira
|
|
54
|
+
- manter endpoints privados e detalhes comerciais do control plane fora de artefatos distribuíveis;
|
|
55
|
+
- rodar validação Sema e checagem de fronteira privada antes de publicar o instalador npm.
|
|
56
56
|
|
|
57
57
|
## Español
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
Sema es privado de punta a punta. El único canal público de instalación es el instalador/cliente npm `@semacode/cli`; el repositorio de producto, el control plane MCP hospedado, APIs de cuenta, detalles internos de OAuth, dashboards, almacenamiento de auditoría y APIs comerciales de runtime governance permanecen privados.
|
|
60
60
|
|
|
61
61
|
### Superficies Públicas
|
|
62
62
|
|
|
63
|
-
- Comandos
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
63
|
+
- Comandos del instalador/cliente CLI documentados en `README.md`, `docs/README.md` y `docs/profiles.md`.
|
|
64
|
+
- Ejemplos oficiales `.sema` expuestos por el paquete CLI o por herramientas MCP autorizadas.
|
|
65
|
+
- Soporte de editor instalado desde VSIX privada/local.
|
|
66
|
+
- Flujos locales de validación ejecutados por usuarios o agentes autorizados.
|
|
67
67
|
|
|
68
68
|
### Superficies Privadas O Comerciales
|
|
69
69
|
|
|
@@ -78,5 +78,5 @@ Cuando un cambio toca un endpoint, webhook, comando de CLI o herramienta MCP, la
|
|
|
78
78
|
|
|
79
79
|
- declarar o actualizar el contrato `.sema` aplicable antes del código;
|
|
80
80
|
- validar autenticación, autorización, frontera de tenant/workspace, idempotencia, auditoría y expectativa de rollback;
|
|
81
|
-
- mantener endpoints privados y detalles comerciales del control plane fuera
|
|
82
|
-
- ejecutar validación Sema y chequeo de frontera
|
|
81
|
+
- mantener endpoints privados y detalles comerciales del control plane fuera de artefactos distribuibles;
|
|
82
|
+
- ejecutar validación Sema y chequeo de frontera privada antes de publicar el instalador npm.
|
package/docs/cli.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
## English
|
|
9
9
|
|
|
10
|
-
The Sema CLI is installed from the
|
|
10
|
+
The Sema CLI is installed from the `@semacode/cli` npm installer package. It is not the commercial coordinator and it does not publish the MCP server or product control plane.
|
|
11
11
|
|
|
12
12
|
Use it for the work the MCP authorizes:
|
|
13
13
|
|
|
@@ -36,7 +36,7 @@ sema finalizar-mudanca --intencao "alterar pedidos" --doc-lida README.md --json
|
|
|
36
36
|
|
|
37
37
|
## Português
|
|
38
38
|
|
|
39
|
-
A CLI da Sema é instalada pelo pacote npm
|
|
39
|
+
A CLI da Sema é instalada pelo pacote npm do instalador `@semacode/cli`. Ela não é o coordenador comercial e não publica o servidor MCP nem o control plane do produto.
|
|
40
40
|
|
|
41
41
|
Use a CLI para o trabalho que o MCP autorizar:
|
|
42
42
|
|
|
@@ -65,7 +65,7 @@ sema finalizar-mudanca --intencao "alterar pedidos" --doc-lida README.md --json
|
|
|
65
65
|
|
|
66
66
|
## Español
|
|
67
67
|
|
|
68
|
-
La CLI de Sema se instala desde el paquete npm
|
|
68
|
+
La CLI de Sema se instala desde el paquete npm instalador `@semacode/cli`. No es el coordinador comercial y no publica el servidor MCP ni el control plane del producto.
|
|
69
69
|
|
|
70
70
|
Usa la CLI para el trabajo que el MCP autorice:
|
|
71
71
|
|
package/docs/env.md
CHANGED
|
@@ -11,34 +11,32 @@ Ambiente necessário para publicar a Sema.
|
|
|
11
11
|
## Ferramentas
|
|
12
12
|
|
|
13
13
|
- Node.js LTS com `npm`.
|
|
14
|
-
- Git com acesso
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
- PowerShell no Windows.
|
|
14
|
+
- Git com acesso ao repositório privado.
|
|
15
|
+
- VS Code CLI (`code`) para instalar a VSIX localmente.
|
|
16
|
+
- PowerShell no Windows.
|
|
18
17
|
|
|
19
|
-
## Variaveis suportadas pelos instaladores
|
|
20
|
-
|
|
21
|
-
- `
|
|
22
|
-
- `
|
|
23
|
-
- `
|
|
18
|
+
## Variaveis suportadas pelos instaladores
|
|
19
|
+
|
|
20
|
+
- `SEMA_NPM_PACKAGE`: pacote da CLI. Padrão: `@semacode/cli`.
|
|
21
|
+
- `SEMA_VERSION`: versão usada pelo `install-sema.sh`. Padrão: `latest`.
|
|
22
|
+
- `SEMA_VSIX_PATH`: caminho privado/local para a VSIX quando usar `--with-vscode`.
|
|
24
23
|
|
|
25
24
|
No PowerShell, o instalador recebe a versão por parametro:
|
|
26
25
|
|
|
27
26
|
```powershell
|
|
28
|
-
.\install-sema.ps1 -Version 1.5.
|
|
27
|
+
.\install-sema.ps1 -Version 1.5.35 -WithVSCode
|
|
29
28
|
```
|
|
30
29
|
|
|
31
30
|
No shell:
|
|
32
31
|
|
|
33
32
|
```bash
|
|
34
|
-
SEMA_VERSION=1.5.
|
|
33
|
+
SEMA_VERSION=1.5.35 ./install-sema.sh --with-vscode
|
|
35
34
|
```
|
|
36
35
|
|
|
37
36
|
## Credenciais
|
|
38
37
|
|
|
39
38
|
- NPM deve estar logado antes de publicar: `npm whoami`.
|
|
40
|
-
-
|
|
41
|
-
- Nunca registre tokens em docs, logs ou release notes.
|
|
39
|
+
- Nunca registre tokens em docs, logs ou release notes.
|
|
42
40
|
|
|
43
41
|
## Registro NPM
|
|
44
42
|
|
|
@@ -100,16 +98,14 @@ Nunca publique `/mcp` ou `/sse` na internet sem chave comercial bearer por reque
|
|
|
100
98
|
|
|
101
99
|
O limite de bytes e validado antes de gravar espelhos remotos ou executar contratos inline. Clientes MCP devem respeitar o limite anunciado no schema da ferramenta e dividir snapshots grandes em arquivos focados, sem enviar repositorio inteiro.
|
|
102
100
|
|
|
103
|
-
##
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
Esse check cruza README/docs, manifestos, npm, GitHub Latest, assets publicados, CLI local e VSIX instalada quando o VS Code CLI está disponivel.
|
|
101
|
+
## Distribuição
|
|
102
|
+
|
|
103
|
+
A Sema não tem repositório público de produto nem GitHub Release pública. O npm fica restrito ao instalador/cliente `@semacode/cli`.
|
|
104
|
+
|
|
105
|
+
Depois de empacotar ou publicar o instalador, rode:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
node scripts/verificar-distribuicao-publica.mjs --json
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Esse check cruza manifestos, npm e CLI local, além de garantir que GitHub Release pública e assets abertos de produto continuam bloqueados.
|
|
@@ -20,6 +20,8 @@ Antes de qualquer etapa, classifique a capacidade operacional do agente:
|
|
|
20
20
|
|
|
21
21
|
Regra de idioma humano: responda no idioma do usuário. Em PT-BR, use acentos, cedilha, pontuação e símbolos normais. A gramática `.sema` pode ser ASCII; texto humano não precisa ser.
|
|
22
22
|
|
|
23
|
+
Regra de timeout: timeout local do agente não é falha do Sema. Se `sema resumo`, `drift`, `docs-impacto` ou outro gate estourar, aumente o timeout e tente de novo antes de declarar bloqueio. Para projeto grande, escopo menor vem primeiro: `sema resumo caminho/arquivo.sema --micro --para mudanca`.
|
|
24
|
+
|
|
23
25
|
## Fluxo curto
|
|
24
26
|
|
|
25
27
|
1. ler contexto do projeto
|
|
@@ -52,6 +54,8 @@ Antes de despejar contexto na IA, escolha o que ela aguenta:
|
|
|
52
54
|
- IA fraca, gratuita ou com pouca disciplina: `SEMA_BOOT.md`, `SEMA_SMALL_MODEL.md`, `sema resumo --micro` e `briefing.min.json`
|
|
53
55
|
- IA média: `sema resumo --curto`, `briefing.min.json` e `drift.json`
|
|
54
56
|
- IA forte: `contexto-ia`, `briefing.json`, `drift.json`, `ir.json` e `ast.json`
|
|
57
|
+
|
|
58
|
+
Se qualquer comando Sema acima estourar timeout definido pela própria IA, ela deve aumentar o timeout e repetir. Timeout do agente não autoriza pular Sema nem concluir que a sessão está inativa.
|
|
55
59
|
|
|
56
60
|
### Etapa 3. Ler o módulo alvo e um exemplo parecido
|
|
57
61
|
|
|
@@ -17,7 +17,7 @@ Install the governed CLI/client from npm when a local IDE or VPS mirror needs th
|
|
|
17
17
|
npm install -g @semacode/cli
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
The MCP server remains the private product surface. Do not install the MCP from
|
|
20
|
+
The MCP server remains the private product surface. Do not install the MCP from the npm installer package; configure the authorized remote `/mcp` endpoint instead.
|
|
21
21
|
|
|
22
22
|
## Português
|
|
23
23
|
|
|
@@ -31,7 +31,7 @@ Instale a CLI/cliente governada pelo npm quando uma IDE local ou espelho na VPS
|
|
|
31
31
|
npm install -g @semacode/cli
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
O servidor MCP continua sendo a superfície privada do produto. Não instale o MCP
|
|
34
|
+
O servidor MCP continua sendo a superfície privada do produto. Não instale o MCP pelo pacote npm do instalador; configure o endpoint remoto `/mcp` autorizado.
|
|
35
35
|
|
|
36
36
|
## Español
|
|
37
37
|
|
|
@@ -45,4 +45,4 @@ Instala la CLI/cliente gobernada desde npm cuando una IDE local o espejo en la V
|
|
|
45
45
|
npm install -g @semacode/cli
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
El servidor MCP sigue siendo la superficie privada del producto. No instales el MCP desde
|
|
48
|
+
El servidor MCP sigue siendo la superficie privada del producto. No instales el MCP desde el paquete npm instalador; configura el endpoint remoto `/mcp` autorizado.
|
package/docs/repositories.md
CHANGED
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- sema:i18n -->
|
|
4
4
|
> EN: English first.
|
|
5
|
-
> PT:
|
|
6
|
-
> ES:
|
|
5
|
+
> PT: Português depois.
|
|
6
|
+
> ES: Español al final.
|
|
7
7
|
|
|
8
8
|
## English
|
|
9
9
|
|
|
10
|
-
Sema is private
|
|
10
|
+
Sema is private end to end, with one npm installation channel for the governed client: `@semacode/cli`. There is no public product repository, no public MCP package surface, no public GitHub Release, and no active `public/` versus `private/` repository split.
|
|
11
11
|
|
|
12
12
|
The active tree lives at the repository root: `contratos/`, `pacotes/`, `mcp/`, `site/`, `supabase/`, `deploy/`, `docs/`, `scripts/`, and `testes/`.
|
|
13
13
|
|
|
14
14
|
The operating model is:
|
|
15
15
|
|
|
16
16
|
- The MCP is the private coordinator: it authenticates clients, selects the right project or mirror, charges SEMAS, decides the required contract/profile flow, and returns the operational verdict.
|
|
17
|
-
- The CLI is distributed
|
|
17
|
+
- The CLI is distributed through the npm installer/client `@semacode/cli`, then acts as the governed executor: it reads contracts, validates, checks drift, builds AI-first context, and performs local or server-side actions requested by the MCP.
|
|
18
18
|
- Web chats remain supported because the private MCP keeps a CLI installed on the VPS and runs it against authorized mirrors under `/srv/sema/projetos/...`.
|
|
19
19
|
- Local IDEs remain supported by sending typed snapshots, selected code, docs, and indexes to the MCP; when local full-code drift is required, the installed CLI can run inside the IDE environment.
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Distribution outside the private boundary is allowed only for the governed CLI installer. If a script tries to publish the MCP server, product release assets, secrets, control-plane code, GitHub Release, or any public package outside `@semacode/cli`, it must fail before any artifact is created.
|
|
22
22
|
|
|
23
23
|
Use the private boundary check:
|
|
24
24
|
|
|
@@ -26,20 +26,20 @@ Use the private boundary check:
|
|
|
26
26
|
npm run repo:verificar-privado
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
##
|
|
29
|
+
## Português
|
|
30
30
|
|
|
31
|
-
O Sema
|
|
31
|
+
O Sema é privado de ponta a ponta, com um canal npm para o cliente governado: `@semacode/cli`. Não existe repositório público de produto, superfície MCP pública como pacote aberto, GitHub Release pública nem divisão ativa entre `public/` e `private/`.
|
|
32
32
|
|
|
33
|
-
A
|
|
33
|
+
A árvore ativa vive na raiz do repositório: `contratos/`, `pacotes/`, `mcp/`, `site/`, `supabase/`, `deploy/`, `docs/`, `scripts/` e `testes/`.
|
|
34
34
|
|
|
35
|
-
O modelo operacional
|
|
35
|
+
O modelo operacional é:
|
|
36
36
|
|
|
37
|
-
- O MCP
|
|
38
|
-
- A CLI
|
|
39
|
-
- Chats web continuam suportados porque o MCP privado
|
|
40
|
-
- IDEs locais continuam suportadas enviando snapshots tipados,
|
|
37
|
+
- O MCP é o coordenador privado: autentica clientes, escolhe o projeto ou espelho correto, cobra SEMAS, decide o fluxo de contrato/profile obrigatório e devolve o veredito operacional.
|
|
38
|
+
- A CLI é distribuída pelo instalador/cliente npm `@semacode/cli` e depois atua como executor governado: lê contratos, valida, mede drift, monta contexto IA-first e executa ações locais ou no servidor quando o MCP pedir.
|
|
39
|
+
- Chats web continuam suportados porque o MCP privado mantém uma CLI instalada na VPS e executa contra espelhos autorizados em `/srv/sema/projetos/...`.
|
|
40
|
+
- IDEs locais continuam suportadas enviando snapshots tipados, código selecionado, docs e índice para o MCP; quando drift completo local for necessário, a CLI instalada pode rodar dentro do ambiente da IDE.
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
Distribuição fora da fronteira privada só é permitida para o instalador CLI governado. Se algum script tentar publicar o servidor MCP, assets de release de produto, segredos, control plane, GitHub Release ou qualquer pacote público fora de `@semacode/cli`, ele deve falhar antes de criar qualquer artefato.
|
|
43
43
|
|
|
44
44
|
Use a checagem de fronteira privada:
|
|
45
45
|
|
|
@@ -47,22 +47,22 @@ Use a checagem de fronteira privada:
|
|
|
47
47
|
npm run repo:verificar-privado
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
##
|
|
50
|
+
## Español
|
|
51
51
|
|
|
52
|
-
Sema
|
|
52
|
+
Sema es privado de punta a punta, con un canal npm para el cliente gobernado: `@semacode/cli`. No existe repositorio público de producto, superficie MCP pública como paquete abierto, GitHub Release pública ni división activa entre `public/` y `private/`.
|
|
53
53
|
|
|
54
|
-
El
|
|
54
|
+
El árbol activo vive en la raíz del repositorio: `contratos/`, `pacotes/`, `mcp/`, `site/`, `supabase/`, `deploy/`, `docs/`, `scripts/` y `testes/`.
|
|
55
55
|
|
|
56
56
|
El modelo operativo es:
|
|
57
57
|
|
|
58
58
|
- El MCP es el coordinador privado: autentica clientes, elige el proyecto o espejo correcto, cobra SEMAS, decide el flujo obligatorio de contrato/profile y devuelve el veredicto operativo.
|
|
59
|
-
- La CLI se distribuye
|
|
59
|
+
- La CLI se distribuye por el instalador/cliente npm `@semacode/cli` y luego actúa como ejecutor gobernado: lee contratos, valida, mide drift, prepara contexto IA-first y ejecuta acciones locales o del servidor cuando el MCP lo solicita.
|
|
60
60
|
- Los chats web siguen soportados porque el MCP privado mantiene una CLI instalada en la VPS y la ejecuta contra espejos autorizados en `/srv/sema/projetos/...`.
|
|
61
|
-
- Las IDEs locales siguen soportadas enviando snapshots tipados,
|
|
61
|
+
- Las IDEs locales siguen soportadas enviando snapshots tipados, código seleccionado, docs e índice al MCP; cuando haga falta drift completo local, la CLI instalada puede correr dentro del entorno de la IDE.
|
|
62
62
|
|
|
63
|
-
La
|
|
63
|
+
La distribución fuera de la frontera privada solo se permite para el instalador CLI gobernado. Si un script intenta publicar el servidor MCP, assets de release de producto, secretos, control plane, GitHub Release o cualquier paquete público fuera de `@semacode/cli`, debe fallar antes de crear cualquier artefacto.
|
|
64
64
|
|
|
65
|
-
Usa la
|
|
65
|
+
Usa la verificación de frontera privada:
|
|
66
66
|
|
|
67
67
|
```bash
|
|
68
68
|
npm run repo:verificar-privado
|
|
@@ -30,20 +30,28 @@ function gerarEstilosState(state) {
|
|
|
30
30
|
return estilos.join("\n");
|
|
31
31
|
}
|
|
32
32
|
function gerarEstilosEnum(enumeracao) {
|
|
33
|
-
return enumeracao.valores.map((valor) => `.sema-select option[value="${valor}"] {
|
|
34
|
-
color: var(--sema-cor-texto);
|
|
35
|
-
}
|
|
33
|
+
return enumeracao.valores.map((valor) => `.sema-select option[value="${valor}"] {
|
|
34
|
+
color: var(--sema-cor-texto);
|
|
35
|
+
}
|
|
36
36
|
`).join("");
|
|
37
37
|
}
|
|
38
|
+
function gerarCabecalhoSemaCss(modulo) {
|
|
39
|
+
return `/* SEMA-GOVERNED
|
|
40
|
+
* Módulo de origem: ${modulo.nome}
|
|
41
|
+
* Consulte o contrato .sema aplicável antes de editar este arquivo.
|
|
42
|
+
* Para IA fraca/média/forte: chame Sema, rode docs-impacto e drift antes de alterar código.
|
|
43
|
+
* Descrição: CSS gerado para materializar o design system do contrato Sema.
|
|
44
|
+
*/
|
|
45
|
+
`;
|
|
46
|
+
}
|
|
38
47
|
export function gerarCss(modulo) {
|
|
39
48
|
const nomeBase = normalizarNomeModulo(modulo.nome).replace(/\./g, "_");
|
|
40
49
|
const entidades = modulo.entities.map(gerarEstilosEntity).join("\n");
|
|
41
50
|
const tasks = modulo.tasks.map(gerarEstilosTask).join("\n");
|
|
42
51
|
const enums = modulo.enums.map(gerarEstilosEnum).join("\n");
|
|
43
|
-
const css =
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
/* ========================================
|
|
52
|
+
const css = `${gerarCabecalhoSemaCss(modulo)}
|
|
53
|
+
|
|
54
|
+
/* ========================================
|
|
47
55
|
Design System — Variaveis
|
|
48
56
|
======================================== */
|
|
49
57
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAE1B,MAAM,eAAe,CAAC;AAEvB,SAAS,kBAAkB,CAAC,MAAM;IAChC,MAAM,IAAI,GAAG,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,6BAA6B,MAAM,CAAC,IAAI;;;CAGhD,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAI;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,yBAAyB,QAAQ;;;;;;;;;;;CAW9E,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAK;IAC9B,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAU;IAClC,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,KAAK;;;CAG7E,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAgB;IACvC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5D,MAAM,GAAG,GAAG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,16 @@ function coletarTiposExternos(modulo) {
|
|
|
29
29
|
}
|
|
30
30
|
return [...referenciados].sort((a, b) => a.localeCompare(b, "pt-BR"));
|
|
31
31
|
}
|
|
32
|
+
function gerarCabecalhoSemaDart(modulo) {
|
|
33
|
+
return [
|
|
34
|
+
"// SEMA-GOVERNED",
|
|
35
|
+
`// Módulo de origem: ${modulo.nome}`,
|
|
36
|
+
"// Consulte o contrato .sema aplicável antes de editar este arquivo.",
|
|
37
|
+
"// Para IA fraca/média/forte: chame Sema, rode docs-impacto e drift antes de alterar código.",
|
|
38
|
+
"// Descrição: artefato Dart gerado para humanos e IAs entenderem rapidamente a intenção do contrato.",
|
|
39
|
+
"",
|
|
40
|
+
].join("\n");
|
|
41
|
+
}
|
|
32
42
|
export function gerarDart(modulo) {
|
|
33
43
|
const nomeBase = normalizarNomeModulo(modulo.nome).replace(/\./g, "_");
|
|
34
44
|
const interops = modulo.interoperabilidades.map((interop) => `// Interop externo ${interop.origem}: ${interop.caminho}`).join("\n");
|
|
@@ -38,7 +48,7 @@ export function gerarDart(modulo) {
|
|
|
38
48
|
const tasks = modulo.tasks.map((task) => `// Task ${task.nome}: input=${task.input.length} output=${task.output.length} effects=${task.efeitosEstruturados.map((efeito) => `${efeito.categoria}:${efeito.alvo}`).join(", ") || "nenhum"} impl=${task.implementacoesExternas.map((impl) => `${impl.origem}:${impl.caminho}[${impl.statusImpl ?? "nao_verificado"}]`).join(", ") || "nenhuma"}`).join("\n");
|
|
39
49
|
const flows = modulo.flows.map((flow) => `// Flow ${flow.nome}: etapas=${flow.etapasEstruturadas.length} tasks=${flow.tasksReferenciadas.join(", ") || "nenhuma"}`).join("\n");
|
|
40
50
|
const routes = modulo.routes.map((route) => `// Route ${route.nome}: metodo=${route.metodo ?? "nao_definido"} caminho=${route.caminho ?? "nao_definido"} task=${route.task ?? "nao_definida"} erros_publicos=${route.errosPublicos.map((erro) => erro.nome).join(", ") || "nenhum"}`).join("\n");
|
|
41
|
-
const codigo =
|
|
51
|
+
const codigo = `${gerarCabecalhoSemaDart(modulo)}${interops ? `${interops}\n` : ""}\n${tiposExternos}\n\n${enums}\n${entidades}\n${tasks}\n${flows}\n${routes}\n`;
|
|
42
52
|
return [{ caminhoRelativo: `${nomeBase}.dart`, conteudo: codigo }];
|
|
43
53
|
}
|
|
44
54
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -112,7 +112,7 @@ ${etapas || ' <li>Nenhuma etapa estruturada.</li>'}
|
|
|
112
112
|
</section>`;
|
|
113
113
|
}
|
|
114
114
|
function gerarRoute(route) {
|
|
115
|
-
return ` <section class="sema-route" data-route="${route.nome}">
|
|
115
|
+
return ` <section class="sema-route" data-route="${route.nome}">
|
|
116
116
|
<h3>Route: ${route.nome}</h3>
|
|
117
117
|
<div class="sema-route-detalhe">
|
|
118
118
|
<span class="sema-route-metodo">${route.metodo ?? "POST"}</span>
|
|
@@ -123,6 +123,15 @@ function gerarRoute(route) {
|
|
|
123
123
|
${route.outputPublico.length > 0 ? `<details class="sema-route-io"><summary>Output publico</summary><ul>${route.outputPublico.map((campo) => `<li>${campo.nome}: ${campo.tipo}</li>`).join("")}</ul></details>` : ""}
|
|
124
124
|
</section>`;
|
|
125
125
|
}
|
|
126
|
+
function gerarCabecalhoSemaHtml(modulo) {
|
|
127
|
+
return `<!--
|
|
128
|
+
SEMA-GOVERNED
|
|
129
|
+
Módulo de origem: ${escaparHtml(modulo.nome)}
|
|
130
|
+
Consulte o contrato .sema aplicável antes de editar este arquivo.
|
|
131
|
+
Para IA fraca/média/forte: chame Sema, rode docs-impacto e drift antes de alterar código.
|
|
132
|
+
Descrição: página HTML gerada para humanos e IAs entenderem rapidamente a intenção do contrato.
|
|
133
|
+
-->`;
|
|
134
|
+
}
|
|
126
135
|
export function gerarHtml(modulo) {
|
|
127
136
|
const nomeBase = normalizarNomeModulo(modulo.nome).replace(/\./g, "_");
|
|
128
137
|
const titulo = modulo.nome.replace(/\./g, " › ");
|
|
@@ -132,12 +141,15 @@ export function gerarHtml(modulo) {
|
|
|
132
141
|
const tasks = modulo.tasks.map(gerarFormularioTask).join("\n\n");
|
|
133
142
|
const flows = modulo.flows.map(gerarFlow).join("\n\n");
|
|
134
143
|
const routes = modulo.routes.map(gerarRoute).join("\n\n");
|
|
135
|
-
const html = `<!DOCTYPE html>
|
|
136
|
-
|
|
137
|
-
<
|
|
138
|
-
|
|
139
|
-
<meta
|
|
140
|
-
<meta name="
|
|
144
|
+
const html = `<!DOCTYPE html>
|
|
145
|
+
${gerarCabecalhoSemaHtml(modulo)}
|
|
146
|
+
<html lang="pt-BR">
|
|
147
|
+
<head>
|
|
148
|
+
<meta charset="UTF-8">
|
|
149
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
150
|
+
<meta name="description" content="Contrato Sema: ${escaparHtml(modulo.nome)}">
|
|
151
|
+
<meta name="sema-governed" content="true">
|
|
152
|
+
<meta name="sema-module" content="${escaparHtml(modulo.nome)}">
|
|
141
153
|
<title>${escaparHtml(titulo)} — Sema</title>
|
|
142
154
|
<link rel="stylesheet" href="${nomeBase}.css">
|
|
143
155
|
</head>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|