@semacode/cli 1.5.47 → 1.5.52
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/LICENSE +39 -21
- package/README.md +47 -48
- package/dist/agentContext.d.ts +2 -2
- package/dist/agentContext.js +1 -1
- package/dist/agentContextPack.d.ts +1 -1
- package/dist/agentContextPack.js +70 -48
- package/dist/agentContextTipos.d.ts +2 -2
- package/dist/agentContextTipos.js +7 -13
- package/dist/agentEntryPoints.js +311 -271
- package/dist/billing/index.d.ts +1 -58
- package/dist/billing/index.js +17 -278
- package/dist/cliArgs.js +0 -3
- package/dist/comandos.js +15 -131
- package/dist/contexto.d.ts +0 -9
- package/dist/contexto.js +59 -109
- package/dist/docs.part01.js +30 -51
- package/dist/drift.part01.d.ts +1 -1
- package/dist/drift.part04.d.ts +1 -1
- package/dist/drift.part04.js +2 -2
- package/dist/drift.part05.d.ts +3 -3
- package/dist/drift.part05.js +8 -8
- package/dist/drift.part06.js +15 -8
- package/dist/drift.part09.js +11 -7
- package/dist/drift.part14.js +18 -3
- package/dist/driftOrcamento.d.ts +11 -1
- package/dist/driftOrcamento.js +49 -20
- package/dist/index.d.ts +0 -6
- package/dist/index.js +0 -6
- package/dist/index.part01.d.ts +1 -1
- package/dist/index.part01.js +1 -3
- package/dist/index.part02.js +4 -2
- package/dist/index.part04.js +7 -7
- package/dist/index.part08.js +1 -22
- package/dist/initTemplatesBase.js +5 -5
- package/dist/profileArtefatoValidadores.js +42 -0
- package/dist/profileI18nCatalogo.js +2 -0
- package/dist/projetoConfig.js +7 -0
- package/dist/projetoLegado.js +10 -3
- package/dist/sync/index.js +1 -1
- package/dist/tipos.d.ts +1 -1
- package/docs/README.md +19 -0
- package/docs/ai-integration.md +90 -0
- package/docs/ai-onboarding.md +33 -0
- package/docs/ai-workflow.md +62 -0
- package/docs/auth.md +16 -0
- package/docs/cli.md +36 -95
- package/docs/commands.md +90 -0
- package/docs/database.md +15 -0
- package/docs/deploy.md +6 -38
- package/docs/documentation.md +39 -0
- package/docs/env.md +8 -109
- package/docs/frontend.md +41 -0
- package/docs/getting-started.md +33 -0
- package/docs/i18n.md +15 -0
- package/docs/profiles.md +43 -0
- package/docs/repositories.md +19 -61
- package/docs/rollback.md +9 -20
- package/docs/security.md +24 -0
- package/docs/support.md +8 -0
- package/docs/syntax.md +128 -0
- package/docs/testing.md +17 -0
- package/docs/vocabulary.md +28 -0
- package/node_modules/@sema/gerador-css/dist/index.part01.js +1 -0
- package/node_modules/@sema/gerador-css/dist/index.part01.js.map +1 -1
- package/node_modules/@sema/gerador-css/package.json +1 -1
- package/node_modules/@sema/gerador-dart/dist/index.js +1 -0
- package/node_modules/@sema/gerador-dart/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-dart/package.json +1 -1
- package/node_modules/@sema/gerador-html/dist/index.js +1 -0
- package/node_modules/@sema/gerador-html/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-html/package.json +1 -1
- package/node_modules/@sema/gerador-javascript/dist/index.js +1 -0
- package/node_modules/@sema/gerador-javascript/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-javascript/package.json +1 -1
- package/node_modules/@sema/gerador-lua/dist/index.js +11 -0
- package/node_modules/@sema/gerador-lua/dist/index.js.map +1 -1
- package/node_modules/@sema/gerador-lua/package.json +1 -1
- package/node_modules/@sema/gerador-python/dist/index.part02.js +1 -0
- package/node_modules/@sema/gerador-python/dist/index.part02.js.map +1 -1
- package/node_modules/@sema/gerador-python/package.json +1 -1
- package/node_modules/@sema/gerador-typescript/dist/index.part02.js +1 -0
- package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +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/diagnosticos/melhorador.js +1 -1
- package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js +4 -0
- package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.part02.d.ts +1 -1
- package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +3 -3
- package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js +3 -0
- package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.d.ts +2 -2
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js +4 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +1 -1
- package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.d.ts +2 -2
- package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js +11 -5
- package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.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 +15 -22
- package/AGENTS.md +0 -324
- package/AGENT_CONTEXT_PACK.json +0 -470
- package/SEMA_BRIEF.curto.txt +0 -18
- package/SEMA_BRIEF.md +0 -705
- package/SEMA_BRIEF.micro.txt +0 -16
- package/SEMA_INDEX.json +0 -10759
- package/dist/agentContext.js.map +0 -1
- package/dist/agentContextPack.js.map +0 -1
- package/dist/agentContextTipos.js.map +0 -1
- package/dist/agentEntryPoints.js.map +0 -1
- package/dist/angular-consumer-standalone.js.map +0 -1
- package/dist/authorAnalise.js.map +0 -1
- package/dist/authorPoliticas.js.map +0 -1
- package/dist/billing/index.js.map +0 -1
- package/dist/bridge.d.ts +0 -52
- package/dist/bridge.js +0 -333
- package/dist/bridge.js.map +0 -1
- package/dist/carregarModulos.js.map +0 -1
- package/dist/cliArgs.js.map +0 -1
- package/dist/comandos.js.map +0 -1
- package/dist/contexto.js.map +0 -1
- package/dist/controleComercialSupabase.d.ts +0 -7
- package/dist/controleComercialSupabase.js +0 -6
- package/dist/controleComercialSupabase.js.map +0 -1
- package/dist/controleComercialSupabaseAdmin.d.ts +0 -7
- package/dist/controleComercialSupabaseAdmin.js +0 -138
- package/dist/controleComercialSupabaseAdmin.js.map +0 -1
- package/dist/controleComercialSupabaseCadastro.d.ts +0 -4
- package/dist/controleComercialSupabaseCadastro.js +0 -85
- package/dist/controleComercialSupabaseCadastro.js.map +0 -1
- package/dist/controleComercialSupabaseConstantes.d.ts +0 -28
- package/dist/controleComercialSupabaseConstantes.js +0 -44
- package/dist/controleComercialSupabaseConstantes.js.map +0 -1
- package/dist/controleComercialSupabaseConsumo.d.ts +0 -2
- package/dist/controleComercialSupabaseConsumo.js +0 -77
- package/dist/controleComercialSupabaseConsumo.js.map +0 -1
- package/dist/controleComercialSupabaseConta.d.ts +0 -11
- package/dist/controleComercialSupabaseConta.js +0 -157
- package/dist/controleComercialSupabaseConta.js.map +0 -1
- package/dist/controleComercialSupabaseProfiles.d.ts +0 -4
- package/dist/controleComercialSupabaseProfiles.js +0 -55
- package/dist/controleComercialSupabaseProfiles.js.map +0 -1
- package/dist/controleComercialSupabaseTipos.d.ts +0 -3
- package/dist/controleComercialSupabaseTipos.js +0 -2
- package/dist/controleComercialSupabaseTipos.js.map +0 -1
- package/dist/controleComercialSupabaseTiposAdmin.d.ts +0 -152
- package/dist/controleComercialSupabaseTiposAdmin.js +0 -2
- package/dist/controleComercialSupabaseTiposAdmin.js.map +0 -1
- package/dist/controleComercialSupabaseTiposBase.d.ts +0 -169
- package/dist/controleComercialSupabaseTiposBase.js +0 -2
- package/dist/controleComercialSupabaseTiposBase.js.map +0 -1
- package/dist/controleComercialSupabaseTiposConta.d.ts +0 -220
- package/dist/controleComercialSupabaseTiposConta.js +0 -2
- package/dist/controleComercialSupabaseTiposConta.js.map +0 -1
- package/dist/cpp-symbols.js.map +0 -1
- package/dist/dev/index.js.map +0 -1
- package/dist/dev/watcher.js.map +0 -1
- package/dist/docs/resolver.js.map +0 -1
- package/dist/docs.js.map +0 -1
- package/dist/docs.part01.js.map +0 -1
- package/dist/docs.part02.js.map +0 -1
- package/dist/doctorCommand.js.map +0 -1
- package/dist/dotnet-http.js.map +0 -1
- package/dist/drift.contrato.js.map +0 -1
- package/dist/drift.js.map +0 -1
- package/dist/drift.part01.js.map +0 -1
- package/dist/drift.part02.js.map +0 -1
- package/dist/drift.part03.js.map +0 -1
- package/dist/drift.part04.js.map +0 -1
- package/dist/drift.part05.js.map +0 -1
- package/dist/drift.part06.js.map +0 -1
- package/dist/drift.part07.js.map +0 -1
- package/dist/drift.part08.js.map +0 -1
- package/dist/drift.part09.js.map +0 -1
- package/dist/drift.part10.js.map +0 -1
- package/dist/drift.part11.js.map +0 -1
- package/dist/drift.part12.js.map +0 -1
- package/dist/drift.part13.js.map +0 -1
- package/dist/drift.part14.js.map +0 -1
- package/dist/driftOrcamento.js.map +0 -1
- package/dist/driftScore.js.map +0 -1
- package/dist/execucoesExternas.js.map +0 -1
- package/dist/exemplosOficiais.js.map +0 -1
- package/dist/fsGovernado.js.map +0 -1
- package/dist/geracaoCore.js.map +0 -1
- package/dist/go-http.js.map +0 -1
- package/dist/guard.js.map +0 -1
- package/dist/iaPrompts.js.map +0 -1
- package/dist/importador.js.map +0 -1
- package/dist/importador.part01.js.map +0 -1
- package/dist/importador.part02.js.map +0 -1
- package/dist/importador.part03.js.map +0 -1
- package/dist/importador.part04.js.map +0 -1
- package/dist/importador.part05.js.map +0 -1
- package/dist/importador.part06.js.map +0 -1
- package/dist/importador.part07.js.map +0 -1
- package/dist/importador.part08.js.map +0 -1
- package/dist/importador.part09.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.part01.js.map +0 -1
- package/dist/index.part02.js.map +0 -1
- package/dist/index.part03.js.map +0 -1
- package/dist/index.part04.js.map +0 -1
- package/dist/index.part05.js.map +0 -1
- package/dist/index.part06.js.map +0 -1
- package/dist/index.part07.js.map +0 -1
- package/dist/index.part08.js.map +0 -1
- package/dist/init/index.js.map +0 -1
- package/dist/init/templates.js.map +0 -1
- package/dist/init/templates.part01.js.map +0 -1
- package/dist/init/templates.part02.js.map +0 -1
- package/dist/initCommand.js.map +0 -1
- package/dist/initTemplatesBackend.js.map +0 -1
- package/dist/initTemplatesBase.js.map +0 -1
- package/dist/initTemplatesFlutter.js.map +0 -1
- package/dist/initTemplatesRuntime.js.map +0 -1
- package/dist/initTemplatesWeb.js.map +0 -1
- package/dist/java-http.js.map +0 -1
- package/dist/lua-symbols.js.map +0 -1
- package/dist/mcpInstalarChaveCommand.d.ts +0 -1
- package/dist/mcpInstalarChaveCommand.js +0 -168
- package/dist/mcpInstalarChaveCommand.js.map +0 -1
- package/dist/mcpRemoto.d.ts +0 -32
- package/dist/mcpRemoto.js +0 -61
- package/dist/mcpRemoto.js.map +0 -1
- package/dist/mcp_chave.d.ts +0 -1
- package/dist/mcp_chave.js +0 -4
- package/dist/mcp_chave.js.map +0 -1
- package/dist/profileArtefatoBase.js.map +0 -1
- package/dist/profileArtefatoValidadores.js.map +0 -1
- package/dist/profileAuthorCommand.js.map +0 -1
- package/dist/profileAuthorTipos.js.map +0 -1
- package/dist/profileCatalogo.js.map +0 -1
- package/dist/profileCommand.js.map +0 -1
- package/dist/profileI18nCatalogo.js.map +0 -1
- package/dist/profileI18nVisivel.js.map +0 -1
- package/dist/profileOrquestracao.js.map +0 -1
- package/dist/profileRegras.js.map +0 -1
- package/dist/profileRulePacks.js.map +0 -1
- package/dist/profiles/validate.js.map +0 -1
- package/dist/projeto.js.map +0 -1
- package/dist/projetoBusca.js.map +0 -1
- package/dist/projetoCarregar.js.map +0 -1
- package/dist/projetoConfig.js.map +0 -1
- package/dist/projetoLegado.js.map +0 -1
- package/dist/projetoOrigens.js.map +0 -1
- package/dist/projetoResolucao.js.map +0 -1
- package/dist/projetoTipos.js.map +0 -1
- package/dist/python-http.js.map +0 -1
- package/dist/runnerValidacaoRemota.d.ts +0 -9
- package/dist/runnerValidacaoRemota.js +0 -9
- package/dist/runnerValidacaoRemota.js.map +0 -1
- package/dist/runnerValidacaoRemotaBateria.d.ts +0 -10
- package/dist/runnerValidacaoRemotaBateria.js +0 -117
- package/dist/runnerValidacaoRemotaBateria.js.map +0 -1
- package/dist/runnerValidacaoRemotaCli.d.ts +0 -4
- package/dist/runnerValidacaoRemotaCli.js +0 -86
- package/dist/runnerValidacaoRemotaCli.js.map +0 -1
- package/dist/runnerValidacaoRemotaComandos.d.ts +0 -7
- package/dist/runnerValidacaoRemotaComandos.js +0 -123
- package/dist/runnerValidacaoRemotaComandos.js.map +0 -1
- package/dist/runnerValidacaoRemotaEscopo.d.ts +0 -4
- package/dist/runnerValidacaoRemotaEscopo.js +0 -79
- package/dist/runnerValidacaoRemotaEscopo.js.map +0 -1
- package/dist/runnerValidacaoRemotaExecucao.d.ts +0 -2
- package/dist/runnerValidacaoRemotaExecucao.js +0 -104
- package/dist/runnerValidacaoRemotaExecucao.js.map +0 -1
- package/dist/runnerValidacaoRemotaRelatorio.d.ts +0 -3
- package/dist/runnerValidacaoRemotaRelatorio.js +0 -95
- package/dist/runnerValidacaoRemotaRelatorio.js.map +0 -1
- package/dist/runnerValidacaoRemotaServidor.d.ts +0 -4
- package/dist/runnerValidacaoRemotaServidor.js +0 -185
- package/dist/runnerValidacaoRemotaServidor.js.map +0 -1
- package/dist/runnerValidacaoRemotaSnapshot.d.ts +0 -10
- package/dist/runnerValidacaoRemotaSnapshot.js +0 -219
- package/dist/runnerValidacaoRemotaSnapshot.js.map +0 -1
- package/dist/runnerValidacaoRemotaTipos.d.ts +0 -158
- package/dist/runnerValidacaoRemotaTipos.js +0 -35
- package/dist/runnerValidacaoRemotaTipos.js.map +0 -1
- package/dist/runnerValidacaoRemotaUtil.d.ts +0 -3
- package/dist/runnerValidacaoRemotaUtil.js +0 -18
- package/dist/runnerValidacaoRemotaUtil.js.map +0 -1
- package/dist/runnerValidacaoRemotaWorkspace.d.ts +0 -2
- package/dist/runnerValidacaoRemotaWorkspace.js +0 -112
- package/dist/runnerValidacaoRemotaWorkspace.js.map +0 -1
- package/dist/rust-http.js.map +0 -1
- package/dist/semaChatCommand.d.ts +0 -1
- package/dist/semaChatCommand.js +0 -43
- package/dist/semaChatCommand.js.map +0 -1
- package/dist/semaChatRuntime.d.ts +0 -23
- package/dist/semaChatRuntime.js +0 -202
- package/dist/semaChatRuntime.js.map +0 -1
- package/dist/sync/index.js.map +0 -1
- package/dist/textoListas.js.map +0 -1
- package/dist/tipos.js.map +0 -1
- package/dist/typescript-http-body.js.map +0 -1
- package/dist/typescript-http-expressoes.js.map +0 -1
- package/dist/typescript-http-modelos.js.map +0 -1
- package/dist/typescript-http-rotas.js.map +0 -1
- package/dist/typescript-http-semantica.js.map +0 -1
- package/dist/typescript-http.js.map +0 -1
- package/docs/AGENT_STARTER.md +0 -111
- package/docs/agentes-por-capacidade.md +0 -126
- package/docs/api.md +0 -82
- package/docs/comandos.md +0 -702
- package/docs/como-ensinar-a-sema-para-ia.md +0 -30
- package/docs/documentacao.md +0 -74
- package/docs/extensao-vscode.md +0 -49
- package/docs/fluxo-pratico-ia-sema.md +0 -215
- package/docs/instalacao-e-primeiro-uso.md +0 -60
- package/docs/integracao-com-ia.md +0 -44
- package/docs/mcp.md +0 -69
- package/docs/pagamento-ponta-a-ponta.md +0 -171
- package/docs/persistencia-vendor-first.md +0 -151
- package/docs/prompt-base-ia-sema.md +0 -111
- package/docs/seguranca.md +0 -126
- package/docs/sintaxe.md +0 -218
- package/llms-full.txt +0 -40
- package/llms.txt +0 -23
package/LICENSE
CHANGED
|
@@ -1,21 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
Sema Public Non-Commercial License
|
|
2
|
+
Version 1.0
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2026 Sema
|
|
5
|
+
|
|
6
|
+
Official support: suporte@otimitare.online
|
|
7
|
+
|
|
8
|
+
Permission is granted, free of charge, to use, copy, study, modify, and
|
|
9
|
+
distribute this software and its documentation for personal, educational,
|
|
10
|
+
research, internal business, and non-commercial purposes, subject to the terms
|
|
11
|
+
below.
|
|
12
|
+
|
|
13
|
+
You may:
|
|
14
|
+
|
|
15
|
+
1. Use Sema locally as a CLI in your own projects.
|
|
16
|
+
2. Study and modify the source code.
|
|
17
|
+
3. Share unmodified or modified copies for non-commercial purposes.
|
|
18
|
+
4. Publish patches, examples, documentation, and integrations that do not sell
|
|
19
|
+
Sema itself as a product or commercial replacement.
|
|
20
|
+
|
|
21
|
+
You may not, without prior written permission from OtimiTare:
|
|
22
|
+
|
|
23
|
+
1. Sell Sema, a modified Sema, or a substantially similar rebranded copy.
|
|
24
|
+
2. Offer Sema, a modified Sema, or a substantially similar implementation as a
|
|
25
|
+
commercial replica or paid replacement.
|
|
26
|
+
3. Bundle Sema into a paid product in a way that makes Sema itself a material
|
|
27
|
+
commercial feature.
|
|
28
|
+
4. Use Sema's name, marks, documentation, or public repository to imply
|
|
29
|
+
endorsement by Sema or OtimiTare.
|
|
30
|
+
5. Remove this license or the copyright notice from distributed copies.
|
|
31
|
+
|
|
32
|
+
Commercial licensing, resale permission, or commercial replica permission
|
|
33
|
+
requires written approval. Contact suporte@otimitare.online.
|
|
34
|
+
|
|
35
|
+
This software is provided "as is", without warranty of any kind, express or
|
|
36
|
+
implied, including but not limited to warranties of merchantability, fitness for
|
|
37
|
+
a particular purpose, and non-infringement. In no event shall the authors or
|
|
38
|
+
copyright holders be liable for any claim, damages, or other liability arising
|
|
39
|
+
from the software or its use.
|
package/README.md
CHANGED
|
@@ -1,78 +1,77 @@
|
|
|
1
1
|
# @semacode/cli
|
|
2
2
|
|
|
3
|
-
`@semacode/cli`
|
|
3
|
+
`@semacode/cli` is the public local CLI for Sema semantic governance.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
governadas.
|
|
5
|
+
It validates `.sema` contracts, checks semantic drift, maps impact, enforces
|
|
6
|
+
documentation gates, generates starter code, and prepares AI-first context for
|
|
7
|
+
agents working inside a local project folder.
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
Official support: [suporte@otimitare.online](mailto:suporte@otimitare.online)
|
|
10
|
+
|
|
11
|
+
## Install
|
|
11
12
|
|
|
12
13
|
```bash
|
|
13
14
|
npm install -g @semacode/cli
|
|
14
15
|
```
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
não acessa o painel. Se `sema --version` falhar, a IA deve parar e pedir ao
|
|
18
|
-
humano para instalar pelo painel.
|
|
19
|
-
|
|
20
|
-
## Chave Local
|
|
17
|
+
## First Run
|
|
21
18
|
|
|
22
19
|
```bash
|
|
23
|
-
|
|
20
|
+
sema --version
|
|
21
|
+
sema preflight resumo --json
|
|
22
|
+
sema resumo . --curto
|
|
24
23
|
```
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
linha de comando.
|
|
25
|
+
Public Sema is local-only. The CLI does not require external service credentials,
|
|
26
|
+
does not install service keys, and does not contact external services during
|
|
27
|
+
`preflight`.
|
|
30
28
|
|
|
31
|
-
##
|
|
29
|
+
## Local Workflow
|
|
32
30
|
|
|
33
31
|
```bash
|
|
34
|
-
sema --
|
|
35
|
-
sema
|
|
36
|
-
sema
|
|
37
|
-
sema
|
|
38
|
-
sema
|
|
39
|
-
sema drift contratos/pedidos.sema --escopo modulo --json
|
|
40
|
-
sema impacto contratos/pedidos.sema --alvo app.pedidos --mudanca "alterar pedidos" --json
|
|
41
|
-
sema finalizar-mudanca --intencao "alterar pedidos" --doc-lida README.md --json
|
|
32
|
+
sema docs-impacto --intencao "describe the change" --arquivo contratos/app.sema --json
|
|
33
|
+
sema inspecionar contratos/app.sema --json
|
|
34
|
+
sema drift contratos/app.sema --escopo modulo --json
|
|
35
|
+
sema impacto contratos/app.sema --alvo app.modulo --mudanca "describe the change" --json
|
|
36
|
+
sema finalizar-mudanca --intencao "describe the change" --doc-lida README.md --json
|
|
42
37
|
```
|
|
43
38
|
|
|
44
|
-
|
|
45
|
-
não chame MCP remoto, `sema_sync`, `sema_contratos_sincronizar` nem
|
|
46
|
-
`sema mcp-client` só para ler a pasta local.
|
|
47
|
-
|
|
48
|
-
## Geração De Código
|
|
39
|
+
If the project has no `.sema` contract, create one before implementing behavior:
|
|
49
40
|
|
|
50
41
|
```bash
|
|
51
|
-
sema
|
|
52
|
-
sema compilar contratos/pedidos.sema --alvo python --saida .tmp/pedidos-py --estrutura modulos
|
|
42
|
+
sema iniciar --template base
|
|
53
43
|
```
|
|
54
44
|
|
|
55
|
-
|
|
56
|
-
|
|
45
|
+
## Code Generation
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
sema compilar contratos/app.sema --alvo typescript --saida .tmp/app-ts --estrutura modulos
|
|
49
|
+
sema compilar contratos/app.sema --alvo python --saida .tmp/app-py --estrutura modulos
|
|
50
|
+
```
|
|
57
51
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
`nestjs` e `fastapi` podem ser usados quando aplicáveis.
|
|
52
|
+
Generated artifacts include `SEMA-GOVERNED` headers and must stay aligned with
|
|
53
|
+
the source contract.
|
|
61
54
|
|
|
62
|
-
##
|
|
55
|
+
## Validation
|
|
63
56
|
|
|
64
57
|
```bash
|
|
65
|
-
sema validar contratos/
|
|
66
|
-
sema diagnosticos contratos/
|
|
67
|
-
sema testar contratos/
|
|
68
|
-
sema verificar contratos/
|
|
58
|
+
sema validar contratos/app.sema --json
|
|
59
|
+
sema diagnosticos contratos/app.sema --json
|
|
60
|
+
sema testar contratos/app.sema --alvo typescript --saida .tmp/app-tests
|
|
61
|
+
sema verificar contratos/app.sema --saida .tmp/app-check --json
|
|
69
62
|
```
|
|
70
63
|
|
|
71
|
-
##
|
|
64
|
+
## Public Boundary
|
|
65
|
+
|
|
66
|
+
The npm package is for local CLI usage only. It must not contain private or
|
|
67
|
+
sensitive operational material.
|
|
68
|
+
|
|
69
|
+
## Commercial Use
|
|
70
|
+
|
|
71
|
+
Sema is public source for local semantic governance, but commercial resale,
|
|
72
|
+
white-label redistribution, or commercial replicas require written permission
|
|
73
|
+
from OtimiTare.
|
|
72
74
|
|
|
73
|
-
|
|
74
|
-
`--token` ou `SEMA_RUNNER_TOKEN`.
|
|
75
|
+
## Support
|
|
75
76
|
|
|
76
|
-
|
|
77
|
-
isolado. Ele não é desculpa para enviar workspace local inteiro sem filtro nem
|
|
78
|
-
para vazar segredo.
|
|
77
|
+
Use [suporte@otimitare.online](mailto:suporte@otimitare.online) for support.
|
package/dist/agentContext.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type GuiaCapacidadeIaMap } from './agentContextTipos.js';
|
|
2
2
|
export declare function criarEntradaCanonicaProjeto(guiaPorCapacidade: GuiaCapacidadeIaMap): {
|
|
3
3
|
descricao: string;
|
|
4
|
-
ordemLeitura: ("SEMA_BOOT.md" | "
|
|
4
|
+
ordemLeitura: ("SEMA_BOOT.md" | "llms.txt" | "AGENT_CONTEXT_PACK.json" | "SEMA_SMALL_MODEL.md" | "SEMA_BRIEF.md" | "SEMA_INDEX.json" | "AGENTS.md" | "README.md" | "llms-full.txt")[];
|
|
5
5
|
porCapacidade: {
|
|
6
6
|
fraca: string[];
|
|
7
7
|
pequena: string[];
|
|
@@ -13,7 +13,7 @@ export declare function criarEntradaCanonicaProjeto(guiaPorCapacidade: GuiaCapac
|
|
|
13
13
|
pequena: import("./agentContextTipos.js").CapacidadeIa;
|
|
14
14
|
grande: import("./agentContextTipos.js").CapacidadeIa;
|
|
15
15
|
};
|
|
16
|
-
docsSuporte: ("docs/
|
|
16
|
+
docsSuporte: ("docs/ai-integration.md" | "docs/ai-workflow.md" | "docs/ai-onboarding.md" | "docs/syntax.md" | "docs/cli.md" | "docs/commands.md" | "docs/profiles.md" | "docs/testing.md" | "docs/documentation.md" | "docs/deploy.md" | "docs/env.md" | "docs/rollback.md")[];
|
|
17
17
|
agentContextPack: import("./agentContextTipos.js").AgentContextPack;
|
|
18
18
|
guiaPorCapacidade: GuiaCapacidadeIaMap;
|
|
19
19
|
};
|
package/dist/agentContext.js
CHANGED
|
@@ -8,7 +8,7 @@ export function criarEntradaCanonicaProjeto(guiaPorCapacidade) {
|
|
|
8
8
|
const media = [ARQUIVO_SEMA_BOOT, 'llms.txt', ARQUIVO_AGENT_CONTEXT_PACK, 'SEMA_BRIEF.curto.txt', 'SEMA_INDEX.json', 'AGENTS.md', 'README.md'];
|
|
9
9
|
const forte = [ARQUIVO_SEMA_BOOT, 'llms-full.txt', ARQUIVO_AGENT_CONTEXT_PACK, 'SEMA_BRIEF.md', 'SEMA_INDEX.json', 'AGENTS.md', 'README.md'];
|
|
10
10
|
return {
|
|
11
|
-
descricao: 'Entrada
|
|
11
|
+
descricao: 'Entrada canônica do repositório para IA. O repo não é human-first; a IA deve começar por esses artefatos antes de abrir código cru.',
|
|
12
12
|
ordemLeitura: [...ARQUIVOS_CANONICOS_IA_RAIZ],
|
|
13
13
|
porCapacidade: {
|
|
14
14
|
fraca,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type AgentContextPack, type GuiaCapacidadeIaMap } from './agentContextTipos.js';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const LIMITE_CARACTERES_PAYLOAD_INLINE = 262144;
|
|
3
3
|
export declare function criarGuiaCapacidadeIa(): GuiaCapacidadeIaMap;
|
|
4
4
|
export declare function criarAgentContextPack(guiaPorCapacidade: GuiaCapacidadeIaMap): AgentContextPack;
|
package/dist/agentContextPack.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// SEMA-GOVERNED: sema.produto.governanca_ia.contexto
|
|
1
|
+
// SEMA-GOVERNED: sema.produto.governanca_ia.contexto.agent_pack
|
|
2
2
|
// Descrição: monta o Agent Context Pack e políticas que agentes fracos, médios e fortes consomem antes do código.
|
|
3
|
-
import {
|
|
3
|
+
import { LIMITE_AVISO_LINHAS_CODIGO_GOVERNADO, LIMITE_AVISO_LINHAS_CONTRATO_SEMA, LIMITE_BLOQUEIO_LINHAS_CODIGO_GOVERNADO, LIMITE_BLOQUEIO_LINHAS_CONTRATO_SEMA, } from './driftOrcamento.js';
|
|
4
4
|
import { ALIASES_CAPACIDADE_IA, ARQUIVO_AGENT_CONTEXT_PACK, ARQUIVO_DOC_AGENTES_CAPACIDADE, ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, EXEMPLOS_OFICIAIS_AGENT_CONTEXT, } from './agentContextTipos.js';
|
|
5
|
-
export const
|
|
5
|
+
export const LIMITE_CARACTERES_PAYLOAD_INLINE = 262144;
|
|
6
6
|
export function criarGuiaCapacidadeIa() {
|
|
7
7
|
const fraca = {
|
|
8
8
|
descricao: "IA fraca, gratuita, local pequena ou com disciplina baixa. Leia o boot card, pare cedo e chame Sema antes de agir.",
|
|
@@ -42,12 +42,12 @@ function criarPoliticaIdiomaAgentContext() {
|
|
|
42
42
|
function criarPoliticaCodigoGovernadoAgentContext() {
|
|
43
43
|
return {
|
|
44
44
|
marcador: "SEMA-GOVERNED",
|
|
45
|
-
regra: `Arquivos de
|
|
45
|
+
regra: `Arquivos de codigo gerados ou governados pela Sema devem manter cabecalho curto com modulo de origem, contrato .sema aplicavel e descricao humana. Validacao inline prova apenas o payload enviado; o arquivo fisico ainda precisa de SEMA-GOVERNED para orientar a proxima IA. Codigo governado avisa acima de ${LIMITE_AVISO_LINHAS_CODIGO_GOVERNADO} linhas e bloqueia acima de ${LIMITE_BLOQUEIO_LINHAS_CODIGO_GOVERNADO}. Contrato .sema avisa acima de ${LIMITE_AVISO_LINHAS_CONTRATO_SEMA} linhas e bloqueia criacao, edicao, drift, finalizacao, geracao e snapshot acima de ${LIMITE_BLOQUEIO_LINHAS_CONTRATO_SEMA}. O split de .sema deve ser por dominio/capacidade, nunca parte_1/parte_2; varios contratos podem governar o mesmo arquivo de codigo via vinculos. Sema Codigo deve preservar essa rastreabilidade em cabecalhos e saidas geradas. Documentacao Markdown nao entra nesse limite de codigo; continua governada por docs-impacto, limite de bytes e verificacao de segredos. Payload inline acima de ${LIMITE_CARACTERES_PAYLOAD_INLINE} caracteres nao e caso de aumentar timeout: divida por responsabilidade ou use anexo/caminho de servidor autorizado.`,
|
|
46
46
|
descricaoHumana: "O comentário deve orientar humanos e IAs sem duplicar o contrato inteiro dentro do código: diga o que o arquivo implementa, qual contrato governa e onde a próxima IA deve olhar.",
|
|
47
47
|
porCapacidade: {
|
|
48
|
-
fraca: `Se abrir
|
|
49
|
-
media: `Se abrir
|
|
50
|
-
forte: `Se abrir
|
|
48
|
+
fraca: `Se abrir codigo com SEMA-GOVERNED, pare, leia SEMA_SMALL_MODEL.md e chame Sema antes de editar. Nao crie codigo acima de ${LIMITE_BLOQUEIO_LINHAS_CODIGO_GOVERNADO} linhas nem contrato .sema acima de ${LIMITE_BLOQUEIO_LINHAS_CONTRATO_SEMA}; divida .sema por capacidade, nunca em parte_1/parte_2.`,
|
|
49
|
+
media: `Se abrir codigo com SEMA-GOVERNED, rode docs-impacto e drift antes de alterar comportamento. Trate codigo ${LIMITE_AVISO_LINHAS_CODIGO_GOVERNADO}+ e contrato .sema ${LIMITE_AVISO_LINHAS_CONTRATO_SEMA}+ como refatoracao provavel; se o payload inline passar de ${LIMITE_CARACTERES_PAYLOAD_INLINE} caracteres, separe HTML, estilos, estado, renderizacao, calculo e dados antes de sincronizar.`,
|
|
50
|
+
forte: `Se abrir codigo com SEMA-GOVERNED, pode inspecionar AST/IR e codigo completo, mas mantem contrato primeiro, drift, codigo ate ${LIMITE_BLOQUEIO_LINHAS_CODIGO_GOVERNADO}, .sema ate ${LIMITE_BLOQUEIO_LINHAS_CONTRATO_SEMA} e finalizar-mudanca. Contexto grande nao autoriza monolito nem payload inline acima de ${LIMITE_CARACTERES_PAYLOAD_INLINE} caracteres.`,
|
|
51
51
|
},
|
|
52
52
|
formatosPorAlvo: {
|
|
53
53
|
typescript: "// SEMA-GOVERNED",
|
|
@@ -76,9 +76,9 @@ function criarPoliticaTimeoutResumoAgentContext() {
|
|
|
76
76
|
}
|
|
77
77
|
function criarPoliticaDesignVisualAgentContext() {
|
|
78
78
|
return {
|
|
79
|
-
regra: "Quando a tarefa envolve
|
|
79
|
+
regra: "Quando a tarefa envolve site, sistema, app, interface, dashboard, painel, formulário, landing, jogo, terminal, CLI/TUI ou qualquer artefato voltado ao usuário, o Sema governa também acabamento, modernidade e adequação ao domínio. Beleza funcional, identidade, criatividade útil, tecnologia adequada, estados, responsividade e evidência não são extras opcionais.",
|
|
80
80
|
modernoObrigatorio: true,
|
|
81
|
-
aplicarQuando: "site, app, dashboard, painel, admin, onboarding, formulário, modal, jogo, material visual ou qualquer entrega com
|
|
81
|
+
aplicarQuando: "site, sistema, app, dashboard, painel, admin, onboarding, formulário, modal, jogo, material visual, CLI, TUI, terminal, relatório interativo ou qualquer entrega com experiência de uso.",
|
|
82
82
|
proibicoes: [
|
|
83
83
|
"interface_generica_2010",
|
|
84
84
|
"formularios_sem_hierarquia_visual",
|
|
@@ -87,38 +87,59 @@ function criarPoliticaDesignVisualAgentContext() {
|
|
|
87
87
|
"texto_estourando_ou_sobreposto",
|
|
88
88
|
"sem_estados_de_hover_focus_loading_erro_vazio",
|
|
89
89
|
"sem_assets_quando_o_dominio_pede_visual",
|
|
90
|
+
"mesma_estetica_para_dominios_diferentes",
|
|
91
|
+
"painel_agrono_com_cara_de_ecommerce_generico",
|
|
92
|
+
"terminal_sem_hierarquia_status_ou_feedback",
|
|
93
|
+
"ignorar_bibliotecas_atuais_quando_disponiveis",
|
|
94
|
+
"efeitos_gratuitos_sem_proposito",
|
|
90
95
|
"copiar_estetica_do_contrato_para_ui",
|
|
96
|
+
"declarar_responsivo_sem_prova_mobile",
|
|
97
|
+
"fechar_ui_com_scrollwidth_maior_que_clientwidth",
|
|
91
98
|
],
|
|
92
99
|
porCapacidade: {
|
|
93
|
-
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
|
|
94
|
-
media: "Defina intenção
|
|
95
|
-
forte: "Crie direção
|
|
100
|
+
fraca: "Use um padrão moderno seguro e contextual: hierarquia clara, espaçamento consistente, paleta com contraste, componentes coerentes com o domínio, estados básicos, responsivo mobile/desktop e nada de formulário cinza genérico. Em terminal, entregue saída organizada com status e erro claros. Se não conseguir validar o resultado, pare e peça revisão.",
|
|
101
|
+
media: "Defina intenção de experiência antes de codar: público, domínio, workflow real, densidade, tokens, componentes, tecnologia/biblioteca/efeitos adequados, estados, responsividade e anti-2010. O domínio manda na solução: agro, finanças, saúde, game e e-commerce não podem compartilhar a mesma casca. Rode ou peça screenshot/browser check quando houver UI e smoke check quando for terminal.",
|
|
102
|
+
forte: "Crie direção específica e ambiciosa do domínio, use bibliotecas, APIs, assets, microinterações e efeitos atuais quando fizerem sentido, refine o fluxo principal até parecer produto real e faça verificação visual/terminal com evidência. Inovação precisa servir ao uso, não virar enfeite.",
|
|
96
103
|
},
|
|
97
104
|
evidencias: {
|
|
98
105
|
fraca: [
|
|
99
106
|
"descrever padrão visual escolhido",
|
|
107
|
+
"explicar como o domínio aparece na interface ou terminal",
|
|
100
108
|
"confirmar responsividade básica",
|
|
109
|
+
"provar mobile sem overflow horizontal com scrollWidth <= clientWidth",
|
|
101
110
|
"listar estados essenciais",
|
|
102
111
|
],
|
|
103
112
|
media: [
|
|
104
113
|
"registrar tokens e componentes usados",
|
|
114
|
+
"registrar bibliotecas, APIs ou efeitos escolhidos e por que combinam com o pedido",
|
|
105
115
|
"validar desktop e mobile",
|
|
116
|
+
"testar viewport estreito como 390px sem scroll horizontal",
|
|
106
117
|
"corrigir texto sobreposto",
|
|
118
|
+
"rodar smoke check de CLI/TUI quando aplicável",
|
|
107
119
|
],
|
|
108
120
|
forte: [
|
|
109
121
|
"screenshot desktop/mobile",
|
|
122
|
+
"browser check com scrollWidth <= clientWidth em desktop/mobile",
|
|
110
123
|
"verificação de assets e renderização",
|
|
111
124
|
"auditoria de contraste, hierarquia e estado vazio",
|
|
125
|
+
"evidência de fluxo principal polido",
|
|
126
|
+
"evidência de saída terminal com status, erro e ajuda quando aplicável",
|
|
112
127
|
],
|
|
113
128
|
},
|
|
114
129
|
criteriosMinimos: [
|
|
115
130
|
"não parecer template de 2010",
|
|
131
|
+
"não reciclar a mesma estética para domínios diferentes",
|
|
132
|
+
"domínio e público moldam layout, linguagem, componentes e interação",
|
|
116
133
|
"hierarquia visual clara",
|
|
117
134
|
"paleta com contraste e identidade do domínio",
|
|
135
|
+
"tecnologia, biblioteca ou efeito escolhido combina com pedido e stack existente",
|
|
118
136
|
"responsividade mobile e desktop",
|
|
137
|
+
"evidencia mobile sem overflow horizontal (scrollWidth <= clientWidth)",
|
|
119
138
|
"estados de hover, focus, loading, erro e vazio quando aplicáveis",
|
|
120
139
|
"texto sem overlap ou estouro",
|
|
140
|
+
"texto visivel com acentos e cedilha quando o idioma exigir",
|
|
121
141
|
"componentes coerentes com o workflow real",
|
|
142
|
+
"terminal/CLI com hierarquia, status, erro, ajuda e confirmações quando aplicável",
|
|
122
143
|
],
|
|
123
144
|
};
|
|
124
145
|
}
|
|
@@ -197,20 +218,24 @@ function criarFailClosedAgentContext() {
|
|
|
197
218
|
return [
|
|
198
219
|
"Se não conseguir chamar Sema, pare e declare bloqueio em vez de editar código ou contrato.",
|
|
199
220
|
"Se não houver contrato aplicável ou vínculo semântico do arquivo, inspecione o arquivo, descubra ou crie o .sema aplicável e vincule antes do código.",
|
|
200
|
-
"Em IDE local, rode sema --version; se falhar, pare. A IA não acessa o painel Sema: peça ao humano para instalar a CLI pelo painel. Depois rode sema preflight <comando> --json; só continue com use_cli_local; não use
|
|
201
|
-
"
|
|
202
|
-
`Se arquivos_codigo.conteudo ou conteudo inline passar de ${
|
|
221
|
+
"Em IDE local, rode sema --version; se falhar, pare. A IA não acessa o painel Sema: peça ao humano para instalar a CLI pelo painel. Depois rode sema preflight <comando> --json; só continue com use_cli_local; não use fonte externa de workspace para substituir a CLI local.",
|
|
222
|
+
"Se não houver workspace local em disco, pare bloqueado e peça o fluxo apropriado; não invente caminho nem substitua a CLI local por ferramenta paralela.",
|
|
223
|
+
`Se arquivos_codigo.conteudo ou conteudo inline passar de ${LIMITE_CARACTERES_PAYLOAD_INLINE} caracteres, não aumente timeout para forçar: divida por responsabilidade ou use anexo/caminho de servidor autorizado.`,
|
|
203
224
|
"Se for criar ou corrigir .sema, use sema_exemplos antes de escrever sintaxe.",
|
|
204
225
|
"Se a resposta humana estiver em PT-BR, use vocabulário Sema canônico e preserve acentos mesmo que a DSL use ASCII.",
|
|
205
226
|
"Se um arquivo de código tiver SEMA-GOVERNED, consulte Sema e o contrato aplicável antes de editar.",
|
|
206
|
-
`Se
|
|
207
|
-
|
|
227
|
+
`Se codigo governado passar de ${LIMITE_AVISO_LINHAS_CODIGO_GOVERNADO} linhas, planeje divisao; se passar de ${LIMITE_BLOQUEIO_LINHAS_CODIGO_GOVERNADO}, pare e divida antes de concluir. Documentacao Markdown nao entra nesse limite de codigo.`,
|
|
228
|
+
`Se contrato .sema passar de ${LIMITE_AVISO_LINHAS_CONTRATO_SEMA} linhas, planeje split por dominio/capacidade; acima de ${LIMITE_BLOQUEIO_LINHAS_CONTRATO_SEMA}, criacao e edicao ficam bloqueadas. Nao use parte_1/parte_2 e nao remova guarantees, tests ou vinculos so para caber.`,
|
|
229
|
+
"Um mesmo arquivo de codigo pode ser governado por varios contratos .sema via vinculos; Sema Codigo deve preservar essa rastreabilidade.",
|
|
208
230
|
"Se score, achados ou decisaoAgente parecerem bons, trate como sinal de triagem e confira evidência concreta no contrato e no código.",
|
|
209
231
|
"Se validar artefato inline com 100/100, ainda preserve cabeçalho SEMA-GOVERNED no arquivo físico sincronizado.",
|
|
210
|
-
"Se
|
|
232
|
+
"Se `sema drift` retornar sucesso:false, `vinculos_quebrados`, `rotas_divergentes` ou impls quebradas, a mudanca nao pode ser declarada concluida; corrija contrato/codigo e rode drift de novo.",
|
|
233
|
+
"Se a tarefa tiver site, sistema, app, UI, painel, jogo, CLI/TUI ou terminal, nao conclua sem acabamento moderno, contextual e evidenciado; em UI mobile estreita (ex. 390px), `document.documentElement.scrollWidth <= document.documentElement.clientWidth` precisa ser verdadeiro.",
|
|
234
|
+
"Se texto visivel PT-BR perder acento ou cedilha em termos como descricao, lancamentos, saude ou alimentacao, trate como defeito bloqueante quando houver i18n/idioma declarado.",
|
|
235
|
+
"Se aparecer caminho que não pertence ao workspace local aberto pelo usuário, pare e confirme a fonte antes de agir.",
|
|
211
236
|
"Se uma chamada Sema estourar por timeout local, aumente o timeout e tente de novo; timeout do agente não libera ação sem Sema.",
|
|
212
237
|
"Se a plataforma bloquear ou alertar política, trate como bloqueio externo ou falso positivo possível; explique sem tentar contornar filtro.",
|
|
213
|
-
"Se a tarefa tiver
|
|
238
|
+
"Se a tarefa tiver experiência de uso e você não conseguir garantir padrão moderno, contextual e não genérico, pare e peça revisão em vez de entregar coisa engessada.",
|
|
214
239
|
];
|
|
215
240
|
}
|
|
216
241
|
export function criarAgentContextPack(guiaPorCapacidade) {
|
|
@@ -280,7 +305,7 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
280
305
|
incluirTextoBrutoQuando: "a IA precisa confirmar regras locais obrigatórias e prioridades do projeto",
|
|
281
306
|
},
|
|
282
307
|
{
|
|
283
|
-
caminho: "docs/
|
|
308
|
+
caminho: "docs/commands.md",
|
|
284
309
|
tipo: "docs",
|
|
285
310
|
prioridade: 9,
|
|
286
311
|
obrigatorio: true,
|
|
@@ -295,26 +320,18 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
295
320
|
quandoUsar: "antes de criar ou corrigir arquivo .sema, profile, Author, workflow, ops, game, legal ou research",
|
|
296
321
|
incluirTextoBrutoQuando: "a IA vai escrever sintaxe Sema ou comparar um contrato com formato oficial",
|
|
297
322
|
},
|
|
298
|
-
{
|
|
299
|
-
caminho: "docs/AGENT_STARTER.md",
|
|
300
|
-
tipo: "docs",
|
|
301
|
-
prioridade: 11,
|
|
302
|
-
obrigatorio: false,
|
|
303
|
-
quandoUsar: "onboarding de agente novo ou explicação curta do fluxo",
|
|
304
|
-
incluirTextoBrutoQuando: "o agente remoto não conhece Sema ainda",
|
|
305
|
-
},
|
|
306
323
|
{
|
|
307
324
|
caminho: ARQUIVO_DOC_AGENTES_CAPACIDADE,
|
|
308
325
|
tipo: "docs",
|
|
309
|
-
prioridade:
|
|
326
|
+
prioridade: 11,
|
|
310
327
|
obrigatorio: false,
|
|
311
328
|
quandoUsar: "configurar Copilot, Cline, Roo Code, OpenCode ou outro agente com disciplina variável",
|
|
312
329
|
incluirTextoBrutoQuando: "a IA precisa entender tiers fraca/média/forte e política de idioma",
|
|
313
330
|
},
|
|
314
331
|
{
|
|
315
|
-
caminho: "docs/
|
|
332
|
+
caminho: "docs/syntax.md",
|
|
316
333
|
tipo: "docs",
|
|
317
|
-
prioridade:
|
|
334
|
+
prioridade: 12,
|
|
318
335
|
obrigatorio: false,
|
|
319
336
|
quandoUsar: "dúvida de gramática, blocos ou formato do DSL",
|
|
320
337
|
incluirTextoBrutoQuando: "a IA vai editar contrato e os exemplos não bastam",
|
|
@@ -322,7 +339,7 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
322
339
|
{
|
|
323
340
|
caminho: "contratos/",
|
|
324
341
|
tipo: "contrato",
|
|
325
|
-
prioridade:
|
|
342
|
+
prioridade: 13,
|
|
326
343
|
obrigatorio: true,
|
|
327
344
|
quandoUsar: "antes de qualquer implementação ou alteração de comportamento",
|
|
328
345
|
incluirTextoBrutoQuando: "a tarefa toca uma capacidade governada por contrato",
|
|
@@ -340,31 +357,33 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
340
357
|
"SEMA_BRIEF.micro.txt",
|
|
341
358
|
"SEMA_INDEX.json",
|
|
342
359
|
"AGENTS.md",
|
|
343
|
-
"docs/
|
|
360
|
+
"docs/commands.md",
|
|
344
361
|
"exemplos/",
|
|
345
362
|
],
|
|
346
363
|
regrasObrigatorias: [
|
|
347
364
|
"Contrato vem antes da ação.",
|
|
348
365
|
"Leia SEMA_BOOT.md antes de qualquer outro artefato de IA.",
|
|
349
366
|
"Leia AGENTS.md antes de editar código, contrato, docs operacionais, release ou deploy.",
|
|
350
|
-
"Leia docs/
|
|
351
|
-
"Em IDE local, rode sema --version; se falhar, pare. A IA não acessa o painel Sema: peça ao humano para instalar a CLI pelo painel. Depois chame sema preflight <comando> --json e use a CLI somente com use_cli_local; não use
|
|
367
|
+
"Leia docs/commands.md antes de escolher comando Sema, interpretar bloqueio do Guard ou usar --saida de sema compilar.",
|
|
368
|
+
"Em IDE local, rode sema --version; se falhar, pare. A IA não acessa o painel Sema: peça ao humano para instalar a CLI pelo painel. Depois chame sema preflight <comando> --json e use a CLI somente com use_cli_local; não use fonte externa de workspace para substituir a CLI local.",
|
|
352
369
|
"Antes de editar, chame sema_inspecionar no contrato aplicável e rode sema_drift e sema_impacto.",
|
|
353
370
|
"Use exemplos oficiais antes de criar ou corrigir sintaxe .sema.",
|
|
354
371
|
"Use SEMA_INDEX.json para escolher contrato, módulo e arquivos prováveis antes de abrir código cru.",
|
|
355
372
|
"Valide .sema alterado e rode drift antes de concluir.",
|
|
373
|
+
"Conclusao so e valida se `sema drift --json` retornar sucesso:true, sem `vinculos_quebrados`, sem `rotas_divergentes` e sem impls quebradas.",
|
|
356
374
|
"Quando faltar contrato aplicável ou vínculo semântico do arquivo, inspecione o arquivo, crie/edite o contrato aplicável e vincule antes do código.",
|
|
357
375
|
"Sema não contorna políticas da plataforma; ele governa contrato, escopo, drift, evidência e qualidade.",
|
|
358
376
|
"Responda no idioma do usuário; em PT-BR, use vocabulário Sema canônico e preserve acentos, cedilha, pontuação e símbolos humanos.",
|
|
359
377
|
"Use pontuação composta, achados e decisaoAgente como sinais de triagem; abaixo de 80 bloqueia, o alvo evolui 0.5 ponto até 100, e toda pontuação exige contrato, código e evidência.",
|
|
360
378
|
"Mantenha o cabeçalho SEMA-GOVERNED em código gerado ou governado e volte ao contrato antes de editar.",
|
|
361
379
|
"Validação inline não dispensa cabeçalho SEMA-GOVERNED no arquivo físico sincronizado.",
|
|
362
|
-
`Payload inline
|
|
363
|
-
`
|
|
364
|
-
|
|
365
|
-
"
|
|
380
|
+
`Payload inline acima de ${LIMITE_CARACTERES_PAYLOAD_INLINE} caracteres deve ser dividido por responsabilidade ou enviado por transporte autorizado; não é timeout para escalar.`,
|
|
381
|
+
`Nao crie nem conclua codigo governado acima de ${LIMITE_BLOQUEIO_LINHAS_CODIGO_GOVERNADO} linhas; acima de ${LIMITE_AVISO_LINHAS_CODIGO_GOVERNADO}, planeje divisao por responsabilidade. Documentacao Markdown nao entra nesse limite de codigo.`,
|
|
382
|
+
`Nao crie nem edite contrato .sema acima de ${LIMITE_BLOQUEIO_LINHAS_CONTRATO_SEMA} linhas; acima de ${LIMITE_AVISO_LINHAS_CONTRATO_SEMA}, planeje split por dominio/capacidade.`,
|
|
383
|
+
"Divida contratos .sema por capacidade real, nunca parte_1/parte_2; varios contratos podem apontar para o mesmo arquivo de codigo por vinculos.",
|
|
384
|
+
"Caminho fora do workspace local aberto pelo usuário não substitui o checkout local.",
|
|
366
385
|
"Se uma chamada Sema estourar por timeout local, aumente o timeout e tente novamente; não trate lentidão como sessão inativa.",
|
|
367
|
-
"Se a tarefa tiver UI, trate
|
|
386
|
+
"Se a tarefa tiver site, sistema, app, UI, painel, jogo, CLI/TUI ou terminal, trate acabamento moderno, contextual, responsividade real ou ergonomia de comando como requisito governado.",
|
|
368
387
|
],
|
|
369
388
|
proibicoes: [
|
|
370
389
|
"Não inventar sintaxe Sema fora da gramática e dos exemplos oficiais.",
|
|
@@ -373,32 +392,35 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
373
392
|
"Não tratar a pasta --saida de sema compilar como entrega final; entrega são os arquivos alvo/vínculos do contrato.",
|
|
374
393
|
"Não sincronizar segredos, .env, node_modules, builds, caches, uploads ou artefatos privados fora do escopo.",
|
|
375
394
|
"Não publicar, deployar ou remover capacidade sem contrato, drift e verificação.",
|
|
376
|
-
"Não assumir repositório público, GitHub Release pública,
|
|
395
|
+
"Não assumir repositório público, GitHub Release pública, fonte externa de workspace ou acesso da IA ao painel; em IDE local prove CLI com sema --version.",
|
|
377
396
|
"Não usar a estética ASCII da DSL nem inglês de produto como desculpa para fugir do vocabulário Sema em PT-BR.",
|
|
378
397
|
"Não remover SEMA-GOVERNED nem substituir drift por comentário dentro do código.",
|
|
379
398
|
"Não copiar o contrato inteiro para comentário de código; mantenha descrição humana curta.",
|
|
380
|
-
"
|
|
381
|
-
"
|
|
399
|
+
"Nao tratar orcamento semantico como sugestao; codigo governado ou contrato .sema grande deve ser dividido antes de concluir.",
|
|
400
|
+
"Nao fatiar codigo ou contrato grande em partes sem responsabilidade real para passar no limite.",
|
|
382
401
|
"Não tratar score 100, regex ou presença de palavra-chave como prova suficiente de governança; pontuação abaixo do piso ou do alvo evolutivo bloqueia conclusão.",
|
|
402
|
+
"Nao dizer que drift passou limpo quando o JSON trouxe sucesso:false, vinculos_quebrados, rotas_divergentes ou impls quebradas.",
|
|
383
403
|
"Não tratar validação inline como dispensa de cabeçalho SEMA-GOVERNED no arquivo físico.",
|
|
384
|
-
`Não tentar resolver payload inline acima de ${
|
|
385
|
-
`
|
|
404
|
+
`Não tentar resolver payload inline acima de ${LIMITE_CARACTERES_PAYLOAD_INLINE} caracteres aumentando timeout.`,
|
|
405
|
+
`Nao culpar o limite de ${LIMITE_BLOQUEIO_LINHAS_CODIGO_GOVERNADO} linhas para codigo ou ${LIMITE_BLOQUEIO_LINHAS_CONTRATO_SEMA} linhas para .sema por arquitetura monolitica escolhida pela IA.`,
|
|
386
406
|
"Não tratar timeout definido pelo agente como falha do Sema ou permissão para pular gate.",
|
|
387
407
|
"Não usar Sema para contornar política, segurança, permissões, termos ou filtros da plataforma.",
|
|
388
|
-
"Não entregar
|
|
408
|
+
"Não entregar site, app, painel ou terminal genérico, engessado, com cara de template antigo, sem domínio, sem estados ou sem ergonomia real.",
|
|
409
|
+
"Nao declarar UI responsiva sem teste mobile/desktop; scroll horizontal em 390px bloqueia fechamento.",
|
|
389
410
|
],
|
|
390
411
|
prioridades: [
|
|
391
412
|
"Menor artefato suficiente primeiro.",
|
|
392
|
-
"IDE local: sema --version, preflight, resumo, docs-impacto, inspecionar, drift e impacto pela CLI; se sema não existir, pare. A IA não acessa o painel Sema: peça ao humano instalar pelo painel; sem
|
|
413
|
+
"IDE local: sema --version, preflight, resumo, docs-impacto, inspecionar, drift e impacto pela CLI; se sema não existir, pare. A IA não acessa o painel Sema: peça ao humano instalar pelo painel; sem fonte externa de workspace.",
|
|
393
414
|
"Contrato, índice e AGENTS complementam o contexto Sema; não substituem chamada Sema.",
|
|
394
415
|
"Exemplos oficiais antes de nova sintaxe.",
|
|
395
416
|
"Diagnóstico estruturado antes de opinião livre.",
|
|
396
417
|
"Compatibilidade com políticas da plataforma antes de reformular ou continuar após alerta externo.",
|
|
397
418
|
"Sinal sem evidência vira ritual; evidência concreta antes de concluir aderência.",
|
|
398
419
|
"Retry progressivo em timeout antes de declarar bloqueio.",
|
|
420
|
+
"Fechamento honesto: drift JSON verde antes de dizer concluido; sucesso:false, vinculo quebrado ou rota divergente ainda e bloqueio.",
|
|
399
421
|
"Separar limite de transporte inline de lentidão real: payload grande demais exige split/transporte correto, não retry infinito.",
|
|
400
422
|
"Orçamento semântico, divisão por responsabilidade e cabeçalho governado antes de gravar ou finalizar código.",
|
|
401
|
-
"
|
|
423
|
+
"Acabamento visual/terminal por capacidade quando houver experiência de uso, com prova de viewport mobile sem overflow horizontal ou smoke check de comando.",
|
|
402
424
|
"Se risco ou escopo estiver ambíguo, parar e pedir contrato/contexto.",
|
|
403
425
|
],
|
|
404
426
|
fontes,
|
|
@@ -86,11 +86,11 @@ export interface AgentContextPack {
|
|
|
86
86
|
export declare const ARQUIVO_SEMA_BOOT = "SEMA_BOOT.md";
|
|
87
87
|
export declare const ARQUIVO_SEMA_SMALL_MODEL = "SEMA_SMALL_MODEL.md";
|
|
88
88
|
export declare const ARQUIVO_AGENT_CONTEXT_PACK = "AGENT_CONTEXT_PACK.json";
|
|
89
|
-
export declare const ARQUIVO_DOC_AGENTES_CAPACIDADE = "docs/
|
|
89
|
+
export declare const ARQUIVO_DOC_AGENTES_CAPACIDADE = "docs/ai-integration.md";
|
|
90
90
|
export declare const ARQUIVOS_CANONICOS_IA_RAIZ: readonly ["SEMA_BOOT.md", "llms.txt", "AGENT_CONTEXT_PACK.json", "SEMA_SMALL_MODEL.md", "SEMA_BRIEF.md", "SEMA_INDEX.json", "AGENTS.md", "README.md", "llms-full.txt"];
|
|
91
91
|
export declare const CAPACIDADES_IA_OPERACIONAIS: readonly ["fraca", "media", "forte"];
|
|
92
92
|
export declare const ALIASES_CAPACIDADE_IA: Record<CapacidadeIaLegada, CapacidadeIa>;
|
|
93
93
|
export declare const MARCADOR_SEMA_AGENT_ENTRYPOINT_INICIO = "<!-- sema:agent-entrypoint:start -->";
|
|
94
94
|
export declare const MARCADOR_SEMA_AGENT_ENTRYPOINT_FIM = "<!-- sema:agent-entrypoint:end -->";
|
|
95
|
-
export declare const DOCUMENTOS_SUPORTE_IA: readonly ["docs/
|
|
95
|
+
export declare const DOCUMENTOS_SUPORTE_IA: readonly ["docs/ai-integration.md", "docs/ai-workflow.md", "docs/ai-onboarding.md", "docs/syntax.md", "docs/cli.md", "docs/commands.md", "docs/profiles.md", "docs/testing.md", "docs/documentation.md", "docs/deploy.md", "docs/env.md", "docs/rollback.md"];
|
|
96
96
|
export declare const EXEMPLOS_OFICIAIS_AGENT_CONTEXT: readonly ["exemplos/calculadora.sema", "exemplos/pagamento.sema", "exemplos/profile_software.sema", "exemplos/profile_workflow_n8n.sema", "exemplos/profile_ops.sema", "exemplos/profile_game.sema", "exemplos/profile_legal.sema", "exemplos/profile_research.sema", "exemplos/author_obra_comum.sema"];
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
export const ARQUIVO_SEMA_BOOT = "SEMA_BOOT.md";
|
|
4
4
|
export const ARQUIVO_SEMA_SMALL_MODEL = "SEMA_SMALL_MODEL.md";
|
|
5
5
|
export const ARQUIVO_AGENT_CONTEXT_PACK = "AGENT_CONTEXT_PACK.json";
|
|
6
|
-
export const ARQUIVO_DOC_AGENTES_CAPACIDADE = "docs/
|
|
6
|
+
export const ARQUIVO_DOC_AGENTES_CAPACIDADE = "docs/ai-integration.md";
|
|
7
7
|
export const ARQUIVOS_CANONICOS_IA_RAIZ = [
|
|
8
8
|
ARQUIVO_SEMA_BOOT,
|
|
9
9
|
"llms.txt",
|
|
@@ -24,23 +24,17 @@ export const MARCADOR_SEMA_AGENT_ENTRYPOINT_INICIO = "<!-- sema:agent-entrypoint
|
|
|
24
24
|
export const MARCADOR_SEMA_AGENT_ENTRYPOINT_FIM = "<!-- sema:agent-entrypoint:end -->";
|
|
25
25
|
export const DOCUMENTOS_SUPORTE_IA = [
|
|
26
26
|
ARQUIVO_DOC_AGENTES_CAPACIDADE,
|
|
27
|
-
"docs/
|
|
28
|
-
"docs/
|
|
29
|
-
"docs/
|
|
30
|
-
"docs/como-ensinar-a-sema-para-ia.md",
|
|
31
|
-
"docs/persistencia-vendor-first.md",
|
|
32
|
-
"docs/sintaxe.md",
|
|
27
|
+
"docs/ai-workflow.md",
|
|
28
|
+
"docs/ai-onboarding.md",
|
|
29
|
+
"docs/syntax.md",
|
|
33
30
|
"docs/cli.md",
|
|
34
|
-
"docs/
|
|
35
|
-
"docs/mcp.md",
|
|
31
|
+
"docs/commands.md",
|
|
36
32
|
"docs/profiles.md",
|
|
37
|
-
"docs/
|
|
38
|
-
"docs/
|
|
39
|
-
"docs/documentacao.md",
|
|
33
|
+
"docs/testing.md",
|
|
34
|
+
"docs/documentation.md",
|
|
40
35
|
"docs/deploy.md",
|
|
41
36
|
"docs/env.md",
|
|
42
37
|
"docs/rollback.md",
|
|
43
|
-
"docs/extensao-vscode.md",
|
|
44
38
|
];
|
|
45
39
|
export const EXEMPLOS_OFICIAIS_AGENT_CONTEXT = [
|
|
46
40
|
"exemplos/calculadora.sema",
|