Skip to content

Commit 9539bc2

Browse files
committed
ai: melhoria de arquivos de agentes com novas instruções
1 parent 8f7c191 commit 9539bc2

8 files changed

Lines changed: 215 additions & 6 deletions

File tree

.agents/AGENT_QUICKSTART.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# AGENT_QUICKSTART (PascalRAL-dev)
2+
3+
Guia mínimo para agentes de IA navegarem o projeto com **baixo consumo de contexto**.
4+
5+
> Regra: quando você terminar uma etapa, volte aqui e escolha o próximo arquivo-alvo. Não “passeie” pelo repo.
6+
7+
---
8+
9+
## 0) Identifique seu objetivo (escolha 1)
10+
11+
1. **Criar/entender rotas e execução no Server**`src/base/RALRoutes.pas` + `src/base/RALServer.pas`
12+
2. **Criar/entender Client (como faz requests e decodifica respostas)**`src/base/RALClient.pas` + `src/engine/*`
13+
3. **Entender Request/Response/Params (Body, Headers, Query, Answer)**`src/base/RALParams.pas` + `src/base/RALRequest.pas` + `src/base/RALResponse.pas`
14+
4. **Multipart (upload/download)**`src/utils/RALMultipartCoder.pas`
15+
5. **JSON / Storage (serialização)**`src/utils/RALJson.pas` + `src/utils/RALStorage*.pas`
16+
6. **Compress/Cripto/Stream (pipeline de bytes)**`src/utils/RALStream.pas` + `src/utils/RALCompress*.pas` + `src/utils/RALCripto*.pas`
17+
7. **DBWare/DBModule (integrar com banco)**`src/database/RALDBModule.pas` + `src/database/*` + `src/utils/RALStorage*.pas`
18+
8. **Swagger/Postman (export de rotas/documentação)**`src/base/modules/RALSwaggerExporter.pas` + `src/base/modules/RALSwaggerModule.pas` + `src/base/modules/RALPostmanExporter.pas`
19+
9. **Autenticação/Security**`src/base/plugins/RALAuthentication.pas` + `src/base/RALRoutes.pas` (checagens/allowed methods)
20+
21+
---
22+
23+
## 1) Fluxos mentais (para não perder contexto)
24+
25+
### Server
26+
- `RALServer` (loop/config)
27+
- `RALRoutes` (resolução de rota)
28+
- Engine de transporte (CGI/fpHTTP/Indy/etc.) traduz bytes ⇄ `TRALRequest/TRALResponse`
29+
- Handler de rota preenche `AResponse` (ex.: `AResponse.Answer(...)`)
30+
31+
### Client
32+
- `RALClient` orquestra
33+
- Engine do transporte envia request
34+
- `TRALRequest` é serializado (params/headers/body + compress/cripto quando configurado)
35+
- Resposta vira `TRALResponse` e é decodificada
36+
37+
---
38+
39+
## 2) Padrão de handler (exemplo “não inventar”)
40+
41+
Ao criar um handler em mensagens/chat:
42+
1. confirme a **assinatura exata** no repo em `RALServer`/`RALRoutes` (ou um exemplo de engine)
43+
2. use `AResponse.Answer(...)` com constantes quando existirem no repo
44+
45+
---
46+
47+
## 3) Próximo arquivo recomendado (sempre)
48+
49+
Comece por:
50+
- `src/base/RALRoutes.pas`
51+
52+
Se você estiver preso, volte e escolha o objetivo do item (0).
53+
54+
---
55+
56+
## 4) Recursos “para agente” (cache de navegação)
57+
58+
- Mapa do repo (com detalhes): `.agents/PROJECT_MAP.md`
59+
- Guidelines anti-custo: `.agents/SKILLS.md`
60+
- Playbooks por tarefa: `.agents/TASK_PLAYBOOKS.md`
61+

.agents/PROJECT_MAP.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,20 @@ Este arquivo foi criado para ajudar agentes de IA a entenderem rapidamente a est
66
77
---
88

9+
## 0) TL;DR (leia primeiro)
10+
11+
- Se você está em dúvida: comece por `.agents/AGENT_QUICKSTART.md`.
12+
13+
14+
- Se você precisa “onde começar”, use `.agents/AGENT_QUICKSTART.md`.
15+
- Para entender o fluxo geral, use a visão conceitual (seções 4.1/4.2/4.3).
16+
- Para navegação por tarefa: use `.agents/TASK_PLAYBOOKS.md`.
17+
18+
---
19+
920
## 1) Estrutura raiz
1021

