Estrutura inicial, ambiente IA

This commit is contained in:
victor
2026-05-14 09:54:24 -03:00
commit 48095a3c64
49 changed files with 4596 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
---
description: "Use quando editar Oracle PL/SQL no DavinTI/Vitruvio (.sql, .pks, .pkb): convencoes de procedures, tratamento de excecoes, uso de schema e padroes de formatacao."
name: "Oracle PL SQL Vitruvio"
applyTo: "**/*.sql, **/*.pks, **/*.pkb"
---
# Oracle PL SQL (Vitruvio)
- Consulte objetos, views e tabelas utilizando o servidor MCP para se conectar ao banco garantir o uso correto de schemas, colunas e tipos de dados.
- Utilize preferencialmente o MCP `oracle-davinti` para conexão e validação de consultas no banco `SUPERUS_PRODUCAO`; use a ferramenta SQLcl (Extensão do VS CODE) apenas como fallback quando necessário.
- Siga as convencoes do time Oracle usadas nas procedures e packages do repositorio.
- Mantenha os padroes de nomenclatura:
- `PRC_VTR_*` para procedures.
- `FNC_*` para functions.
- Prefira uso explicito de schema em consultas/atualizacoes de tabelas compartilhadas.
- Trate excecoes de forma explicita; inclua `EXCEPTION WHEN NO_DATA_FOUND THEN ...` quando aplicavel.
- Prefira `SELECT ... INTO` com `NVL`/`CASE` em vez de cursores desnecessarios.
- Mantenha a formatacao consistente:
- Palavras-chave SQL em maiusculo.
- Indentacao e alinhamento compativeis com os arquivos existentes.
- Mantenha alteracoes focadas e seguras; evite reescritas amplas em procedures legadas.
- Preserve o estilo de historico de comentarios ao incluir novas anotacoes.
+21
View File
@@ -0,0 +1,21 @@
---
description: "Use quando editar JavaScript Rhino no DavinTI/Vitruvio (.js) e scripts nos formularios/processos .xml Vitruvio: compatibilidade ES5, padroes de db/query, interop Java, concatenacao SQL/HTML e alteracoes seguras para producao."
name: "Rhino ES5 Vitruvio"
applyTo: "**/*.js, **/*.xml"
---
# Rhino ES5 (Vitruvio)
- O runtime e Rhino ES5. Use sempre `var`.
- Nao use `let`, `const`, template strings, arrow functions, optional chaining ou outros recursos modernos de JS.
- Em comparacoes com objetos Java (interop), prefira `==` e `!=`.
- Monte SQL/HTML com concatenacao incremental:
- `var sql = ""; sql += " SELECT ...";`
- Prefira APIs/libs padrao da plataforma:
- `libService.loadScript('db'|'javadateutils'|'util'|...)`
- `new db("CONEXAO")`, `db.queryRow(sql, params)`, `db.query(sql, params).each(function (row) { ... })`, `db.transaction(function () { ... })`, `db.executeProcedure(nome, parametros)`, `db.update(sql, params)`
- `engine.getField('campo').setValue`, `engine.getLabel('id').setValue`, `engine.getWidget('id')`, `engine.setGlobalVariable('nome', funcao);`
- `execution.getVariable/ setVariable`, `taskService`, `vFormService`, `sendMessageToVitruvio({ ... })`
- `db.query` retorna `null` quando nao ha linhas; se o objeto existir, ja ha ao menos um registro e deve ser percorrido com `lista.each(...)` (nao usar `size`).
- Organize helpers internos (formatação de data, filtros, builders de HTML) antes das funcoes expostas (`this.metodo = function () { ... }`).
- Mantenha nomenclatura e convencoes existentes em portugues.
- Priorize alteracoes minimas e compativeis com producao, evitando refactors amplos.
+20
View File
@@ -0,0 +1,20 @@
---
description: "Use quando editar formularios/processos Vitruvio em XML/BPMN (.xml, .bpmn): estrutura, namespace, scripts CDATA, defaults de bind e scripts compativeis com Rhino."
name: "Vitruvio XML e BPMN"
applyTo: "**/*.xml, **/*.bpmn"
---
# Vitruvio XML e BPMN
- Preserve a estrutura de XML Vitruvio e os padroes de nomenclatura ja usados no repositorio.
- Mantenha namespaces oficiais e schema locations nas tags raiz.
- Scripts dentro do XML devem ser compativeis com Rhino (ES5):
- Usar apenas `var`.
- Nao usar template strings porém outros recursos modernos de JS são compativeis, como métodos de array (`forEach`, `map`, `filter`) e objetos (`Object.keys`, `Object.values`).
- Monte SQL/HTML com concatenacao incremental de strings.
- Mantenha os blocos de skeleton quando aplicavel:
- `descriptorScript`, `form`, `name`, `initScript`, `validators`, `buttons`.
- O acesso a campos/componentes deve seguir o uso da plataforma:
- `engine.getField`, `engine.getLabel`, `engine.getWidget`, `engine.setGlobalVariable`.
- Em `<bind>`, todo `<parameter>` deve conter `defaultValue` (string, number, date).
- Reaproveite IDs e padroes de formularios existentes sempre que possivel.
- Mantenha scripts curtos, legiveis e focados no comportamento em runtime.