Skip to content

Latest commit

 

History

History
33 lines (28 loc) · 2.18 KB

File metadata and controls

33 lines (28 loc) · 2.18 KB

AGENTS.md - Contexto de Modernização e Aprendizado (Java 21)

Contexto do Dev (Orquestrador)

  • Desenvolvedor sênior com mais de 30 anos de experiência em tecnologia, especialista em IBM i (AS/400) e linguagem RPG (ILE e Free).
  • Em transição de carreira focando em se consolidar como Especialista IBM i / Integração / Java.
  • Objetivo do Workspace: Estudo prático de modernização de sistemas, padrões de projetos modernos e APIs.

Stack Alvo de Tecnologia

  • Java 21 (LTS)
  • Spring Boot 3
  • APIs RESTful e persistência de dados modernos
  • Banco de dados: SQLite (Local)
  • Versionamento: Git

Arquitetura e Boas Práticas (SDLC)

  • Sempre utilizar o padrão MVC ou Clean Architecture para os códigos Java.
  • O código gerado deve focar em alta performance, legibilidade e ciber-resiliência.
  • Estruturar a lógica de persistência de forma desacoplada e limpa usando JPA.

O que NUNCA fazer

  • Nunca instale dependências ou novas bibliotecas sem solicitar permissão explícita.
  • Evite gerar soluções legadas ou prolixas — dê preferência para as facilidades modernas do Spring Boot com Java 21 (como Records e estruturas limpas).
  • Nunca exponha chaves de API ou credenciais diretamente nos arquivos do projeto.

Auditoria de Segurança (OBRIGATÓRIO antes de cada push)

  • Sempre rodar a auditoria de segredos antes de commitar/enviar ao Git: powershell -NoProfile -ExecutionPolicy Bypass -File scripts\audit-secrets.ps1
  • Confirme que .env está no .gitignore (existe e não é rastreado). NUNCA commite .env.
  • Se uma chave foi exposta, informar o usuário que ela deve ser rotacionada no painel Supabase (Project Settings -> API -> Service Role -> Regenerate).
  • Não imprimir/exibir valores de segredos no chat; apenas nomes de arquivo e linha.
  • Chaves de API (ex.: SUPABASE_SERVICE_ROLE) devem ser lidas somente via variável de ambiente / dotenv — nunca hardcoded no código, documentação ou scripts.
  • .env.example pode ser versionado, mas apenas com placeholders (ex.: SUPABASE_SERVICE_ROLE=coloque_a_chave_localmente).
  • O hook pre-push (git config core.hooksPath .githooks) já executa a auditoria automaticamente; se falhar, o push é bloqueado.