22+
1123
- `.gitignore`
1224
- `.gitmodules`
1325
- `CHANGELOG.md` — histórico de mudanças, releases e notas de correções.

.agents/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
Pasta para materiais auxiliares de automação e agentes de IA.
44

5+
- `AGENT_QUICKSTART.md` — guia mínimo (baixo consumo de contexto) para escolher o próximo arquivo-alvo.
56
- `PROJECT_MAP.md` — mapa amigável do repositório para acelerar entendimento e navegação por agentes de IA.
67
- `SKILLS.md` — instruções e guidelines para melhorar desempenho/eficiência dos agentes.
78

9+
> Use primeiro `AGENT_QUICKSTART.md` quando a janela de contexto for pequena.
10+
811

.agents/SKILLS.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ Instruções para acelerar desempenho de agentes de IA usando este repositório.
44

55
---
66

7-
## 1) Primeiro passo: use o `PROJECT_MAP.md`
8-
- Leia **`.agents/PROJECT_MAP.md`** para entender onde está o código.
7+
## 1) Primeiro passo: use o `AGENT_QUICKSTART.md`
8+
- Leia **`.agents/AGENT_QUICKSTART.md`** para escolher o primeiro arquivo-alvo com baixo consumo de contexto.
9+
- Em seguida, use **`.agents/PROJECT_MAP.md`** para navegação e entendimento de fluxo.
910
- Em seguida, escolha a seção do mapa que corresponde ao seu objetivo:
1011

12+
1113
> Para reduzir gasto de tokens, use um cache local (abaixo) antes de refazer indexações/leitura repetitiva.
1214
1315
- Rotas/servidor → `src/base/RALRoutes.pas`, `src/base/RALServer.pas`

.agents/TASK_PLAYBOOKS.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# TASK_PLAYBOOKS (PascalRAL-dev)
2+
3+
Playbooks curtos para tarefas comuns. Cada playbook aponta exatamente **onde ler** antes de responder/codar.
4+
5+
---
6+
7+
## Playbook A — “Quero uma rota ping (Server)”
8+
9+
1) Leia:
10+
- `src/base/RALRoutes.pas` (como rotas são registradas/descobertas)
11+
- `src/base/RALServer.pas` (como o ciclo executa handlers)
12+
13+
2) Depois escolha engine:
14+
- `src/engine/indy/RALIndyServer.pas` (ou fpHTTP/synopse/cgi)
15+
16+
3) Confirme a assinatura do handler no repo.
17+
18+
4) No handler, preencha resposta usando o padrão do projeto:
19+
- procure exemplos de `AResponse.Answer(...)` em `src/base/RALResponse.pas` e handlers existentes.
20+
21+
---
22+
23+
## Playbook B — “Quero consumir a rota via Client”
24+
25+
1) Leia:
26+
- `src/base/RALClient.pas` (orquestra)
27+
- `src/base/RALRequest.pas` / `src/base/RALResponse.pas`
28+
29+
2) Escolha engine do transporte:
30+
- `src/engine/indy/RALIndyClient.pas`
31+
- `src/engine/fpHTTP/RALfpHTTPClient.pas`
32+
- `src/engine/netHTTP/RALnetHTTPClient.pas`
33+
- `src/engine/synopse/RALSynopseClient.pas`
34+
- `src/engine/unigui/RALUniGUIRegister.pas` (se aplicável)
35+
36+
3) Confirme:
37+
- como setar BaseURL/route
38+
- como passa body/headers
39+
- como ler status/response text/json
40+
41+
---
42+
43+
## Playbook C — “Enviar JSON e ler JSON”
44+
45+
1) Leia:
46+
- `src/utils/RALJson.pas`
47+
- `src/base/RALParams.pas` (conversion helpers)
48+
- `src/base/RALResponse.pas`
49+
50+
2) Confirme onde fica o encoder/decoder do repo.
51+
52+
3) Em handlers:
53+
- use `AResponse.Answer(HTTP_OK, <payload>, <content-type/rct...>)` (procure os tipos constantes no repo)
54+
55+
---
56+
57+
## Playbook D — “Multipart/form-data”
58+
59+
1) Leia:
60+
- `src/utils/RALMultipartCoder.pas`
61+
- `src/base/RALParams.pas` (quando faz decode do body)
62+
63+
2) Confirme:
64+
- como adicionar File vs Text no `TRALParams`
65+
- como ler de volta do `TRALParams` no server handler
66+
67+
---
68+
69+
## Playbook E — “Compressão e Criptografia (pipeline de bytes)”
70+
71+
1) Leia:
72+
- `src/utils/RALStream.pas` (bytes/stream helpers)
73+
- `src/utils/RALCompress*.pas`
74+
- `src/utils/RALCripto*.pas`
75+
76+
2) Leia as dependências no pipeline:
77+
- `src/base/RALRequest.pas` / `src/base/RALResponse.pas`
78+
- `src/base/RALParams.pas` (EncodeBody/DecodeBody)
79+
80+
3) Só então ajuste engine:
81+
- procure onde `Content-Encoding`, `Accept-Encoding`, flags de compress/cripto são checados.
82+
83+
---
84+
85+
## Playbook F — “DBWare/DBModule (ExecSQL/Open/ApplyUpdates)”
86+
87+
1) Leia:
88+
- `src/database/RALDBModule.pas` (mapeia requests → ações)
89+
- `src/database/RALDBBase.pas` (base comum)
90+
91+
2) Conectores:
92+
- `src/database/FireDAC/*`
93+
- `src/database/sqldb/*`
94+
- `src/database/Zeos/*`
95+
96+
3) Persistência/serialização do resultado:
97+
- `src/utils/RALStorage*.pas`
98+
99+
---
100+
101+
## Playbook G — “Swagger e Postman”
102+
103+
1) Leia:
104+
- `src/base/modules/RALSwaggerExporter.pas` + `src/base/modules/RALSwaggerModule.pas`
105+
- `src/base/modules/RALPostmanExporter.pas`
106+
107+
2) Se precisar customizar:
108+
- procure no repo onde `SwaggerModule` recebe URLs/paths/titles.
109+
110+
---
111+
112+
## Playbook H — “Security/Auth (Allowed/Skip + plugin)”
113+
114+
1) Leia:
115+
- `src/base/plugins/RALAuthentication.pas`
116+
- `src/base/RALRoutes.pas` (allowed/skip e validações)
117+
118+
2) Leia o fluxo:
119+
- `src/base/RALServer.pas` (quando valida e quando responde)
120+
121+
---
122+
123+
## Regra geral (evitar gastar tokens)
124+
125+
- Comece por **um** arquivo (o mais central do playbook).
126+
- Só depois abra os 1-2 dependentes listados.
127+
- Não use `compiled/` como fonte.
128+

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ Pascal REST API Lite is a component suite to allow creating and consuming APIs i
55

