@semacode/cli 2.0.0 → 2.1.0
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 -39
- package/README.md +125 -121
- package/dist/agentEntryPoints.js +499 -499
- package/dist/doctorCommand.js +28 -0
- package/dist/geracaoCore.js +97 -1
- package/dist/iaPrompts.d.ts +1 -1
- package/dist/iaPrompts.js +307 -307
- package/dist/index.part01.js +4 -3
- package/dist/index.part02.js +21 -21
- package/dist/index.part04.js +96 -96
- package/dist/index.part06.js +1 -1
- package/dist/index.part07.js +35 -24
- package/dist/init/templates.part01.js +393 -393
- package/dist/init/templates.part02.js +189 -189
- package/dist/initTemplatesBackend.js +73 -73
- package/dist/initTemplatesBase.js +81 -81
- package/dist/initTemplatesFlutter.js +137 -137
- package/dist/initTemplatesRuntime.js +350 -350
- package/dist/initTemplatesWeb.js +309 -309
- package/dist/nativeToolchains.d.ts +15 -0
- package/dist/nativeToolchains.js +132 -0
- package/dist/projetoConfig.js +7 -1
- package/dist/projetoResolucao.js +21 -6
- package/dist/sync/index.js +35 -35
- package/docs/README.md +25 -25
- package/docs/ai-onboarding.md +62 -62
- package/docs/ai-workflow.md +1 -1
- package/docs/auth.md +26 -26
- package/docs/cli.md +79 -72
- package/docs/commands.md +1 -1
- package/docs/database.md +15 -15
- package/docs/deploy.md +41 -36
- package/docs/documentation.md +39 -39
- package/docs/env.md +16 -16
- package/docs/frontend.md +41 -41
- package/docs/getting-started.md +57 -57
- package/docs/i18n.md +15 -15
- package/docs/profiles.md +45 -43
- package/docs/repositories.md +43 -43
- package/docs/rollback.md +31 -31
- package/docs/security.md +32 -32
- package/docs/support.md +8 -8
- package/docs/syntax.md +1 -1
- package/docs/testing.md +35 -28
- package/docs/vocabulary.md +29 -29
- package/exemplos/agendamento.sema +1 -1
- package/exemplos/assinatura.sema +1 -1
- package/exemplos/auditoria.sema +1 -1
- package/exemplos/autenticacao.sema +1 -1
- package/exemplos/author_obra_comum.sema +1 -1
- package/exemplos/author_tema_sensivel.sema +1 -1
- package/exemplos/automacao.sema +1 -1
- package/exemplos/cadastro_usuario.sema +1 -1
- package/exemplos/calculadora.sema +1 -1
- package/exemplos/crud_simples.sema +1 -1
- package/exemplos/estoque.sema +1 -1
- package/exemplos/exportacao.sema +1 -1
- package/exemplos/fila.sema +1 -1
- package/exemplos/integracao_externa.sema +1 -1
- package/exemplos/multi_tenant.sema +1 -1
- package/exemplos/notificacao.sema +1 -1
- package/exemplos/operacao_estrategia.sema +132 -132
- package/exemplos/operacao_estrategia_discovery.sema +220 -220
- package/exemplos/operacao_estrategia_fluxo.sema +114 -114
- package/exemplos/operacao_estrategia_gates.sema +106 -106
- package/exemplos/operacao_estrategia_quarentena.sema +133 -133
- package/exemplos/operacao_estrategia_rollout.sema +124 -124
- package/exemplos/pagamento.sema +1 -1
- package/exemplos/pagamento_dominio.sema +1 -1
- package/exemplos/pedido.sema +1 -1
- package/exemplos/permissao.sema +1 -1
- package/exemplos/persistencia_vendor_first.sema +1 -1
- package/exemplos/profile_conversas.sema +165 -165
- package/exemplos/profile_game.sema +1 -1
- package/exemplos/profile_legal.sema +1 -1
- package/exemplos/profile_ops.sema +1 -1
- package/exemplos/profile_research.sema +1 -1
- package/exemplos/profile_software.sema +1 -1
- package/exemplos/profile_workflow_n8n.sema +1 -1
- package/exemplos/relatorio.sema +1 -1
- package/exemplos/replica_analitica_erp.sema +1 -1
- package/exemplos/testes_embutidos.sema +1 -1
- package/exemplos/tratamento_erro.sema +1 -1
- package/exemplos/upload_arquivo.sema +1 -1
- package/exemplos/webhook.sema +1 -1
- package/node_modules/@sema/gerador-cpp/dist/index.d.ts +3 -0
- package/node_modules/@sema/gerador-cpp/dist/index.js +859 -0
- package/node_modules/@sema/gerador-cpp/dist/index.js.map +1 -0
- package/node_modules/@sema/gerador-cpp/package.json +7 -0
- package/node_modules/@sema/gerador-css/dist/index.part01.js +10 -10
- package/node_modules/@sema/gerador-css/dist/index.part02.js +460 -460
- package/node_modules/@sema/gerador-dotnet/dist/index.d.ts +3 -0
- package/node_modules/@sema/gerador-dotnet/dist/index.js +828 -0
- package/node_modules/@sema/gerador-dotnet/dist/index.js.map +1 -0
- package/node_modules/@sema/gerador-dotnet/package.json +7 -0
- package/node_modules/@sema/gerador-html/dist/index.js +17 -17
- package/node_modules/@sema/gerador-lua/dist/index.js +5 -5
- package/node_modules/@sema/gerador-php/dist/index.js +113 -113
- package/node_modules/@sema/gerador-python/dist/index.part02.js +3 -3
- package/node_modules/@sema/gerador-typescript/dist/index.part02.js +11 -11
- package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +42 -42
- package/node_modules/@sema/padroes/dist/index.d.ts +1 -1
- package/package.json +5 -1
package/dist/index.part02.js
CHANGED
|
@@ -320,27 +320,27 @@ export function criarBriefingMinimo(resumo, modo, tamanho) {
|
|
|
320
320
|
}
|
|
321
321
|
export function criarPromptCurtoModulo(resumo, modo, tamanho, capacidade) {
|
|
322
322
|
const resumoTexto = renderizarResumoModuloTexto(resumo, tamanho, modo).trim();
|
|
323
|
-
return `Você está operando Sema em modo IA-first.
|
|
324
|
-
|
|
325
|
-
Esta linguagem existe para traduzir intenção operacional em contrato consumível por IA. Humanos aprovam; agentes operam.
|
|
326
|
-
|
|
327
|
-
Capacidade alvo: ${capacidade}
|
|
328
|
-
Modo da tarefa: ${modo}
|
|
329
|
-
|
|
330
|
-
Regras:
|
|
331
|
-
- não invente sintaxe nem bloco fora da gramática oficial
|
|
332
|
-
- preserve a intenção do contrato
|
|
333
|
-
- use este resumo como fonte compacta inicial
|
|
334
|
-
- se a tarefa pedir mais contexto, rode \`sema contexto-ia <arquivo.sema> --saida <diretorio> --json\` e então abra \`briefing.min.json\`, \`drift.json\` e \`ir.json\` nessa saída
|
|
335
|
-
- não saia editando software vivo sem olhar risco, lacuna e checks sugeridos
|
|
336
|
-
- se abrir código com \`SEMA-GOVERNED\`, volte ao contrato e chame Sema antes de editar
|
|
337
|
-
- não crie nem conclua código governado acima de ${LIMITE_BLOQUEIO_LINHAS_CODIGO_GOVERNADO} linhas; acima de ${LIMITE_AVISO_LINHAS_CODIGO_GOVERNADO}, planeje divisão; documentação Markdown não entra nesse limite de código
|
|
338
|
-
- não crie nem edite contrato .sema acima de ${LIMITE_BLOQUEIO_LINHAS_CONTRATO_SEMA} linhas; acima de ${LIMITE_AVISO_LINHAS_CONTRATO_SEMA}, planeje split por domínio/capacidade, nunca parte_1/parte_2
|
|
339
|
-
- vários contratos .sema podem governar o mesmo arquivo por vinculos; Sema Código deve preservar essa rastreabilidade
|
|
340
|
-
${resumo.consumerFramework ? "- se for tarefa visual consumer, priorize `appRoutes`, `consumerSurfaces` e `consumerBridges` antes de abrir arquivos aleatórios" : ""}
|
|
341
|
-
|
|
342
|
-
Contexto compacto:
|
|
343
|
-
${resumoTexto}
|
|
323
|
+
return `Você está operando Sema em modo IA-first.
|
|
324
|
+
|
|
325
|
+
Esta linguagem existe para traduzir intenção operacional em contrato consumível por IA. Humanos aprovam; agentes operam.
|
|
326
|
+
|
|
327
|
+
Capacidade alvo: ${capacidade}
|
|
328
|
+
Modo da tarefa: ${modo}
|
|
329
|
+
|
|
330
|
+
Regras:
|
|
331
|
+
- não invente sintaxe nem bloco fora da gramática oficial
|
|
332
|
+
- preserve a intenção do contrato
|
|
333
|
+
- use este resumo como fonte compacta inicial
|
|
334
|
+
- se a tarefa pedir mais contexto, rode \`sema contexto-ia <arquivo.sema> --saida <diretorio> --json\` e então abra \`briefing.min.json\`, \`drift.json\` e \`ir.json\` nessa saída
|
|
335
|
+
- não saia editando software vivo sem olhar risco, lacuna e checks sugeridos
|
|
336
|
+
- se abrir código com \`SEMA-GOVERNED\`, volte ao contrato e chame Sema antes de editar
|
|
337
|
+
- não crie nem conclua código governado acima de ${LIMITE_BLOQUEIO_LINHAS_CODIGO_GOVERNADO} linhas; acima de ${LIMITE_AVISO_LINHAS_CODIGO_GOVERNADO}, planeje divisão; documentação Markdown não entra nesse limite de código
|
|
338
|
+
- não crie nem edite contrato .sema acima de ${LIMITE_BLOQUEIO_LINHAS_CONTRATO_SEMA} linhas; acima de ${LIMITE_AVISO_LINHAS_CONTRATO_SEMA}, planeje split por domínio/capacidade, nunca parte_1/parte_2
|
|
339
|
+
- vários contratos .sema podem governar o mesmo arquivo por vinculos; Sema Código deve preservar essa rastreabilidade
|
|
340
|
+
${resumo.consumerFramework ? "- se for tarefa visual consumer, priorize `appRoutes`, `consumerSurfaces` e `consumerBridges` antes de abrir arquivos aleatórios" : ""}
|
|
341
|
+
|
|
342
|
+
Contexto compacto:
|
|
343
|
+
${resumoTexto}
|
|
344
344
|
`;
|
|
345
345
|
}
|
|
346
346
|
//# sourceMappingURL=index.part02.js.map
|
package/dist/index.part04.js
CHANGED
|
@@ -206,102 +206,102 @@ export async function gerarContextoIa(arquivoEntrada, pastaSaidaOpcional) {
|
|
|
206
206
|
await escreverArquivoWorkspaceSeguro(pastaBase, artefato.caminhoRelativo, artefato.conteudo, { sobrescrever: true });
|
|
207
207
|
}
|
|
208
208
|
const resumoGerado = await gerarArquivosResumoModuloIa(contexto, pastaBase);
|
|
209
|
-
const resumo = `# Contexto de IA para ${contexto.modulo}
|
|
210
|
-
|
|
211
|
-
- Arquivo alvo: \`${contexto.arquivo}\`
|
|
212
|
-
- Modulo: \`${contexto.modulo}\`
|
|
213
|
-
- Sucesso em validar: \`${contexto.sucesso}\`
|
|
214
|
-
- Quantidade de diagnosticos: \`${contexto.diagnosticos.length}\`
|
|
215
|
-
- Gerado em: \`${contexto.geradoEm}\`
|
|
216
|
-
|
|
217
|
-
## Arquivos gerados neste pacote
|
|
218
|
-
|
|
219
|
-
- \`agent-context-pack.json\`
|
|
220
|
-
- \`${ARQUIVO_SEMA_BOOT}\`
|
|
221
|
-
- \`${ARQUIVO_SEMA_SMALL_MODEL}\`
|
|
222
|
-
- \`resumo.micro.txt\`
|
|
223
|
-
- \`resumo.curto.txt\`
|
|
224
|
-
- \`resumo.md\`
|
|
225
|
-
- \`briefing.min.json\`
|
|
226
|
-
- \`prompt-curto.txt\`
|
|
227
|
-
- \`validar.json\`
|
|
228
|
-
- \`diagnosticos.json\`
|
|
229
|
-
- \`ast.json\`
|
|
230
|
-
- \`ir.json\`
|
|
231
|
-
- \`drift.json\`
|
|
232
|
-
- \`briefing.json\`
|
|
233
|
-
|
|
234
|
-
## Fluxo recomendado para o agente
|
|
235
|
-
|
|
236
|
-
Antes de escolher arquivo de código, leia \`${ARQUIVO_SEMA_BOOT}\` e \`agent-context-pack.json\`. Eles declaram regras obrigatórias, proibições, prioridades, idioma humano e quando abrir texto bruto como \`AGENTS.md\`, \`exemplos/\`, docs e contratos.
|
|
237
|
-
|
|
238
|
-
## Políticas da plataforma
|
|
239
|
-
|
|
240
|
-
- Sema governa contrato, escopo, drift, evidência e qualidade; não contorna políticas, termos, permissões, segurança ou leis.
|
|
241
|
-
- Se houver alerta externo, trate como bloqueio da plataforma ou falso positivo possível, explique de forma neutra e não tente burlar filtro.
|
|
242
|
-
|
|
243
|
-
### IA fraca, gratuita ou com pouca disciplina
|
|
244
|
-
|
|
245
|
-
1. Ler \`${ARQUIVO_SEMA_BOOT}\`.
|
|
246
|
-
2. Ler \`${ARQUIVO_SEMA_SMALL_MODEL}\`.
|
|
247
|
-
3. Ler \`agent-context-pack.json\`.
|
|
248
|
-
4. Ler \`resumo.micro.txt\`.
|
|
249
|
-
5. Ler \`briefing.min.json\`.
|
|
250
|
-
6. Se ainda couber contexto, ler \`resumo.curto.txt\`.
|
|
251
|
-
|
|
252
|
-
### IA média
|
|
253
|
-
|
|
254
|
-
1. Ler \`${ARQUIVO_SEMA_BOOT}\`.
|
|
255
|
-
2. Ler \`agent-context-pack.json\`.
|
|
256
|
-
3. Ler \`resumo.curto.txt\`.
|
|
257
|
-
4. Ler \`briefing.min.json\`.
|
|
258
|
-
5. Ler \`drift.json\`.
|
|
259
|
-
6. Se precisar, subir para \`resumo.md\`.
|
|
260
|
-
|
|
261
|
-
### IA forte ou com tool use
|
|
262
|
-
|
|
263
|
-
1. Ler \`${ARQUIVO_SEMA_BOOT}\`.
|
|
264
|
-
2. Ler \`agent-context-pack.json\`.
|
|
265
|
-
3. Ler \`README.md\`.
|
|
266
|
-
4. Ler \`resumo.md\`.
|
|
267
|
-
5. Ler \`briefing.json\`.
|
|
268
|
-
6. Ler \`drift.json\`.
|
|
269
|
-
7. Só depois abrir \`ir.json\` e \`ast.json\`.
|
|
270
|
-
|
|
271
|
-
## Idioma humano
|
|
272
|
-
|
|
273
|
-
- Responda no idioma do usuário.
|
|
274
|
-
- Em PT-BR, use acentos, cedilha, pontuação e símbolos normais.
|
|
275
|
-
- A DSL \`.sema\` pode ser ASCII; texto humano não precisa ser.
|
|
276
|
-
|
|
277
|
-
## Texto bruto sob demanda
|
|
278
|
-
|
|
279
|
-
- Abra \`AGENTS.md\` antes de editar código, contrato, docs operacionais, release ou deploy.
|
|
280
|
-
- Abra \`exemplos/\` antes de criar ou corrigir sintaxe \`.sema\`.
|
|
281
|
-
- Abra \`docs/syntax.md\` quando exemplos não bastarem para resolver a gramática.
|
|
282
|
-
- Abra \`contratos/\` antes de qualquer implementação ou mudança de comportamento.
|
|
283
|
-
|
|
284
|
-
## Timeout e retry
|
|
285
|
-
|
|
286
|
-
- Timeout local do agente não é falha do Sema.
|
|
287
|
-
- Se uma chamada Sema estourar, aumente o timeout e tente de novo.
|
|
288
|
-
- Se o projeto inteiro for lento, escopar para \`sema resumo "${contexto.arquivo}" --micro --para mudanca\`.
|
|
289
|
-
- Se o ambiente impedir continuar, pare bloqueado e não avance com código sem Sema.
|
|
290
|
-
|
|
291
|
-
## Fechamento
|
|
292
|
-
|
|
293
|
-
1. Editar o arquivo \`.sema\`.
|
|
294
|
-
2. Rodar \`sema formatar "${contexto.arquivo}"\`.
|
|
295
|
-
3. Rodar \`sema validar "${contexto.arquivo}" --json\`.
|
|
296
|
-
4. Rodar \`sema drift "${contexto.arquivo}" --json\`.
|
|
297
|
-
5. Fechar com \`sema verificar <arquivo-ou-pasta> --json --saida ./.tmp/verificacao-ia\`.
|
|
298
|
-
|
|
299
|
-
## Textos base para onboarding do agente
|
|
300
|
-
|
|
301
|
-
- \`sema starter-ia\`
|
|
302
|
-
- \`sema resumo "${contexto.arquivo}" --micro --para onboarding\`
|
|
303
|
-
- \`sema prompt-curto "${contexto.arquivo}" --para mudanca\`
|
|
304
|
-
- \`sema prompt-ia\`
|
|
209
|
+
const resumo = `# Contexto de IA para ${contexto.modulo}
|
|
210
|
+
|
|
211
|
+
- Arquivo alvo: \`${contexto.arquivo}\`
|
|
212
|
+
- Modulo: \`${contexto.modulo}\`
|
|
213
|
+
- Sucesso em validar: \`${contexto.sucesso}\`
|
|
214
|
+
- Quantidade de diagnosticos: \`${contexto.diagnosticos.length}\`
|
|
215
|
+
- Gerado em: \`${contexto.geradoEm}\`
|
|
216
|
+
|
|
217
|
+
## Arquivos gerados neste pacote
|
|
218
|
+
|
|
219
|
+
- \`agent-context-pack.json\`
|
|
220
|
+
- \`${ARQUIVO_SEMA_BOOT}\`
|
|
221
|
+
- \`${ARQUIVO_SEMA_SMALL_MODEL}\`
|
|
222
|
+
- \`resumo.micro.txt\`
|
|
223
|
+
- \`resumo.curto.txt\`
|
|
224
|
+
- \`resumo.md\`
|
|
225
|
+
- \`briefing.min.json\`
|
|
226
|
+
- \`prompt-curto.txt\`
|
|
227
|
+
- \`validar.json\`
|
|
228
|
+
- \`diagnosticos.json\`
|
|
229
|
+
- \`ast.json\`
|
|
230
|
+
- \`ir.json\`
|
|
231
|
+
- \`drift.json\`
|
|
232
|
+
- \`briefing.json\`
|
|
233
|
+
|
|
234
|
+
## Fluxo recomendado para o agente
|
|
235
|
+
|
|
236
|
+
Antes de escolher arquivo de código, leia \`${ARQUIVO_SEMA_BOOT}\` e \`agent-context-pack.json\`. Eles declaram regras obrigatórias, proibições, prioridades, idioma humano e quando abrir texto bruto como \`AGENTS.md\`, \`exemplos/\`, docs e contratos.
|
|
237
|
+
|
|
238
|
+
## Políticas da plataforma
|
|
239
|
+
|
|
240
|
+
- Sema governa contrato, escopo, drift, evidência e qualidade; não contorna políticas, termos, permissões, segurança ou leis.
|
|
241
|
+
- Se houver alerta externo, trate como bloqueio da plataforma ou falso positivo possível, explique de forma neutra e não tente burlar filtro.
|
|
242
|
+
|
|
243
|
+
### IA fraca, gratuita ou com pouca disciplina
|
|
244
|
+
|
|
245
|
+
1. Ler \`${ARQUIVO_SEMA_BOOT}\`.
|
|
246
|
+
2. Ler \`${ARQUIVO_SEMA_SMALL_MODEL}\`.
|
|
247
|
+
3. Ler \`agent-context-pack.json\`.
|
|
248
|
+
4. Ler \`resumo.micro.txt\`.
|
|
249
|
+
5. Ler \`briefing.min.json\`.
|
|
250
|
+
6. Se ainda couber contexto, ler \`resumo.curto.txt\`.
|
|
251
|
+
|
|
252
|
+
### IA média
|
|
253
|
+
|
|
254
|
+
1. Ler \`${ARQUIVO_SEMA_BOOT}\`.
|
|
255
|
+
2. Ler \`agent-context-pack.json\`.
|
|
256
|
+
3. Ler \`resumo.curto.txt\`.
|
|
257
|
+
4. Ler \`briefing.min.json\`.
|
|
258
|
+
5. Ler \`drift.json\`.
|
|
259
|
+
6. Se precisar, subir para \`resumo.md\`.
|
|
260
|
+
|
|
261
|
+
### IA forte ou com tool use
|
|
262
|
+
|
|
263
|
+
1. Ler \`${ARQUIVO_SEMA_BOOT}\`.
|
|
264
|
+
2. Ler \`agent-context-pack.json\`.
|
|
265
|
+
3. Ler \`README.md\`.
|
|
266
|
+
4. Ler \`resumo.md\`.
|
|
267
|
+
5. Ler \`briefing.json\`.
|
|
268
|
+
6. Ler \`drift.json\`.
|
|
269
|
+
7. Só depois abrir \`ir.json\` e \`ast.json\`.
|
|
270
|
+
|
|
271
|
+
## Idioma humano
|
|
272
|
+
|
|
273
|
+
- Responda no idioma do usuário.
|
|
274
|
+
- Em PT-BR, use acentos, cedilha, pontuação e símbolos normais.
|
|
275
|
+
- A DSL \`.sema\` pode ser ASCII; texto humano não precisa ser.
|
|
276
|
+
|
|
277
|
+
## Texto bruto sob demanda
|
|
278
|
+
|
|
279
|
+
- Abra \`AGENTS.md\` antes de editar código, contrato, docs operacionais, release ou deploy.
|
|
280
|
+
- Abra \`exemplos/\` antes de criar ou corrigir sintaxe \`.sema\`.
|
|
281
|
+
- Abra \`docs/syntax.md\` quando exemplos não bastarem para resolver a gramática.
|
|
282
|
+
- Abra \`contratos/\` antes de qualquer implementação ou mudança de comportamento.
|
|
283
|
+
|
|
284
|
+
## Timeout e retry
|
|
285
|
+
|
|
286
|
+
- Timeout local do agente não é falha do Sema.
|
|
287
|
+
- Se uma chamada Sema estourar, aumente o timeout e tente de novo.
|
|
288
|
+
- Se o projeto inteiro for lento, escopar para \`sema resumo "${contexto.arquivo}" --micro --para mudanca\`.
|
|
289
|
+
- Se o ambiente impedir continuar, pare bloqueado e não avance com código sem Sema.
|
|
290
|
+
|
|
291
|
+
## Fechamento
|
|
292
|
+
|
|
293
|
+
1. Editar o arquivo \`.sema\`.
|
|
294
|
+
2. Rodar \`sema formatar "${contexto.arquivo}"\`.
|
|
295
|
+
3. Rodar \`sema validar "${contexto.arquivo}" --json\`.
|
|
296
|
+
4. Rodar \`sema drift "${contexto.arquivo}" --json\`.
|
|
297
|
+
5. Fechar com \`sema verificar <arquivo-ou-pasta> --json --saida ./.tmp/verificacao-ia\`.
|
|
298
|
+
|
|
299
|
+
## Textos base para onboarding do agente
|
|
300
|
+
|
|
301
|
+
- \`sema starter-ia\`
|
|
302
|
+
- \`sema resumo "${contexto.arquivo}" --micro --para onboarding\`
|
|
303
|
+
- \`sema prompt-curto "${contexto.arquivo}" --para mudanca\`
|
|
304
|
+
- \`sema prompt-ia\`
|
|
305
305
|
`;
|
|
306
306
|
await escreverArquivoWorkspaceSeguro(pastaBase, "README.md", resumo, {
|
|
307
307
|
sobrescrever: true,
|
package/dist/index.part06.js
CHANGED
|
@@ -215,7 +215,7 @@ export async function comandoAjudaIa() {
|
|
|
215
215
|
"Use `sema docs-impacto --intencao <acao>` para ler ou criar docs obrigatorias antes de agir.",
|
|
216
216
|
"Use `sema finalizar-mudanca --intencao <acao>` para bloquear conclusao sem leitura documental comprovada.",
|
|
217
217
|
"Use `sema contexto-ia <arquivo.sema> --saida <diretorio> --json` para gerar AST, IR, drift, `briefing.json` e `briefing.min.json`.",
|
|
218
|
-
"Use `sema compilar <arquivo-ou-pasta> --alvo <typescript|python|php|dart|lua|javascript|html|css> --saida <diretorio>` quando a tarefa pedir codigo derivado.",
|
|
218
|
+
"Use `sema compilar <arquivo-ou-pasta> --alvo <typescript|python|php|dart|lua|javascript|html|css|dotnet|cpp> --saida <diretorio>` quando a tarefa pedir codigo derivado.",
|
|
219
219
|
]));
|
|
220
220
|
console.log("");
|
|
221
221
|
console.log(renderizarSecaoAscii("Regras praticas", [
|
package/dist/index.part07.js
CHANGED
|
@@ -45,30 +45,30 @@ export async function comandoPromptCurto(entrada, args, emJson) {
|
|
|
45
45
|
: "SEMA_BRIEF.md";
|
|
46
46
|
const contextoProjeto = await readFile(path.join(resumoProjeto.pastaSaida, arquivoResumo), "utf8");
|
|
47
47
|
const capacidade = tamanho === "micro" ? "fraca" : tamanho === "curto" ? "media" : "forte";
|
|
48
|
-
const prompt = `⚠️ REGRA OBRIGATÓRIA DE GOVERNANÇA:
|
|
49
|
-
|
|
50
|
-
ANTES DE QUALQUER AÇÃO (editar, criar, deletar, executar, consultar ou modificar):
|
|
51
|
-
1. Rode \`sema docs-impacto --intencao "<ação>" --json\` com sua intenção declarada.
|
|
52
|
-
2. Aguarde a resposta com as docs obrigatórias.
|
|
53
|
-
3. Leia as docs antes de agir.
|
|
54
|
-
4. Antes de concluir, rode \`sema finalizar-mudanca --intencao "<ação>" --doc-lida <arquivo> --json\` com todas as docs lidas.
|
|
55
|
-
|
|
56
|
-
Você está operando Sema em modo IA-first.
|
|
57
|
-
|
|
58
|
-
Isto é contexto comprimido para IA operar contrato semântico antes de tocar código vivo.
|
|
59
|
-
|
|
60
|
-
Capacidade alvo: ${capacidade}
|
|
61
|
-
Modo da tarefa: ${modo}
|
|
62
|
-
|
|
63
|
-
Regras:
|
|
64
|
-
- ANTES DE TUDO: rode \`sema docs-impacto --intencao "<ação>" --json\`.
|
|
65
|
-
- Comece pelo resumo compacto abaixo.
|
|
66
|
-
- Se a tarefa pedir mais contexto, abra \`AGENT_CONTEXT_PACK.json\` e depois \`SEMA_INDEX.json\`.
|
|
67
|
-
- Não tente ler o repositório inteiro se o resumo já disser onde tocar.
|
|
68
|
-
- Preserve contrato, risco, lacuna e checks sugeridos.
|
|
69
|
-
|
|
70
|
-
Contexto do projeto:
|
|
71
|
-
${contextoProjeto.trim()}
|
|
48
|
+
const prompt = `⚠️ REGRA OBRIGATÓRIA DE GOVERNANÇA:
|
|
49
|
+
|
|
50
|
+
ANTES DE QUALQUER AÇÃO (editar, criar, deletar, executar, consultar ou modificar):
|
|
51
|
+
1. Rode \`sema docs-impacto --intencao "<ação>" --json\` com sua intenção declarada.
|
|
52
|
+
2. Aguarde a resposta com as docs obrigatórias.
|
|
53
|
+
3. Leia as docs antes de agir.
|
|
54
|
+
4. Antes de concluir, rode \`sema finalizar-mudanca --intencao "<ação>" --doc-lida <arquivo> --json\` com todas as docs lidas.
|
|
55
|
+
|
|
56
|
+
Você está operando Sema em modo IA-first.
|
|
57
|
+
|
|
58
|
+
Isto é contexto comprimido para IA operar contrato semântico antes de tocar código vivo.
|
|
59
|
+
|
|
60
|
+
Capacidade alvo: ${capacidade}
|
|
61
|
+
Modo da tarefa: ${modo}
|
|
62
|
+
|
|
63
|
+
Regras:
|
|
64
|
+
- ANTES DE TUDO: rode \`sema docs-impacto --intencao "<ação>" --json\`.
|
|
65
|
+
- Comece pelo resumo compacto abaixo.
|
|
66
|
+
- Se a tarefa pedir mais contexto, abra \`AGENT_CONTEXT_PACK.json\` e depois \`SEMA_INDEX.json\`.
|
|
67
|
+
- Não tente ler o repositório inteiro se o resumo já disser onde tocar.
|
|
68
|
+
- Preserve contrato, risco, lacuna e checks sugeridos.
|
|
69
|
+
|
|
70
|
+
Contexto do projeto:
|
|
71
|
+
${contextoProjeto.trim()}
|
|
72
72
|
`;
|
|
73
73
|
if (emJson) {
|
|
74
74
|
console.log(JSON.stringify({
|
|
@@ -104,6 +104,17 @@ export async function comandoTestar(arquivo, alvo, saida, estrutura, framework)
|
|
|
104
104
|
console.error(incompatibilidade);
|
|
105
105
|
return 1;
|
|
106
106
|
}
|
|
107
|
+
if (framework === "base") {
|
|
108
|
+
const configuracaoAlvo = {
|
|
109
|
+
alvo,
|
|
110
|
+
...resolverConfiguracaoVerificacaoPorAlvo(alvo),
|
|
111
|
+
};
|
|
112
|
+
const verificacaoDependencias = avaliarDependenciasVerificacao([configuracaoAlvo]);
|
|
113
|
+
if (!verificacaoDependencias.ok) {
|
|
114
|
+
imprimirFalhaDependenciasVerificacao(verificacaoDependencias);
|
|
115
|
+
return 1;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
107
118
|
const codigo = await lerArquivoTexto(arquivo);
|
|
108
119
|
const resultado = compilarCodigo(codigo, arquivo);
|
|
109
120
|
if (temErros(resultado.diagnosticos)) {
|