@semacode/cli 1.5.14 → 1.5.16
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 +2 -1
- package/dist/index.js +76 -43
- package/package.json +26 -35
- package/semacode-cli-1.3.1.tgz +0 -0
- package/src/angular-consumer-standalone.ts +312 -0
- package/src/cpp-symbols.ts +82 -0
- package/src/docs.ts +535 -0
- package/src/dotnet-http.ts +355 -0
- package/src/drift.ts +4933 -0
- package/src/go-http.ts +118 -0
- package/src/importador.ts +3891 -0
- package/src/index.ts +5641 -0
- package/src/java-http.ts +247 -0
- package/src/lua-symbols.ts +114 -0
- package/src/php-symbols.ts +462 -0
- package/src/projeto.ts +862 -0
- package/src/python-http.ts +258 -0
- package/src/rust-http.ts +125 -0
- package/src/tipos.ts +24 -0
- package/src/typescript-http.ts +1076 -0
- package/tsconfig.json +20 -0
- package/AGENTS.md +0 -272
- package/LICENSE +0 -22
- package/SEMA_BRIEF.curto.txt +0 -9
- package/SEMA_BRIEF.md +0 -63
- package/SEMA_BRIEF.micro.txt +0 -7
- package/SEMA_INDEX.json +0 -799
- package/dist/angular-consumer-standalone.d.ts +0 -6
- package/dist/angular-consumer-standalone.js.map +0 -1
- package/dist/cpp-symbols.d.ts +0 -10
- package/dist/cpp-symbols.js.map +0 -1
- package/dist/docs.d.ts +0 -56
- package/dist/docs.js.map +0 -1
- package/dist/dotnet-http.d.ts +0 -23
- package/dist/dotnet-http.js.map +0 -1
- package/dist/drift.d.ts +0 -225
- package/dist/drift.js.map +0 -1
- package/dist/go-http.d.ts +0 -23
- package/dist/go-http.js.map +0 -1
- package/dist/importador.d.ts +0 -31
- package/dist/importador.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js.map +0 -1
- package/dist/java-http.d.ts +0 -23
- package/dist/java-http.js.map +0 -1
- package/dist/lua-symbols.d.ts +0 -10
- package/dist/lua-symbols.js.map +0 -1
- package/dist/php-symbols.d.ts +0 -24
- package/dist/php-symbols.js.map +0 -1
- package/dist/projeto.d.ts +0 -53
- package/dist/projeto.js.map +0 -1
- package/dist/python-http.d.ts +0 -23
- package/dist/python-http.js.map +0 -1
- package/dist/rust-http.d.ts +0 -23
- package/dist/rust-http.js.map +0 -1
- package/dist/tipos.d.ts +0 -3
- package/dist/tipos.js.map +0 -1
- package/dist/typescript-http.d.ts +0 -35
- package/dist/typescript-http.js.map +0 -1
- package/docs/AGENT_STARTER.md +0 -102
- package/docs/cli.md +0 -117
- package/docs/como-ensinar-a-sema-para-ia.md +0 -149
- package/docs/deploy.md +0 -70
- package/docs/documentacao.md +0 -63
- package/docs/env.md +0 -56
- package/docs/extensao-vscode.md +0 -45
- package/docs/fluxo-pratico-ia-sema.md +0 -177
- package/docs/instalacao-e-primeiro-uso.md +0 -112
- package/docs/integracao-com-ia.md +0 -101
- package/docs/mcp.md +0 -53
- package/docs/pagamento-ponta-a-ponta.md +0 -155
- package/docs/persistencia-vendor-first.md +0 -145
- package/docs/prompt-base-ia-sema.md +0 -104
- package/docs/rollback.md +0 -47
- package/docs/sintaxe.md +0 -410
- package/exemplos/agendamento.sema +0 -106
- package/exemplos/assinatura.sema +0 -136
- package/exemplos/auditoria.sema +0 -88
- package/exemplos/autenticacao.sema +0 -125
- package/exemplos/automacao.sema +0 -107
- package/exemplos/cadastro_usuario.sema +0 -54
- package/exemplos/calculadora.sema +0 -78
- package/exemplos/crud_simples.sema +0 -89
- package/exemplos/estoque.sema +0 -126
- package/exemplos/exportacao.sema +0 -94
- package/exemplos/fila.sema +0 -131
- package/exemplos/integracao_externa.sema +0 -94
- package/exemplos/multi_tenant.sema +0 -140
- package/exemplos/notificacao.sema +0 -98
- package/exemplos/operacao_estrategia.sema +0 -402
- package/exemplos/pagamento.sema +0 -222
- package/exemplos/pagamento_dominio.sema +0 -35
- package/exemplos/pedido.sema +0 -119
- package/exemplos/permissao.sema +0 -121
- package/exemplos/persistencia_vendor_first.sema +0 -86
- package/exemplos/relatorio.sema +0 -93
- package/exemplos/testes_embutidos.sema +0 -45
- package/exemplos/tratamento_erro.sema +0 -157
- package/exemplos/upload_arquivo.sema +0 -93
- package/exemplos/webhook.sema +0 -96
- package/llms-full.txt +0 -34
- package/llms.txt +0 -17
- package/node_modules/@sema/gerador-css/dist/index.d.ts +0 -3
- package/node_modules/@sema/gerador-css/dist/index.js +0 -592
- package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-css/package.json +0 -7
- package/node_modules/@sema/gerador-dart/dist/index.d.ts +0 -3
- package/node_modules/@sema/gerador-dart/dist/index.js +0 -44
- package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-dart/package.json +0 -7
- package/node_modules/@sema/gerador-html/dist/index.d.ts +0 -3
- package/node_modules/@sema/gerador-html/dist/index.js +0 -163
- package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-html/package.json +0 -7
- package/node_modules/@sema/gerador-javascript/dist/index.d.ts +0 -3
- package/node_modules/@sema/gerador-javascript/dist/index.js +0 -421
- package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-javascript/package.json +0 -7
- package/node_modules/@sema/gerador-lua/dist/index.d.ts +0 -3
- package/node_modules/@sema/gerador-lua/dist/index.js +0 -328
- package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-lua/package.json +0 -7
- package/node_modules/@sema/gerador-python/dist/index.d.ts +0 -6
- package/node_modules/@sema/gerador-python/dist/index.js +0 -729
- package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-python/package.json +0 -7
- package/node_modules/@sema/gerador-typescript/dist/index.d.ts +0 -6
- package/node_modules/@sema/gerador-typescript/dist/index.js +0 -793
- package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
- package/node_modules/@sema/gerador-typescript/package.json +0 -7
- package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +0 -125
- package/node_modules/@sema/nucleo/dist/ast/tipos.js +0 -2
- package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/diagnosticos/index.d.ts +0 -21
- package/node_modules/@sema/nucleo/dist/diagnosticos/index.js +0 -12
- package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/formatador/index.d.ts +0 -9
- package/node_modules/@sema/nucleo/dist/formatador/index.js +0 -487
- package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/index.d.ts +0 -35
- package/node_modules/@sema/nucleo/dist/index.js +0 -96
- package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/conversor.d.ts +0 -5
- package/node_modules/@sema/nucleo/dist/ir/conversor.js +0 -1058
- package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +0 -377
- package/node_modules/@sema/nucleo/dist/ir/modelos.js +0 -2
- package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/lexer/lexer.d.ts +0 -7
- package/node_modules/@sema/nucleo/dist/lexer/lexer.js +0 -122
- package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/lexer/tokens.d.ts +0 -8
- package/node_modules/@sema/nucleo/dist/lexer/tokens.js +0 -82
- package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/parser/parser.d.ts +0 -9
- package/node_modules/@sema/nucleo/dist/parser/parser.js +0 -807
- package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/persistencia/contratos.d.ts +0 -39
- package/node_modules/@sema/nucleo/dist/persistencia/contratos.js +0 -294
- package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +0 -58
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js +0 -1912
- package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +0 -104
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +0 -445
- package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/semantico/seguranca.d.ts +0 -91
- package/node_modules/@sema/nucleo/dist/semantico/seguranca.js +0 -258
- package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
- package/node_modules/@sema/nucleo/dist/util/arquivos.d.ts +0 -2
- package/node_modules/@sema/nucleo/dist/util/arquivos.js +0 -25
- package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
- package/node_modules/@sema/nucleo/package.json +0 -7
- package/node_modules/@sema/padroes/dist/index.d.ts +0 -25
- package/node_modules/@sema/padroes/dist/index.js +0 -316
- package/node_modules/@sema/padroes/dist/index.js.map +0 -1
- package/node_modules/@sema/padroes/package.json +0 -7
package/dist/rust-http.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export interface ParametroRotaRust {
|
|
2
|
-
nome: string;
|
|
3
|
-
tipoSema: "Texto" | "Inteiro" | "Decimal" | "Id";
|
|
4
|
-
}
|
|
5
|
-
export interface SimboloRustExtraido {
|
|
6
|
-
simbolo: string;
|
|
7
|
-
retorno?: string;
|
|
8
|
-
parametros: Array<{
|
|
9
|
-
nome: string;
|
|
10
|
-
tipoTexto?: string;
|
|
11
|
-
obrigatorio: boolean;
|
|
12
|
-
}>;
|
|
13
|
-
}
|
|
14
|
-
export interface RotaRustExtraida {
|
|
15
|
-
origem: "rust";
|
|
16
|
-
metodo: string;
|
|
17
|
-
caminho: string;
|
|
18
|
-
simbolo: string;
|
|
19
|
-
parametros: ParametroRotaRust[];
|
|
20
|
-
retorno?: string;
|
|
21
|
-
}
|
|
22
|
-
export declare function extrairSimbolosRust(codigo: string): SimboloRustExtraido[];
|
|
23
|
-
export declare function extrairRotasRust(codigo: string): RotaRustExtraida[];
|
package/dist/rust-http.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rust-http.js","sourceRoot":"","sources":["../src/rust-http.ts"],"names":[],"mappings":"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"}
|
package/dist/tipos.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export type EstruturaSaida = "flat" | "modulos" | "backend";
|
|
2
|
-
export type FonteLegado = "nestjs" | "fastapi" | "flask" | "nextjs" | "nextjs-consumer" | "react-vite-consumer" | "angular-consumer" | "flutter-consumer" | "firebase" | "typescript" | "python" | "dart" | "lua" | "php" | "dotnet" | "java" | "go" | "rust" | "cpp";
|
|
3
|
-
export type ModoAdocao = "incremental";
|
package/dist/tipos.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tipos.js","sourceRoot":"","sources":["../src/tipos.ts"],"names":[],"mappings":""}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
export interface ParametroRotaTypeScript {
|
|
3
|
-
nome: string;
|
|
4
|
-
tipoSema: "Texto" | "Inteiro" | "Decimal" | "Id";
|
|
5
|
-
}
|
|
6
|
-
export interface RotaTypeScriptExtraida {
|
|
7
|
-
origem: "nextjs" | "firebase";
|
|
8
|
-
metodo: string;
|
|
9
|
-
caminho: string;
|
|
10
|
-
simbolo: string;
|
|
11
|
-
parametros: ParametroRotaTypeScript[];
|
|
12
|
-
}
|
|
13
|
-
export interface CampoInferidoTypeScriptHttp {
|
|
14
|
-
nome: string;
|
|
15
|
-
tipoTexto?: string;
|
|
16
|
-
obrigatorio: boolean;
|
|
17
|
-
}
|
|
18
|
-
export interface ExportacaoTypeScriptHttp {
|
|
19
|
-
corpo?: ts.Block;
|
|
20
|
-
retorno?: string;
|
|
21
|
-
parametros: readonly ts.ParameterDeclaration[];
|
|
22
|
-
declaracao: ts.FunctionLikeDeclarationBase;
|
|
23
|
-
}
|
|
24
|
-
export interface SemanticaHandlerTypeScriptHttp {
|
|
25
|
-
query: CampoInferidoTypeScriptHttp[];
|
|
26
|
-
body: CampoInferidoTypeScriptHttp[];
|
|
27
|
-
bodyTipoTexto?: string;
|
|
28
|
-
response: CampoInferidoTypeScriptHttp[];
|
|
29
|
-
responseTipoTexto?: string;
|
|
30
|
-
statuses: number[];
|
|
31
|
-
errorStatuses: number[];
|
|
32
|
-
}
|
|
33
|
-
export declare function localizarExportacaoTypeScriptHttp(sourceFile: ts.SourceFile, nomeExportado: string): ExportacaoTypeScriptHttp | undefined;
|
|
34
|
-
export declare function inferirSemanticaHandlerTypeScriptHttp(sourceFile: ts.SourceFile, nomeExportado: string): SemanticaHandlerTypeScriptHttp | undefined;
|
|
35
|
-
export declare function extrairRotasTypeScriptHttp(sourceFile: ts.SourceFile, relacaoArquivo: string): RotaTypeScriptExtraida[];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-http.js","sourceRoot":"","sources":["../src/typescript-http.ts"],"names":[],"mappings":"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"}
|
package/docs/AGENT_STARTER.md
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
# AGENT_STARTER
|
|
2
|
-
|
|
3
|
-
Use este texto como starter curto para qualquer IA antes de editar `.sema`.
|
|
4
|
-
|
|
5
|
-
Ordem canonica de entrada no repo:
|
|
6
|
-
|
|
7
|
-
1. `llms.txt`
|
|
8
|
-
2. `SEMA_BRIEF.md`
|
|
9
|
-
3. `SEMA_INDEX.json`
|
|
10
|
-
4. `AGENTS.md`
|
|
11
|
-
5. `README.md`
|
|
12
|
-
|
|
13
|
-
Roteamento por capacidade:
|
|
14
|
-
|
|
15
|
-
- IA pequena ou gratuita: `llms.txt` -> `SEMA_BRIEF.micro.txt` -> `SEMA_INDEX.json`
|
|
16
|
-
- IA media: `llms.txt` -> `SEMA_BRIEF.curto.txt` -> `SEMA_INDEX.json` -> `README.md`
|
|
17
|
-
- IA grande ou com tool use: `llms-full.txt` -> `SEMA_BRIEF.md` -> `SEMA_INDEX.json` -> `AGENTS.md` -> `README.md`
|
|
18
|
-
|
|
19
|
-
Tres modos de uso da Sema:
|
|
20
|
-
|
|
21
|
-
- projeto novo: modele, valide, compile e verifique antes de subir codigo derivado
|
|
22
|
-
- projeto ja semantizado: inspecione, leia resumo, rode drift e gere contexto antes de editar
|
|
23
|
-
- legado sem Sema: importe, revise o rascunho, formate, valide e use drift como arbitro da adocao incremental
|
|
24
|
-
|
|
25
|
-
Para manter os artefatos gerados da raiz sincronizados:
|
|
26
|
-
|
|
27
|
-
- `sema sync-ai-entrypoints --json`
|
|
28
|
-
|
|
29
|
-
```text
|
|
30
|
-
Voce esta trabalhando com Sema, um Protocolo de Governanca de Intencao para IA sobre software vivo em backend e front consumer.
|
|
31
|
-
|
|
32
|
-
Importante:
|
|
33
|
-
- a Sema e protocolo de governanca semantica desenhado para IA, nao para ergonomia humana
|
|
34
|
-
- a Sema funciona como camada de navegacao operacional para agente, nao como runtime magico
|
|
35
|
-
- leitura humana e bonus toleravel, nao centro do produto
|
|
36
|
-
- a Sema modela contratos, estados, fluxos, erros, efeitos, garantias, vinculos e execucao
|
|
37
|
-
- a Sema gera codigo e scaffolding real para TypeScript, Python, Dart e Lua
|
|
38
|
-
- a Sema usa `importar` para bootstrap revisavel, nao para contrato final automatico
|
|
39
|
-
- a Sema usa `drift` para medir diferenca entre contrato e codigo vivo
|
|
40
|
-
- a Sema usa `impl` para ligar task a simbolo real do runtime
|
|
41
|
-
- a Sema usa `resumo` e `prompt-curto` para IA pequena ou gratuita
|
|
42
|
-
- a Sema pode servir de base para interfaces graficas elegantes e coerentes
|
|
43
|
-
- a primeira onda consumer oficial agora cobre `Next.js consumer`, `React/Vite consumer`, `Angular consumer` e `flutter-consumer`
|
|
44
|
-
- esses slices oficiais cobrem `consumer bridge + superficies rastreaveis`, nao geracao completa de UI
|
|
45
|
-
- a proxima camada semantica de front (`screen`, `action`, `query`, `form`, `navigation`) esta documentada como roadmap, nao como sintaxe oficial ja suportada
|
|
46
|
-
- trate a Sema como cerebro semantico da aplicacao, nao como gerador magico de front-end pronto
|
|
47
|
-
- nao cobre da Sema persistencia real, runtime ou smoke test automatico; isso continua sendo engenharia viva
|
|
48
|
-
- se a tarefa envolver UI, priorize `appRoutes`, `consumerSurfaces` e `consumerBridges` antes de abrir arquivo aleatorio
|
|
49
|
-
- evite pedir HTML unico solto quando a intencao for testar a Sema de verdade
|
|
50
|
-
|
|
51
|
-
Regras:
|
|
52
|
-
- nao invente sintaxe fora da gramatica e dos exemplos oficiais
|
|
53
|
-
- se a IA for pequena, comece em `sema resumo` e `briefing.min.json`
|
|
54
|
-
- trate `ir --json` como fonte de verdade semantica
|
|
55
|
-
- trate `diagnosticos --json` como fonte de correcao
|
|
56
|
-
- use `sema formatar` como fonte unica de estilo
|
|
57
|
-
- preserve a intencao do contrato
|
|
58
|
-
- nao cobre da Sema adivinhacao de negocio que nao esta no contrato nem no codigo
|
|
59
|
-
|
|
60
|
-
Comandos essenciais:
|
|
61
|
-
- resumo por capacidade: `sema resumo <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`
|
|
62
|
-
- prompt curto: `sema prompt-curto <arquivo-ou-pasta> [--micro|--curto|--medio] [--para <resumo|onboarding|review|mudanca|bug|arquitetura>]`
|
|
63
|
-
- contexto completo do modulo: `sema contexto-ia <arquivo.sema>`
|
|
64
|
-
- estrutura sintatica: `sema ast <arquivo.sema> --json`
|
|
65
|
-
- estrutura semantica: `sema ir <arquivo.sema> --json`
|
|
66
|
-
- validacao: `sema validar <arquivo.sema> --json`
|
|
67
|
-
- diagnosticos: `sema diagnosticos <arquivo.sema> --json`
|
|
68
|
-
- formatacao: `sema formatar <arquivo.sema>`
|
|
69
|
-
- importacao assistida de legado: `sema importar <nestjs|fastapi|flask|nextjs|nextjs-consumer|react-vite-consumer|angular-consumer|flutter-consumer|firebase|typescript|python|dart|lua|dotnet|java|go|rust|cpp> <diretorio> --saida <diretorio>`
|
|
70
|
-
- geracao de codigo: `sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart|lua> --saida <diretorio>`
|
|
71
|
-
- verificacao final: `sema verificar <arquivo-ou-pasta> [--json]`
|
|
72
|
-
|
|
73
|
-
Regra pratica de ouro:
|
|
74
|
-
- se a tarefa pedir codigo derivado, `sema compilar` e obrigatorio
|
|
75
|
-
- se a tarefa partir de projeto que nao nasceu com Sema, `sema importar` deve entrar antes da lapidacao semantica
|
|
76
|
-
- se a tarefa pedir apenas leitura ou correcao sem gerar codigo, `sema compilar` pode ficar fora
|
|
77
|
-
|
|
78
|
-
Antes de editar:
|
|
79
|
-
1. leia README, docs de IA e um exemplo oficial parecido
|
|
80
|
-
2. se a IA for pequena, rode `sema resumo <arquivo> --micro`
|
|
81
|
-
3. se a tarefa pedir contexto mais rico, consulte `drift`, `briefing.min.json` e depois AST/IR
|
|
82
|
-
|
|
83
|
-
Depois de editar:
|
|
84
|
-
1. rode `sema formatar`
|
|
85
|
-
2. rode `sema validar --json`
|
|
86
|
-
3. se houver falha, use `diagnosticos --json`
|
|
87
|
-
4. se a tarefa pedir codigo derivado, rode `sema compilar`
|
|
88
|
-
5. feche com `sema verificar <arquivo-ou-pasta> --json`
|
|
89
|
-
|
|
90
|
-
Priorize sempre:
|
|
91
|
-
- exemplos oficiais
|
|
92
|
-
- JSON da CLI
|
|
93
|
-
- consistencia semantica
|
|
94
|
-
|
|
95
|
-
Nao improvise quando faltar contexto.
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
Documentos de apoio:
|
|
99
|
-
|
|
100
|
-
- [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
|
|
101
|
-
- [prompt-base-ia-sema.md](./prompt-base-ia-sema.md)
|
|
102
|
-
- [fluxo-pratico-ia-sema.md](./fluxo-pratico-ia-sema.md)
|
package/docs/cli.md
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
# CLI da Sema
|
|
2
|
-
|
|
3
|
-
## Papel da CLI
|
|
4
|
-
|
|
5
|
-
A CLI e a interface oficial da Sema para:
|
|
6
|
-
|
|
7
|
-
- validar contratos `.sema`
|
|
8
|
-
- exportar AST e IR
|
|
9
|
-
- medir `drift` entre contrato e codigo vivo
|
|
10
|
-
- importar legado para rascunho revisavel
|
|
11
|
-
- gerar codigo derivado
|
|
12
|
-
- preparar contexto IA-first
|
|
13
|
-
- expor profiles operacionais como `sema author`
|
|
14
|
-
- resolver docs obrigatorias por intencao antes de editar ou operar
|
|
15
|
-
- verificar multiplos alvos de geracao
|
|
16
|
-
|
|
17
|
-
## Tres modos de operacao
|
|
18
|
-
|
|
19
|
-
Projeto novo:
|
|
20
|
-
|
|
21
|
-
- `sema iniciar`
|
|
22
|
-
- `sema validar`
|
|
23
|
-
- `sema compilar`
|
|
24
|
-
- `sema verificar`
|
|
25
|
-
|
|
26
|
-
Projeto ja semantizado:
|
|
27
|
-
|
|
28
|
-
- `sema inspecionar`
|
|
29
|
-
- `sema resumo`
|
|
30
|
-
- `sema drift`
|
|
31
|
-
- `sema contexto-ia`
|
|
32
|
-
|
|
33
|
-
Adocao incremental:
|
|
34
|
-
|
|
35
|
-
- `sema importar`
|
|
36
|
-
- `sema formatar`
|
|
37
|
-
- `sema validar`
|
|
38
|
-
- `sema drift`
|
|
39
|
-
|
|
40
|
-
## Persistencia vendor-first
|
|
41
|
-
|
|
42
|
-
A linha atual adiciona uma secao canonica de persistencia no contrato, no semantico, no IR e no formatador, alem de `drift` com escopo real, `impacto`, renomeacao semantica assistida, `verificar` mais coerente nos alvos gerados, match de metodos JS/TS definidos via `Object.assign(...prototype...)`, leitura de `Preferences`/`localStorage`/`sessionStorage`, fallback para `angular-consumer` standalone sem `.routes`, compatibilidade PHP como codigo vivo e limpeza de runtime da CLI publica para reduzir atrito de instalacao no Windows.
|
|
43
|
-
|
|
44
|
-
Cobertura publica:
|
|
45
|
-
|
|
46
|
-
- `postgres`: `table`, `relationship`, `query`, `schema`, capacidades relacionais
|
|
47
|
-
- `mysql`: `table`, `index`, consultas SQL e diferencas operacionais do engine
|
|
48
|
-
- `sqlite`: `table`, `retention`, uso local e edge
|
|
49
|
-
- `mongodb`: `collection`, `document`, `query` em `pipeline`
|
|
50
|
-
- `redis`: `keyspace`, `stream`, `retention`, TTL e superficies de estado
|
|
51
|
-
|
|
52
|
-
## Drift e codigo vivo
|
|
53
|
-
|
|
54
|
-
`sema drift` agora cruza contrato com recursos reais encontrados em:
|
|
55
|
-
|
|
56
|
-
- codigo de backend
|
|
57
|
-
- codigo Lua usado como runtime ou bridge
|
|
58
|
-
- codigo PHP usado como backend, controller, runtime ou bridge
|
|
59
|
-
- DDL `.sql`
|
|
60
|
-
- schema `.prisma`
|
|
61
|
-
- uso de MongoDB
|
|
62
|
-
- uso de Redis, incluindo keyspaces e streams
|
|
63
|
-
|
|
64
|
-
O objetivo nao e adivinhar tudo; e produzir um score explicavel com lacunas claras.
|
|
65
|
-
|
|
66
|
-
## Ajuda IA-first
|
|
67
|
-
|
|
68
|
-
- `sema ajuda-ia`
|
|
69
|
-
- `sema starter-ia`
|
|
70
|
-
- `sema author`
|
|
71
|
-
- `sema author exemplo --sensivel --json`
|
|
72
|
-
- `sema resumo <arquivo-ou-pasta> --micro|--curto|--medio`
|
|
73
|
-
- `sema prompt-curto <arquivo-ou-pasta> --micro|--curto|--medio`
|
|
74
|
-
- `sema contexto-ia <arquivo.sema> --saida <diretorio>`
|
|
75
|
-
- `sema sync-ai-entrypoints --json`
|
|
76
|
-
- `sema docs-impacto --intencao <acao> --criar-ausentes --json`
|
|
77
|
-
- `sema finalizar-mudanca --intencao <acao> --doc-lida <caminho> --json`
|
|
78
|
-
|
|
79
|
-
## Importadores publicos
|
|
80
|
-
|
|
81
|
-
- `nestjs`
|
|
82
|
-
- `fastapi`
|
|
83
|
-
- `flask`
|
|
84
|
-
- `nextjs`
|
|
85
|
-
- `nextjs-consumer`
|
|
86
|
-
- `react-vite-consumer`
|
|
87
|
-
- `angular-consumer`
|
|
88
|
-
- `flutter-consumer`
|
|
89
|
-
- `firebase`
|
|
90
|
-
- `php`
|
|
91
|
-
- `dotnet`
|
|
92
|
-
- `java`
|
|
93
|
-
- `go`
|
|
94
|
-
- `rust`
|
|
95
|
-
- `cpp`
|
|
96
|
-
- `typescript`
|
|
97
|
-
- `python`
|
|
98
|
-
- `dart`
|
|
99
|
-
- `lua`
|
|
100
|
-
|
|
101
|
-
## Comandos mais usados
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
sema validar <arquivo-ou-pasta> --json
|
|
105
|
-
sema diagnosticos <arquivo.sema> --json
|
|
106
|
-
sema ir <arquivo.sema> --json
|
|
107
|
-
sema author --help
|
|
108
|
-
sema author exemplo --sensivel --json
|
|
109
|
-
sema drift <arquivo-ou-pasta> --json
|
|
110
|
-
sema importar <fonte> <diretorio> --saida <diretorio> --json
|
|
111
|
-
sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
|
|
112
|
-
sema finalizar-mudanca --intencao "fazer deploy" --doc-lida docs/deploy.md --json
|
|
113
|
-
sema compilar <arquivo-ou-pasta> --alvo <typescript|python|dart|lua> --saida <diretorio>
|
|
114
|
-
sema verificar <arquivo-ou-pasta> --saida <diretorio>
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
`sema author --help` lista as regras automaticas gerais do Author. No `--json`, o campo `regrasAutomaticas` entrega essas regras para agentes e fluxos externos aplicarem sem depender de prompt solto.
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
# Como Ensinar a Sema para IA
|
|
2
|
-
|
|
3
|
-
Este documento explica como fazer uma IA entender a Sema sem depender de memoria previa do modelo. A estrategia correta nao e presumir que a IA "ja conhece a linguagem", e sim entregar contexto suficiente para ela operar com seguranca.
|
|
4
|
-
|
|
5
|
-
Leia isso do ponto de vista da CLI publica. A IA nao deve assumir que esta dentro do monorepo da Sema, nem que precisa chamar `node pacotes/cli/dist/index.js`.
|
|
6
|
-
|
|
7
|
-
## Principio central
|
|
8
|
-
|
|
9
|
-
Uma IA entende uma linguagem nova quando recebe quatro camadas de contexto:
|
|
10
|
-
|
|
11
|
-
1. sintaxe
|
|
12
|
-
2. semantica
|
|
13
|
-
3. estrutura intermediaria estavel
|
|
14
|
-
4. exemplos reais
|
|
15
|
-
|
|
16
|
-
Sem essas quatro camadas, o modelo comeca a adivinhar. E adivinhacao em linguagem de contrato e pedir para nascer bug feio.
|
|
17
|
-
|
|
18
|
-
Antes de qualquer outra coisa, a IA tambem precisa receber a **moldura correta**:
|
|
19
|
-
|
|
20
|
-
- a Sema e um protocolo de governanca de intencao
|
|
21
|
-
- a Sema foi feita para IA, nao para ergonomia humana
|
|
22
|
-
- a Sema nao foi feita para "automatizar tudo"
|
|
23
|
-
- a Sema existe para explicitar, alinhar e verificar contrato contra sistema vivo
|
|
24
|
-
- curadoria humana continua parte da proposta
|
|
25
|
-
|
|
26
|
-
Se a IA errar essa moldura, ela vai cobrar da ferramenta a coisa errada e operar feito um animal apressado.
|
|
27
|
-
|
|
28
|
-
## Camada 1. Sintaxe
|
|
29
|
-
|
|
30
|
-
A IA precisa saber como a linguagem e escrita.
|
|
31
|
-
|
|
32
|
-
Fontes principais:
|
|
33
|
-
|
|
34
|
-
- [README.md](../README.md)
|
|
35
|
-
- [sintaxe.md](./sintaxe.md)
|
|
36
|
-
- [integracao-com-ia.md](./integracao-com-ia.md)
|
|
37
|
-
|
|
38
|
-
Objetivo dessa camada:
|
|
39
|
-
|
|
40
|
-
- reconhecer blocos validos
|
|
41
|
-
- entender delimitadores
|
|
42
|
-
- nao inventar palavras-chave
|
|
43
|
-
- respeitar a organizacao canonicamente formatada
|
|
44
|
-
|
|
45
|
-
## Camada 2. Semantica
|
|
46
|
-
|
|
47
|
-
Depois de saber ler, a IA precisa saber o que cada bloco significa.
|
|
48
|
-
|
|
49
|
-
Fontes principais:
|
|
50
|
-
|
|
51
|
-
- [README.md](../README.md)
|
|
52
|
-
- [integracao-com-ia.md](./integracao-com-ia.md)
|
|
53
|
-
- [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
|
|
54
|
-
|
|
55
|
-
Objetivo dessa camada:
|
|
56
|
-
|
|
57
|
-
- distinguir contrato interno de `task`
|
|
58
|
-
- distinguir contrato publico de `route`
|
|
59
|
-
- entender `effects`, `guarantees`, `error`, `state` e `flow`
|
|
60
|
-
- operar na linguagem como especificacao executavel, nao como texto decorativo
|
|
61
|
-
- entender que `importar` e bootstrap
|
|
62
|
-
- entender que `drift` e regua de coerencia contra o runtime
|
|
63
|
-
- entender que `impl` e ponte rastreavel para simbolo vivo
|
|
64
|
-
|
|
65
|
-
## Camada 3. Estrutura intermediaria estavel
|
|
66
|
-
|
|
67
|
-
Essa e a camada que faz a parada parar de ser um cassino.
|
|
68
|
-
|
|
69
|
-
Em vez de confiar que a IA vai interpretar `.sema` cru de primeira, use a CLI como tradutora oficial da linguagem.
|
|
70
|
-
|
|
71
|
-
Comandos principais:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
sema resumo arquivo.sema --micro --para onboarding
|
|
75
|
-
sema validar arquivo.sema --json
|
|
76
|
-
sema diagnosticos arquivo.sema --json
|
|
77
|
-
sema ast arquivo.sema --json
|
|
78
|
-
sema ir arquivo.sema --json
|
|
79
|
-
sema verificar arquivo-ou-pasta --json --saida ./.tmp/verificacao-ia
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
Como cada comando ajuda:
|
|
83
|
-
|
|
84
|
-
- `resumo`: entrega cartao semantico pequeno para IA com janela curta
|
|
85
|
-
- `validar --json`: diz se a base esta semanticamente valida
|
|
86
|
-
- `diagnosticos --json`: devolve erros e avisos como contrato estruturado
|
|
87
|
-
- `ast --json`: mostra a forma sintatica escrita
|
|
88
|
-
- `ir --json`: mostra a forma semantica resolvida
|
|
89
|
-
- `verificar --json`: mostra o estado operacional do projeto
|
|
90
|
-
|
|
91
|
-
Se a IA puder consumir `ir --json`, melhor ainda. E ali que a linguagem fica menos ambigua e mais utilizavel para automacao. Mas nao seja um animal: para modelo pequeno, comece em `resumo` e `briefing.min.json`.
|
|
92
|
-
|
|
93
|
-
## Camada 4. Exemplos reais
|
|
94
|
-
|
|
95
|
-
Modelo aprende muito por padrao. Por isso, bons exemplos valem quase tanto quanto especificacao.
|
|
96
|
-
|
|
97
|
-
Arquivos recomendados:
|
|
98
|
-
|
|
99
|
-
- [pagamento.sema](../exemplos/pagamento.sema)
|
|
100
|
-
- [pagamento_dominio.sema](../exemplos/pagamento_dominio.sema)
|
|
101
|
-
- [automacao.sema](../exemplos/automacao.sema)
|
|
102
|
-
- [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
|
|
103
|
-
- [crud_simples.sema](../exemplos/crud_simples.sema)
|
|
104
|
-
|
|
105
|
-
O vertical oficial de pagamento deve ser tratado como a referencia principal.
|
|
106
|
-
|
|
107
|
-
## O que a IA nao deve fazer
|
|
108
|
-
|
|
109
|
-
- inventar palavras-chave fora da gramatica
|
|
110
|
-
- introduzir blocos inexistentes
|
|
111
|
-
- assumir semantica que nao aparece na especificacao
|
|
112
|
-
- tratar draft importado como contrato final so porque veio da CLI
|
|
113
|
-
- tratar a Sema como gerador magico de sistema completo
|
|
114
|
-
- editar `.sema` sem rodar `sema formatar`
|
|
115
|
-
- encerrar alteracao sem consultar `diagnosticos` quando houver falha
|
|
116
|
-
|
|
117
|
-
## O que a IA deve fazer
|
|
118
|
-
|
|
119
|
-
- usar a gramatica e os exemplos como fonte de estilo
|
|
120
|
-
- usar a IR como fonte de verdade semantica sempre que possivel
|
|
121
|
-
- usar diagnosticos estruturados como guia de correcao
|
|
122
|
-
- rodar o formatador antes de considerar o trabalho pronto
|
|
123
|
-
- validar e verificar a mudanca no mesmo fluxo
|
|
124
|
-
|
|
125
|
-
## Estrategia recomendada
|
|
126
|
-
|
|
127
|
-
Se voce for instruir uma IA para trabalhar com Sema, entregue o contexto nesta ordem:
|
|
128
|
-
|
|
129
|
-
1. [README.md](../README.md)
|
|
130
|
-
2. [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
|
|
131
|
-
3. [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
|
|
132
|
-
4. [prompt-base-ia-sema.md](./prompt-base-ia-sema.md)
|
|
133
|
-
5. `sema resumo --micro` ou `sema resumo --curto`, conforme a capacidade da IA
|
|
134
|
-
6. `ast --json`, `ir --json` e `diagnosticos --json` do modulo alvo, se a capacidade aguentar
|
|
135
|
-
|
|
136
|
-
Essa ordem faz a IA ir de contexto geral para contexto operacional, em vez de cair direto num arquivo cru e sair chutando.
|
|
137
|
-
|
|
138
|
-
## Regra de ouro
|
|
139
|
-
|
|
140
|
-
A Sema foi desenhada para ser entendida por IA, mas isso nao significa que a IA vai adivinhar sozinha.
|
|
141
|
-
|
|
142
|
-
Ela entende bem quando recebe:
|
|
143
|
-
|
|
144
|
-
- especificacao
|
|
145
|
-
- exemplos
|
|
146
|
-
- JSON estrutural
|
|
147
|
-
- feedback automatico
|
|
148
|
-
|
|
149
|
-
Sem isso, ate o modelo mais caro vira estagiario emocionado.
|
package/docs/deploy.md
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# Deploy
|
|
2
|
-
|
|
3
|
-
Este runbook governa a publicacao publica da Sema: CLI, MCP, VSIX, instaladores e release assets.
|
|
4
|
-
|
|
5
|
-
## Pre-condicoes
|
|
6
|
-
|
|
7
|
-
- `sema resumo` executado no projeto antes da mudanca.
|
|
8
|
-
- `sema inspecionar contratos/sema/governanca_ia.sema --json` executado para confirmar o contrato relacionado.
|
|
9
|
-
- `sema drift contratos/sema/governanca_ia.sema --escopo modulo --json` sem diagnosticos bloqueantes.
|
|
10
|
-
- `sema docs-impacto --intencao "<release>" --criar-ausentes --json` executado e todos os docs obrigatorios lidos.
|
|
11
|
-
- `npm whoami` autenticado com uma conta que pode publicar `@semacode/cli` e `@semacode/mcp`.
|
|
12
|
-
- `gh auth status` autenticado com permissao de push e release em `gerlanss/Sema`.
|
|
13
|
-
- Workspace revisado para nao incluir lixo local, caches ou artefatos temporarios fora de `.tmp/`.
|
|
14
|
-
|
|
15
|
-
## Sequencia segura
|
|
16
|
-
|
|
17
|
-
1. Escolha uma versao que ainda nao exista no NPM.
|
|
18
|
-
2. Atualize `package.json`, workspaces, lockfiles, changelog e docs antes de empacotar.
|
|
19
|
-
3. Rode `npm run build`.
|
|
20
|
-
4. Rode os testes focados e checagens de release.
|
|
21
|
-
5. Rode `npm run release:preparar-publica` para gerar `.tmp/release-assets`.
|
|
22
|
-
6. Publique NPM com `npm run release:publicar-npm`.
|
|
23
|
-
7. Instale a CLI e o MCP publicados para smoke test.
|
|
24
|
-
8. Empacote e instale a VSIX localmente para smoke test da extensao.
|
|
25
|
-
9. Rode `sema finalizar-mudanca` com as docs lidas antes de concluir.
|
|
26
|
-
10. Commit, push, tag e GitHub Release com os assets gerados.
|
|
27
|
-
|
|
28
|
-
## Validacao minima
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
npm run build
|
|
32
|
-
npm run format:check
|
|
33
|
-
npm run status:check
|
|
34
|
-
node --import tsx --test --test-name-pattern "docs operacionais|ajuda de ia|mcp cli responde" testes/integracao/cli-json-e-editor.test.ts
|
|
35
|
-
sema validar contratos/sema/governanca_ia.sema --json
|
|
36
|
-
sema drift contratos/sema/governanca_ia.sema --escopo modulo --json
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Depois de publicar:
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
npm view @semacode/cli version
|
|
43
|
-
npm view @semacode/mcp version
|
|
44
|
-
npm install -g @semacode/cli@<versao>
|
|
45
|
-
npm install -g @semacode/mcp@<versao>
|
|
46
|
-
sema --version
|
|
47
|
-
sema docs-impacto --intencao "smoke release" --json
|
|
48
|
-
sema-mcp --help
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Release assets
|
|
52
|
-
|
|
53
|
-
`npm run release:preparar-publica` deve gerar:
|
|
54
|
-
|
|
55
|
-
- `sema-cli-<versao>.tgz`
|
|
56
|
-
- `sema-cli-latest.tgz`
|
|
57
|
-
- `sema-language-tools-<versao>.vsix`
|
|
58
|
-
- `sema-language-tools-latest.vsix`
|
|
59
|
-
- `install-sema.sh`
|
|
60
|
-
- `install-sema.ps1`
|
|
61
|
-
- `SHA256SUMS.txt`
|
|
62
|
-
- `release-notes.md`
|
|
63
|
-
|
|
64
|
-
## Sinais de parada
|
|
65
|
-
|
|
66
|
-
- NPM ja tem a versao escolhida.
|
|
67
|
-
- `npm whoami` falha.
|
|
68
|
-
- `gh auth status` falha.
|
|
69
|
-
- `sema validar`, `sema drift`, build ou testes falham.
|
|
70
|
-
- `release:preparar-publica` encontra versoes desalinhadas entre root, CLI, MCP e extensao.
|
package/docs/documentacao.md
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# Governanca de Documentacao
|
|
2
|
-
|
|
3
|
-
A Sema trata documentacao como parte da mudanca, nao como pos-escrito simpatico para alguem lembrar depois.
|
|
4
|
-
|
|
5
|
-
## Regra principal
|
|
6
|
-
|
|
7
|
-
Toda IA deve resolver documentacao obrigatoria antes de editar contrato, codigo, configuracao ou executar operacoes como deploy.
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
sema docs-impacto --intencao "criar rota de pagamento" --arquivo contratos/pagamento.sema --json
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Se o comando apontar docs ausentes, crie ou preencha essas docs antes da acao. Para criar runbooks base:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Leitura obrigatoria
|
|
20
|
-
|
|
21
|
-
O resultado de `docs-impacto` traz:
|
|
22
|
-
|
|
23
|
-
- `leituraObrigatoria`: docs, readmes e contratos que devem ser lidos.
|
|
24
|
-
- `docsAusentes`: docs que bloqueiam a acao.
|
|
25
|
-
- `docsCriadas`: docs criadas automaticamente quando autorizado.
|
|
26
|
-
- `bloqueios`: diagnosticos de severidade 4.
|
|
27
|
-
|
|
28
|
-
O conteudo dos documentos existentes vem na resposta para que o agente realmente leia o material antes de agir.
|
|
29
|
-
|
|
30
|
-
## Finalizacao
|
|
31
|
-
|
|
32
|
-
Antes de responder que terminou, a IA deve chamar:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
sema finalizar-mudanca --intencao "criar rota de pagamento" --doc-lida README.md --doc-lida docs/api.md --json
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Se faltar leitura ou documentacao, a conclusao deve ser bloqueada.
|
|
39
|
-
|
|
40
|
-
## Docs que podem nascer automaticamente
|
|
41
|
-
|
|
42
|
-
O Sema cria runbooks base para categorias operacionais:
|
|
43
|
-
|
|
44
|
-
- `docs/deploy.md`
|
|
45
|
-
- `docs/env.md`
|
|
46
|
-
- `docs/rollback.md`
|
|
47
|
-
- `docs/api.md`
|
|
48
|
-
- `docs/auth.md`
|
|
49
|
-
- `docs/seguranca.md`
|
|
50
|
-
- `docs/database.md`
|
|
51
|
-
- `docs/frontend.md`
|
|
52
|
-
- `docs/testes.md`
|
|
53
|
-
- `docs/mcp.md`
|
|
54
|
-
- `docs/documentacao.md`
|
|
55
|
-
- `docs/extensao-vscode.md`
|
|
56
|
-
|
|
57
|
-
Esses arquivos sao esqueletos seguros. Eles devem ser completados com detalhes reais do projeto quando a operacao exigir.
|
|
58
|
-
|
|
59
|
-
## O que nao fazer
|
|
60
|
-
|
|
61
|
-
- Nao concluir uma mudanca sem rodar o portao documental.
|
|
62
|
-
- Nao usar doc criada automaticamente como evidencia final se ela ainda esta generica.
|
|
63
|
-
- Nao editar codigo sem contrato e sem leitura das docs relacionadas.
|