66
## Minimal workflow for AI agents (compact)
77
This repo has a short, agent-oriented guide optimized for small context windows:
8-
- `.agents\README.md`
8+
- `.agents/README.md`
9+
910

1011
## Security
1112
See `SECURITY.md` for supported versions and how to report vulnerabilities.

READMEES.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Pascal REST API Lite es un conjunto de componentes para crear y consumir APIs de
55

66
## Flujo mínimo para agentes de IA (compacto)
77
Existe un guía corto orientado a agentes, optimizado para ventanas de contexto pequeñas:
8-
- `.agents\README.md` (EN)
8+
- `.agents/README.md` (EN)
99

1010
## Seguridad
11-
Ver `SECURITY.md` para versiones soportadas y cómo reportar vulnerabilidades.
11+
Ver `SECURITY.md` para las versiones soportadas y cómo reportar vulnerabilidades.
1212

1313

1414

@@ -38,3 +38,4 @@ Comparativo Lazarus Windows
3838

3939
Comparativo Lazarus Linux
4040
<br/><img src="https://docs.google.com/spreadsheets/d/e/2PACX-1vQQ-tumA_HFJdvoFoztRWFVokDwf_6UrzdFswFo5a-u0QLRFBuLMlmOoa3Hp2qiq0k1S5kE-8IjQein/pubchart?oid=1479879994&format=image" width=640px/>
41+

READMEPT.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ Pascal REST API Lite é uma suíte de componentes de criação e consumo de APIs
55

66
## Fluxo mínimo para agentes de IA (compacto)
77
Existe um guia curto e orientado a agentes, otimizado para janelas de contexto pequenas:
8-
- `.agents\README.md` (EN)
8+
- `.agents/README.md` (EN)
9+
910

1011
## Segurança
1112
Veja `SECURITY.md` para versões suportadas e como relatar vulnerabilidades.

0 commit comments

Comments
 (0)