@semacode/cli 1.5.55 → 2.0.1
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/README.md +50 -7
- package/dist/agentContext.d.ts +1 -1
- package/dist/agentContext.js +3 -3
- package/dist/agentContextPack.js +33 -92
- package/dist/agentContextTipos.d.ts +6 -9
- package/dist/agentContextTipos.js +5 -4
- package/dist/agentEntryPoints.d.ts +22 -2
- package/dist/agentEntryPoints.js +229 -126
- package/dist/docs.part01.js +1 -1
- package/dist/docs.part02.js +21 -10
- package/dist/doctorCommand.d.ts +4 -4
- package/dist/doctorCommand.js +21 -10
- package/dist/exemplosOficiais.d.ts +10 -0
- package/dist/exemplosOficiais.js +32 -22
- package/dist/fsGovernado.js +8 -6
- package/dist/iaPrompts.d.ts +2 -2
- package/dist/iaPrompts.js +3 -3
- package/dist/index.part01.d.ts +1 -1
- package/dist/index.part01.js +6 -6
- package/dist/index.part02.js +1 -1
- package/dist/index.part03.d.ts +1 -0
- package/dist/index.part03.js +26 -12
- package/dist/index.part04.d.ts +1 -0
- package/dist/index.part04.js +49 -21
- package/dist/index.part05.js +1 -1
- package/dist/index.part06.d.ts +1 -1
- package/dist/index.part06.js +27 -18
- package/dist/index.part07.js +20 -20
- package/dist/index.part08.js +4 -8
- package/dist/initCommand.d.ts +3 -1
- package/dist/initCommand.js +41 -12
- package/dist/initTemplatesBase.js +8 -10
- package/dist/workspaceWrite.d.ts +22 -0
- package/dist/workspaceWrite.js +332 -0
- package/docs/README.md +10 -4
- package/docs/ai-integration.md +31 -12
- package/docs/ai-onboarding.md +43 -14
- package/docs/ai-workflow.md +22 -39
- package/docs/auth.md +13 -3
- package/docs/cli.md +21 -8
- package/docs/commands.md +9 -10
- package/docs/deploy.md +27 -4
- package/docs/documentation.md +2 -2
- package/docs/env.md +3 -1
- package/docs/getting-started.md +27 -3
- package/docs/repositories.md +18 -2
- package/docs/rollback.md +23 -5
- package/docs/security.md +8 -0
- package/docs/syntax.md +8 -9
- package/docs/testing.md +15 -4
- package/docs/vocabulary.md +2 -1
- package/package.json +20 -12
- package/dist/billing/index.d.ts +0 -17
- package/dist/billing/index.js +0 -74
package/README.md
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
# @semacode/cli
|
|
2
2
|
|
|
3
|
-
`@semacode/cli` is the public local CLI for Sema semantic
|
|
3
|
+
`@semacode/cli` is the public Codex-native local CLI for Sema semantic
|
|
4
|
+
governance.
|
|
4
5
|
|
|
5
6
|
It validates `.sema` contracts, checks semantic drift, maps impact, enforces
|
|
6
|
-
documentation gates, generates starter code, and prepares
|
|
7
|
-
|
|
7
|
+
documentation gates, generates starter code, and prepares contract-first
|
|
8
|
+
context for Codex inside a local project folder.
|
|
9
|
+
|
|
10
|
+
Sema is an independent product and is not affiliated with or endorsed by
|
|
11
|
+
OpenAI. Codex-native describes Sema's official product direction, not an
|
|
12
|
+
official OpenAI program, integration, or submission.
|
|
8
13
|
|
|
9
14
|
Official support: [suporte@otimitare.online](mailto:suporte@otimitare.online)
|
|
10
15
|
|
|
@@ -12,19 +17,53 @@ Official support: [suporte@otimitare.online](mailto:suporte@otimitare.online)
|
|
|
12
17
|
|
|
13
18
|
```bash
|
|
14
19
|
npm install -g @semacode/cli
|
|
20
|
+
codex plugin marketplace add gerlanss/Sema
|
|
21
|
+
codex plugin add sema@sema
|
|
15
22
|
```
|
|
16
23
|
|
|
24
|
+
Open a new Codex task in the target repository after installing the plugin.
|
|
25
|
+
Existing tasks do not reload their plugin/skill catalog. Invoke `$sema` in the
|
|
26
|
+
new task; after it creates and reads `AGENTS.md`, later tasks load that workspace
|
|
27
|
+
protocol automatically.
|
|
28
|
+
|
|
17
29
|
## First Run
|
|
18
30
|
|
|
19
31
|
```bash
|
|
20
32
|
sema --version
|
|
21
|
-
sema preflight resumo --json
|
|
22
33
|
sema resumo . --curto
|
|
23
34
|
```
|
|
24
35
|
|
|
25
|
-
Public Sema is local-only. The CLI
|
|
26
|
-
|
|
27
|
-
|
|
36
|
+
Public Sema is local-only. The CLI runs directly without a Sema login, user
|
|
37
|
+
authorization, product-license check, activation key, token, credits, billing
|
|
38
|
+
service, control panel, or external service credentials. The license governs
|
|
39
|
+
use and redistribution; it is not a runtime activation gate.
|
|
40
|
+
|
|
41
|
+
## Codex Setup
|
|
42
|
+
|
|
43
|
+
`AGENTS.md` is the official Sema entrypoint for Codex:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
sema sync-codex --json
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Codex automatically loads `AGENTS.md` as durable repository guidance. See the
|
|
50
|
+
[Codex `AGENTS.md` documentation](https://learn.chatgpt.com/docs/agent-configuration/agents-md).
|
|
51
|
+
|
|
52
|
+
The CLI is the engine and source of truth; `AGENTS.md` is the automatic
|
|
53
|
+
workspace protocol. The Sema skill is required for Codex to bootstrap a project
|
|
54
|
+
that does not have Sema yet. After initialization, the skill delegates to the
|
|
55
|
+
generated `AGENTS.md`. Installing this npm package never writes into
|
|
56
|
+
`CODEX_HOME`; skill installation remains an explicit Codex command.
|
|
57
|
+
|
|
58
|
+
## Codex-Native Architecture
|
|
59
|
+
|
|
60
|
+
- `AGENTS.md` is the only official entrypoint. `sync-codex` changes only valid
|
|
61
|
+
Sema-managed blocks and preserves malformed or manual content for review.
|
|
62
|
+
- Agent Context Pack consumers use schema version 6 and the fields
|
|
63
|
+
`entrypointCodex`, `codexNativo`, and `cliLocalSemAutorizacao`.
|
|
64
|
+
- The Sema Codex skill is required for first contact. It initializes the
|
|
65
|
+
workspace and generates `AGENTS.md`; it does not duplicate the governed
|
|
66
|
+
workflow after that handoff.
|
|
28
67
|
|
|
29
68
|
## Local Workflow
|
|
30
69
|
|
|
@@ -42,6 +81,10 @@ If the project has no `.sema` contract, create one before implementing behavior:
|
|
|
42
81
|
sema iniciar --template base
|
|
43
82
|
```
|
|
44
83
|
|
|
84
|
+
Initialization preserves existing files and rejects symlink or junction
|
|
85
|
+
escapes. Use `--force` only when overwriting the template destinations is an
|
|
86
|
+
explicit human decision; the Codex bootstrap skill never adds it.
|
|
87
|
+
|
|
45
88
|
## Code Generation
|
|
46
89
|
|
|
47
90
|
```bash
|
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: ("
|
|
4
|
+
ordemLeitura: ("AGENTS.md" | "SEMA_BOOT.md" | "SEMA_SMALL_MODEL.md" | "AGENT_CONTEXT_PACK.json" | "SEMA_BRIEF.micro.txt" | "SEMA_BRIEF.curto.txt" | "SEMA_BRIEF.md" | "SEMA_INDEX.json" | "README.md")[];
|
|
5
5
|
porCapacidade: {
|
|
6
6
|
fraca: string[];
|
|
7
7
|
pequena: string[];
|
package/dist/agentContext.js
CHANGED
|
@@ -4,9 +4,9 @@ import { criarAgentContextPack } from './agentContextPack.js';
|
|
|
4
4
|
import { ALIASES_CAPACIDADE_IA, ARQUIVO_AGENT_CONTEXT_PACK, ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, ARQUIVOS_CANONICOS_IA_RAIZ, DOCUMENTOS_SUPORTE_IA, } from './agentContextTipos.js';
|
|
5
5
|
export function criarEntradaCanonicaProjeto(guiaPorCapacidade) {
|
|
6
6
|
const agentContextPack = criarAgentContextPack(guiaPorCapacidade);
|
|
7
|
-
const fraca = [ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL,
|
|
8
|
-
const media = [ARQUIVO_SEMA_BOOT,
|
|
9
|
-
const forte = [ARQUIVO_SEMA_BOOT,
|
|
7
|
+
const fraca = [ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, ARQUIVO_AGENT_CONTEXT_PACK, 'SEMA_BRIEF.micro.txt', 'SEMA_INDEX.json', 'AGENTS.md'];
|
|
8
|
+
const media = [ARQUIVO_SEMA_BOOT, ARQUIVO_AGENT_CONTEXT_PACK, 'SEMA_BRIEF.curto.txt', 'SEMA_INDEX.json', 'AGENTS.md', 'README.md'];
|
|
9
|
+
const forte = [ARQUIVO_SEMA_BOOT, ARQUIVO_AGENT_CONTEXT_PACK, 'SEMA_BRIEF.md', 'SEMA_INDEX.json', 'AGENTS.md', 'README.md'];
|
|
10
10
|
return {
|
|
11
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],
|
package/dist/agentContextPack.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
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
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
|
-
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';
|
|
4
|
+
import { ALIASES_CAPACIDADE_IA, ARQUIVO_AGENT_CONTEXT_PACK, ARQUIVO_DOC_AGENTES_CAPACIDADE, ARQUIVO_ENTRYPOINT_CODEX, ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, EXEMPLOS_OFICIAIS_AGENT_CONTEXT, } from './agentContextTipos.js';
|
|
5
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.",
|
|
9
|
-
artefatos: [ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL,
|
|
10
|
-
ordemLeitura: [ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL,
|
|
9
|
+
artefatos: [ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, ARQUIVO_AGENT_CONTEXT_PACK, "SEMA_BRIEF.micro.txt", "SEMA_INDEX.json", "AGENTS.md"],
|
|
10
|
+
ordemLeitura: [ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, ARQUIVO_AGENT_CONTEXT_PACK, "SEMA_BRIEF.micro.txt", "SEMA_INDEX.json", "AGENTS.md"],
|
|
11
11
|
evitar: ["ast.json", "ir.json", "diagnosticos.json"],
|
|
12
12
|
};
|
|
13
13
|
const media = {
|
|
14
14
|
descricao: "IA média. Aguenta boot, resumo expandido, briefing mínimo, drift e documentação curta.",
|
|
15
|
-
artefatos: [ARQUIVO_SEMA_BOOT,
|
|
16
|
-
ordemLeitura: [ARQUIVO_SEMA_BOOT,
|
|
15
|
+
artefatos: [ARQUIVO_SEMA_BOOT, ARQUIVO_AGENT_CONTEXT_PACK, "SEMA_BRIEF.curto.txt", "SEMA_INDEX.json", "AGENTS.md", "README.md"],
|
|
16
|
+
ordemLeitura: [ARQUIVO_SEMA_BOOT, ARQUIVO_AGENT_CONTEXT_PACK, "SEMA_BRIEF.curto.txt", "SEMA_INDEX.json", "AGENTS.md", "README.md"],
|
|
17
17
|
evitar: ["ast.json"],
|
|
18
18
|
};
|
|
19
19
|
const forte = {
|
|
20
20
|
descricao: "IA forte, com tool use bom e contexto grande. Pode consumir o pacote completo, mas ainda deve começar pelo boot e pelos gates Sema.",
|
|
21
|
-
artefatos: [ARQUIVO_SEMA_BOOT,
|
|
22
|
-
ordemLeitura: [ARQUIVO_SEMA_BOOT,
|
|
23
|
-
evitar: [],
|
|
21
|
+
artefatos: [ARQUIVO_SEMA_BOOT, ARQUIVO_AGENT_CONTEXT_PACK, "SEMA_BRIEF.md", "SEMA_INDEX.json", "AGENTS.md", "README.md"],
|
|
22
|
+
ordemLeitura: [ARQUIVO_SEMA_BOOT, ARQUIVO_AGENT_CONTEXT_PACK, "SEMA_BRIEF.md", "SEMA_INDEX.json", "AGENTS.md", "README.md"],
|
|
23
|
+
evitar: ["ast.json", "ir.json", "drift.json"],
|
|
24
24
|
};
|
|
25
25
|
return {
|
|
26
26
|
fraca,
|
|
@@ -62,7 +62,7 @@ function criarPoliticaCodigoGovernadoAgentContext() {
|
|
|
62
62
|
}
|
|
63
63
|
function criarPoliticaTimeoutResumoAgentContext() {
|
|
64
64
|
return {
|
|
65
|
-
regra: "Timeout definido pelo agente não é falha do Sema. Se `sema resumo`, `inspecionar`, `drift` ou `sync-
|
|
65
|
+
regra: "Timeout definido pelo agente não é falha do Sema. Se `sema resumo`, `inspecionar`, `drift` ou `sync-codex` estourar por timeout local, aumente o timeout e tente de novo com escopo menor quando possível.",
|
|
66
66
|
timeoutInicialSegundos: 120,
|
|
67
67
|
escalonamentoSegundos: [120, 300, 600],
|
|
68
68
|
timeoutDoAgenteNaoEhFalhaSema: true,
|
|
@@ -162,66 +162,14 @@ function criarPoliticaPlataformaAgentContext() {
|
|
|
162
162
|
},
|
|
163
163
|
};
|
|
164
164
|
}
|
|
165
|
-
function criarEntrypointsClientesIa() {
|
|
166
|
-
return [
|
|
167
|
-
{
|
|
168
|
-
cliente: "copilot",
|
|
169
|
-
arquivos: [".github/copilot-instructions.md", "AGENTS.md", ARQUIVO_SEMA_BOOT],
|
|
170
|
-
capacidadePadrao: "media",
|
|
171
|
-
observacao: "VS Code/Copilot deve receber uma instrução curta e repetida no arquivo próprio, sem depender só do AGENTS.md.",
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
cliente: "cline",
|
|
175
|
-
arquivos: [".clinerules/00-sema.md", ".clinerules", ARQUIVO_SEMA_BOOT],
|
|
176
|
-
capacidadePadrao: "fraca",
|
|
177
|
-
observacao: "Cline costuma obedecer melhor quando o gate Sema vem em arquivo curto; se .clinerules for arquivo legado, o Sema atualiza esse fallback.",
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
cliente: "roo",
|
|
181
|
-
arquivos: [".roo/rules/00-sema.md", "AGENTS.md", ARQUIVO_SEMA_BOOT],
|
|
182
|
-
capacidadePadrao: "fraca",
|
|
183
|
-
observacao: "Roo Code deve começar por uma regra dedicada em .roo/rules antes de abrir arquivos longos.",
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
cliente: "opencode",
|
|
187
|
-
arquivos: [".opencode/instructions.md", "AGENTS.md", ARQUIVO_SEMA_BOOT],
|
|
188
|
-
capacidadePadrao: "media",
|
|
189
|
-
observacao: "OpenCode deve receber a mesma regra curta em instructions.md quando a pasta .opencode já existir.",
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
cliente: "cursor",
|
|
193
|
-
arquivos: [".cursor/rules/sema.mdc", "AGENTS.md", ARQUIVO_SEMA_BOOT],
|
|
194
|
-
capacidadePadrao: "media",
|
|
195
|
-
observacao: "Cursor deve receber uma regra curta própria para não depender de leitura completa do AGENTS.md.",
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
cliente: "claude",
|
|
199
|
-
arquivos: [".claude/CLAUDE.md", "AGENTS.md", ARQUIVO_SEMA_BOOT],
|
|
200
|
-
capacidadePadrao: "forte",
|
|
201
|
-
observacao: "Claude costuma seguir gates longos, mas ainda precisa de entrypoint explícito e repetido no workspace.",
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
cliente: "windsurf",
|
|
205
|
-
arquivos: [".windsurf/rules.md", "AGENTS.md", ARQUIVO_SEMA_BOOT],
|
|
206
|
-
capacidadePadrao: "media",
|
|
207
|
-
observacao: "Windsurf deve receber regra curta dedicada para evitar cair direto no código sem Sema.",
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
cliente: "generico",
|
|
211
|
-
arquivos: [ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, ARQUIVO_AGENT_CONTEXT_PACK],
|
|
212
|
-
capacidadePadrao: "fraca",
|
|
213
|
-
observacao: "Qualquer agente sem integração específica começa pelo boot card e só sobe contexto se passar pelos gates.",
|
|
214
|
-
},
|
|
215
|
-
];
|
|
216
|
-
}
|
|
217
165
|
function criarFailClosedAgentContext() {
|
|
218
166
|
return [
|
|
219
167
|
"Se não conseguir chamar Sema, pare e declare bloqueio em vez de editar código ou contrato.",
|
|
220
168
|
"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.",
|
|
221
|
-
"Em
|
|
169
|
+
"Em workspace local, rode sema --version; se falhar, pare e peça a instalação da CLI. Com a CLI disponível, opere diretamente sobre a pasta local e não substitua essa fonte por espelho externo ou inferência.",
|
|
222
170
|
"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
171
|
`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.`,
|
|
224
|
-
"Se for criar ou corrigir .sema,
|
|
172
|
+
"Se for criar ou corrigir .sema, leia `exemplos/`; se a pasta estiver ausente, rode `sema instalar-exemplos --json` antes de escrever sintaxe.",
|
|
225
173
|
"Se a resposta humana estiver em PT-BR, use vocabulário Sema canônico e preserve acentos mesmo que a DSL use ASCII.",
|
|
226
174
|
"Se um arquivo de código tiver SEMA-GOVERNED, consulte Sema e o contrato aplicável antes de editar.",
|
|
227
175
|
`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.`,
|
|
@@ -253,21 +201,13 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
253
201
|
tipo: "entrypoint",
|
|
254
202
|
prioridade: 2,
|
|
255
203
|
obrigatorio: true,
|
|
256
|
-
quandoUsar: "
|
|
204
|
+
quandoUsar: "Codex operando com pouco contexto, tarefa curta ou necessidade de instrução compacta",
|
|
257
205
|
incluirTextoBrutoQuando: "a IA tende a ignorar instruções longas ou copiar a estética ASCII da DSL",
|
|
258
206
|
},
|
|
259
|
-
{
|
|
260
|
-
caminho: "llms.txt",
|
|
261
|
-
tipo: "entrypoint",
|
|
262
|
-
prioridade: 3,
|
|
263
|
-
obrigatorio: true,
|
|
264
|
-
quandoUsar: "sempre no primeiro contato com o projeto",
|
|
265
|
-
incluirTextoBrutoQuando: "a IA precisa de orientação compacta para operar o repositório",
|
|
266
|
-
},
|
|
267
207
|
{
|
|
268
208
|
caminho: ARQUIVO_AGENT_CONTEXT_PACK,
|
|
269
209
|
tipo: "entrypoint",
|
|
270
|
-
prioridade:
|
|
210
|
+
prioridade: 3,
|
|
271
211
|
obrigatorio: true,
|
|
272
212
|
quandoUsar: "sempre antes de decidir quais documentos ou exemplos abrir",
|
|
273
213
|
incluirTextoBrutoQuando: "a IA precisa auditar regras, proibições, prioridades e fontes de verdade",
|
|
@@ -275,7 +215,7 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
275
215
|
{
|
|
276
216
|
caminho: "SEMA_BRIEF.micro.txt",
|
|
277
217
|
tipo: "resumo",
|
|
278
|
-
prioridade:
|
|
218
|
+
prioridade: 4,
|
|
279
219
|
obrigatorio: true,
|
|
280
220
|
quandoUsar: "IA fraca, onboarding, chat remoto ou primeiro triage",
|
|
281
221
|
incluirTextoBrutoQuando: "a tarefa cabe em contexto curto",
|
|
@@ -283,7 +223,7 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
283
223
|
{
|
|
284
224
|
caminho: "SEMA_BRIEF.curto.txt",
|
|
285
225
|
tipo: "resumo",
|
|
286
|
-
prioridade:
|
|
226
|
+
prioridade: 5,
|
|
287
227
|
obrigatorio: true,
|
|
288
228
|
quandoUsar: "IA média, mudança pequena ou review rápido",
|
|
289
229
|
incluirTextoBrutoQuando: "o módulo alvo ainda não está claro pelo micro",
|
|
@@ -291,7 +231,7 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
291
231
|
{
|
|
292
232
|
caminho: "SEMA_INDEX.json",
|
|
293
233
|
tipo: "indice",
|
|
294
|
-
prioridade:
|
|
234
|
+
prioridade: 6,
|
|
295
235
|
obrigatorio: true,
|
|
296
236
|
quandoUsar: "antes de abrir código cru ou escolher contrato alvo",
|
|
297
237
|
incluirTextoBrutoQuando: "a IA precisa mapear módulos, lacunas, riscos ou arquivos prováveis",
|
|
@@ -299,7 +239,7 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
299
239
|
{
|
|
300
240
|
caminho: "AGENTS.md",
|
|
301
241
|
tipo: "operacional",
|
|
302
|
-
prioridade:
|
|
242
|
+
prioridade: 7,
|
|
303
243
|
obrigatorio: true,
|
|
304
244
|
quandoUsar: "antes de editar código, contrato, docs operacionais, release ou deploy",
|
|
305
245
|
incluirTextoBrutoQuando: "a IA precisa confirmar regras locais obrigatórias e prioridades do projeto",
|
|
@@ -307,7 +247,7 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
307
247
|
{
|
|
308
248
|
caminho: "docs/commands.md",
|
|
309
249
|
tipo: "docs",
|
|
310
|
-
prioridade:
|
|
250
|
+
prioridade: 8,
|
|
311
251
|
obrigatorio: true,
|
|
312
252
|
quandoUsar: "antes de escolher comando Sema, interpretar --saida de sema compilar ou destravar Sema Codigo",
|
|
313
253
|
incluirTextoBrutoQuando: "a IA precisa entender comandos, gates, saida gerada e proximo passo governado",
|
|
@@ -315,7 +255,7 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
315
255
|
{
|
|
316
256
|
caminho: "exemplos/",
|
|
317
257
|
tipo: "exemplos",
|
|
318
|
-
prioridade:
|
|
258
|
+
prioridade: 9,
|
|
319
259
|
obrigatorio: true,
|
|
320
260
|
quandoUsar: "antes de criar ou corrigir arquivo .sema, profile, Author, workflow, ops, game, legal ou research",
|
|
321
261
|
incluirTextoBrutoQuando: "a IA vai escrever sintaxe Sema ou comparar um contrato com formato oficial",
|
|
@@ -323,15 +263,15 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
323
263
|
{
|
|
324
264
|
caminho: ARQUIVO_DOC_AGENTES_CAPACIDADE,
|
|
325
265
|
tipo: "docs",
|
|
326
|
-
prioridade:
|
|
266
|
+
prioridade: 10,
|
|
327
267
|
obrigatorio: false,
|
|
328
|
-
quandoUsar: "configurar
|
|
268
|
+
quandoUsar: "configurar o Codex para operar com diferentes capacidades de contexto",
|
|
329
269
|
incluirTextoBrutoQuando: "a IA precisa entender tiers fraca/média/forte e política de idioma",
|
|
330
270
|
},
|
|
331
271
|
{
|
|
332
272
|
caminho: "docs/syntax.md",
|
|
333
273
|
tipo: "docs",
|
|
334
|
-
prioridade:
|
|
274
|
+
prioridade: 11,
|
|
335
275
|
obrigatorio: false,
|
|
336
276
|
quandoUsar: "dúvida de gramática, blocos ou formato do DSL",
|
|
337
277
|
incluirTextoBrutoQuando: "a IA vai editar contrato e os exemplos não bastam",
|
|
@@ -339,7 +279,7 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
339
279
|
{
|
|
340
280
|
caminho: "contratos/",
|
|
341
281
|
tipo: "contrato",
|
|
342
|
-
prioridade:
|
|
282
|
+
prioridade: 12,
|
|
343
283
|
obrigatorio: true,
|
|
344
284
|
quandoUsar: "antes de qualquer implementação ou alteração de comportamento",
|
|
345
285
|
incluirTextoBrutoQuando: "a tarefa toca uma capacidade governada por contrato",
|
|
@@ -347,11 +287,10 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
347
287
|
];
|
|
348
288
|
return {
|
|
349
289
|
nome: "Agent Context Pack",
|
|
350
|
-
versao:
|
|
290
|
+
versao: 6,
|
|
351
291
|
objetivo: "Dar a agentes IA uma entrada curta, estruturada e auditável antes de abrir código cru ou inventar contexto.",
|
|
352
292
|
ordemLeitura: [
|
|
353
293
|
ARQUIVO_SEMA_BOOT,
|
|
354
|
-
"llms.txt",
|
|
355
294
|
ARQUIVO_AGENT_CONTEXT_PACK,
|
|
356
295
|
ARQUIVO_SEMA_SMALL_MODEL,
|
|
357
296
|
"SEMA_BRIEF.micro.txt",
|
|
@@ -364,9 +303,9 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
364
303
|
"Contrato vem antes da ação.",
|
|
365
304
|
"Leia SEMA_BOOT.md antes de qualquer outro artefato de IA.",
|
|
366
305
|
"Leia AGENTS.md antes de editar código, contrato, docs operacionais, release ou deploy.",
|
|
367
|
-
"Leia docs/commands.md antes de escolher comando Sema, interpretar
|
|
368
|
-
"Em
|
|
369
|
-
"Antes de editar,
|
|
306
|
+
"Leia docs/commands.md antes de escolher comando Sema, interpretar um gate ou usar --saida de sema compilar.",
|
|
307
|
+
"Em workspace local, rode sema --version; se falhar, pare e peça a instalação da CLI. Com a CLI disponível, use diretamente sema resumo, docs-impacto, inspecionar, drift e impacto sobre a pasta local.",
|
|
308
|
+
"Antes de editar, rode `sema inspecionar <contrato.sema> --json`, `sema drift <contrato.sema> --escopo modulo --json` e `sema impacto <contrato.sema> --alvo <token> --mudanca \"<descricao>\" --json`.",
|
|
370
309
|
"Use exemplos oficiais antes de criar ou corrigir sintaxe .sema.",
|
|
371
310
|
"Use SEMA_INDEX.json para escolher contrato, módulo e arquivos prováveis antes de abrir código cru.",
|
|
372
311
|
"Valide .sema alterado e rode drift antes de concluir.",
|
|
@@ -388,11 +327,11 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
388
327
|
proibicoes: [
|
|
389
328
|
"Não inventar sintaxe Sema fora da gramática e dos exemplos oficiais.",
|
|
390
329
|
"Não tratar README, texto livre ou código como fonte superior ao contrato.",
|
|
391
|
-
"Não substituir
|
|
330
|
+
"Não substituir os gates da CLI Sema por README.md, busca local, inferência pelo nome do projeto ou bom senso.",
|
|
392
331
|
"Não tratar a pasta --saida de sema compilar como entrega final; entrega são os arquivos alvo/vínculos do contrato.",
|
|
393
332
|
"Não sincronizar segredos, .env, node_modules, builds, caches, uploads ou artefatos privados fora do escopo.",
|
|
394
333
|
"Não publicar, deployar ou remover capacidade sem contrato, drift e verificação.",
|
|
395
|
-
"Não assumir repositório público, GitHub Release pública
|
|
334
|
+
"Não assumir repositório público, GitHub Release pública ou fonte externa de workspace; em ambiente local, prove a CLI com sema --version.",
|
|
396
335
|
"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.",
|
|
397
336
|
"Não remover SEMA-GOVERNED nem substituir drift por comentário dentro do código.",
|
|
398
337
|
"Não copiar o contrato inteiro para comentário de código; mantenha descrição humana curta.",
|
|
@@ -410,7 +349,7 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
410
349
|
],
|
|
411
350
|
prioridades: [
|
|
412
351
|
"Menor artefato suficiente primeiro.",
|
|
413
|
-
"
|
|
352
|
+
"Workspace local: sema --version, resumo, docs-impacto, inspecionar, drift e impacto pela CLI; se sema não existir, pare e peça a instalação da CLI.",
|
|
414
353
|
"Contrato, índice e AGENTS complementam o contexto Sema; não substituem chamada Sema.",
|
|
415
354
|
"Exemplos oficiais antes de nova sintaxe.",
|
|
416
355
|
"Diagnóstico estruturado antes de opinião livre.",
|
|
@@ -434,7 +373,9 @@ export function criarAgentContextPack(guiaPorCapacidade) {
|
|
|
434
373
|
grande: guiaPorCapacidade.grande.ordemLeitura,
|
|
435
374
|
},
|
|
436
375
|
aliasesCapacidade: { ...ALIASES_CAPACIDADE_IA },
|
|
437
|
-
|
|
376
|
+
entrypointCodex: ARQUIVO_ENTRYPOINT_CODEX,
|
|
377
|
+
codexNativo: true,
|
|
378
|
+
cliLocalSemAutorizacao: true,
|
|
438
379
|
politicaIdioma: criarPoliticaIdiomaAgentContext(),
|
|
439
380
|
politicaCodigoGovernado: criarPoliticaCodigoGovernadoAgentContext(),
|
|
440
381
|
politicaTimeoutResumo: criarPoliticaTimeoutResumoAgentContext(),
|
|
@@ -2,7 +2,7 @@ export type CapacidadeIa = "fraca" | "media" | "forte";
|
|
|
2
2
|
export type CapacidadeIaLegada = "pequena" | "grande";
|
|
3
3
|
export type ChaveGuiaCapacidadeIa = CapacidadeIa | CapacidadeIaLegada;
|
|
4
4
|
export type GuiaCapacidadeIaMap = Record<ChaveGuiaCapacidadeIa, GuiaCapacidadeIa>;
|
|
5
|
-
export type TipoFonteAgentContext = "entrypoint" | "resumo" | "indice" | "operacional" | "exemplos" | "docs" | "contrato"
|
|
5
|
+
export type TipoFonteAgentContext = "entrypoint" | "resumo" | "indice" | "operacional" | "exemplos" | "docs" | "contrato";
|
|
6
6
|
export interface GuiaCapacidadeIa {
|
|
7
7
|
descricao: string;
|
|
8
8
|
artefatos: string[];
|
|
@@ -17,12 +17,6 @@ export interface FonteAgentContextPack {
|
|
|
17
17
|
quandoUsar: string;
|
|
18
18
|
incluirTextoBrutoQuando: string;
|
|
19
19
|
}
|
|
20
|
-
export interface EntryPointClienteIa {
|
|
21
|
-
cliente: "copilot" | "cline" | "roo" | "opencode" | "cursor" | "claude" | "windsurf" | "generico";
|
|
22
|
-
arquivos: string[];
|
|
23
|
-
capacidadePadrao: CapacidadeIa;
|
|
24
|
-
observacao: string;
|
|
25
|
-
}
|
|
26
20
|
export interface PoliticaIdiomaAgentContext {
|
|
27
21
|
regra: string;
|
|
28
22
|
idiomaHumanoPadrao: string;
|
|
@@ -75,7 +69,9 @@ export interface AgentContextPack {
|
|
|
75
69
|
textoBrutoSobDemanda: Record<string, string>;
|
|
76
70
|
guiaPorCapacidade: Record<ChaveGuiaCapacidadeIa, string[]>;
|
|
77
71
|
aliasesCapacidade: Record<CapacidadeIaLegada, CapacidadeIa>;
|
|
78
|
-
|
|
72
|
+
entrypointCodex: "AGENTS.md";
|
|
73
|
+
codexNativo: true;
|
|
74
|
+
cliLocalSemAutorizacao: true;
|
|
79
75
|
politicaIdioma: PoliticaIdiomaAgentContext;
|
|
80
76
|
politicaCodigoGovernado: PoliticaCodigoGovernadoAgentContext;
|
|
81
77
|
politicaTimeoutResumo: PoliticaTimeoutResumoAgentContext;
|
|
@@ -86,8 +82,9 @@ export interface AgentContextPack {
|
|
|
86
82
|
export declare const ARQUIVO_SEMA_BOOT = "SEMA_BOOT.md";
|
|
87
83
|
export declare const ARQUIVO_SEMA_SMALL_MODEL = "SEMA_SMALL_MODEL.md";
|
|
88
84
|
export declare const ARQUIVO_AGENT_CONTEXT_PACK = "AGENT_CONTEXT_PACK.json";
|
|
85
|
+
export declare const ARQUIVO_ENTRYPOINT_CODEX = "AGENTS.md";
|
|
89
86
|
export declare const ARQUIVO_DOC_AGENTES_CAPACIDADE = "docs/ai-integration.md";
|
|
90
|
-
export declare const ARQUIVOS_CANONICOS_IA_RAIZ: readonly ["SEMA_BOOT.md", "
|
|
87
|
+
export declare const ARQUIVOS_CANONICOS_IA_RAIZ: readonly ["SEMA_BOOT.md", "AGENT_CONTEXT_PACK.json", "SEMA_SMALL_MODEL.md", "SEMA_BRIEF.micro.txt", "SEMA_BRIEF.curto.txt", "SEMA_BRIEF.md", "SEMA_INDEX.json", "AGENTS.md", "README.md"];
|
|
91
88
|
export declare const CAPACIDADES_IA_OPERACIONAIS: readonly ["fraca", "media", "forte"];
|
|
92
89
|
export declare const ALIASES_CAPACIDADE_IA: Record<CapacidadeIaLegada, CapacidadeIa>;
|
|
93
90
|
export declare const MARCADOR_SEMA_AGENT_ENTRYPOINT_INICIO = "<!-- sema:agent-entrypoint:start -->";
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
// SEMA-GOVERNED: sema.produto.governanca_ia.contexto
|
|
2
|
-
// Descrição: tipos e constantes compartilhadas para entrada IA-first
|
|
2
|
+
// Descrição: tipos e constantes compartilhadas para a entrada IA-first nativa do Codex.
|
|
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_ENTRYPOINT_CODEX = "AGENTS.md";
|
|
6
7
|
export const ARQUIVO_DOC_AGENTES_CAPACIDADE = "docs/ai-integration.md";
|
|
7
8
|
export const ARQUIVOS_CANONICOS_IA_RAIZ = [
|
|
8
9
|
ARQUIVO_SEMA_BOOT,
|
|
9
|
-
"llms.txt",
|
|
10
10
|
ARQUIVO_AGENT_CONTEXT_PACK,
|
|
11
11
|
ARQUIVO_SEMA_SMALL_MODEL,
|
|
12
|
+
"SEMA_BRIEF.micro.txt",
|
|
13
|
+
"SEMA_BRIEF.curto.txt",
|
|
12
14
|
"SEMA_BRIEF.md",
|
|
13
15
|
"SEMA_INDEX.json",
|
|
14
|
-
|
|
16
|
+
ARQUIVO_ENTRYPOINT_CODEX,
|
|
15
17
|
"README.md",
|
|
16
|
-
"llms-full.txt",
|
|
17
18
|
];
|
|
18
19
|
export const CAPACIDADES_IA_OPERACIONAIS = ["fraca", "media", "forte"];
|
|
19
20
|
export const ALIASES_CAPACIDADE_IA = {
|
|
@@ -1,13 +1,33 @@
|
|
|
1
1
|
import { type AgentContextPack } from './agentContextTipos.js';
|
|
2
|
+
export declare function listarDestinosEntrypointCodex(entrypointCodex: string): string[];
|
|
3
|
+
type StatusArquivoGerenciado = "criado" | "atualizado" | "preservado" | "pendente";
|
|
2
4
|
export declare function renderizarSemaBoot(agentContextPack: AgentContextPack): string;
|
|
3
5
|
export declare function renderizarSemaSmallModel(agentContextPack: AgentContextPack): string;
|
|
4
6
|
export declare function renderizarDocumentoAgentesPorCapacidade(agentContextPack: AgentContextPack): string;
|
|
5
|
-
export declare function
|
|
7
|
+
export declare function sincronizarEntrypointCodex(baseProjeto: string, agentContextPack: AgentContextPack): Promise<{
|
|
6
8
|
arquivos: Array<{
|
|
7
9
|
caminho: string;
|
|
8
|
-
status:
|
|
10
|
+
status: StatusArquivoGerenciado;
|
|
9
11
|
}>;
|
|
10
12
|
criados: string[];
|
|
11
13
|
atualizados: string[];
|
|
12
14
|
preservados: string[];
|
|
15
|
+
entrypointCodex: "AGENTS.md";
|
|
16
|
+
codexNativo: true;
|
|
17
|
+
cliLocalSemAutorizacao: true;
|
|
18
|
+
skillBootstrapCodexDocumentada: true;
|
|
19
|
+
idiomaHumanoPreservado: true;
|
|
20
|
+
retryTimeoutProgressivo: true;
|
|
21
|
+
politicaPlataformaExplicita: true;
|
|
22
|
+
politicaSinalVsRitualExplicita: true;
|
|
23
|
+
divisaoPorResponsabilidadeExplicita: true;
|
|
24
|
+
contextoLocalSemEspelho: true;
|
|
25
|
+
destinosEntrypointPrevalidados: true;
|
|
26
|
+
entrypointsLegados: Array<{
|
|
27
|
+
caminho: string;
|
|
28
|
+
status: "removido" | "atualizado" | "preservado" | "pendente";
|
|
29
|
+
}>;
|
|
30
|
+
entrypointsLegadosPendentes: string[];
|
|
31
|
+
entrypointsLegadosLimpos: boolean;
|
|
13
32
|
}>;
|
|
33
|
+
export {};
|