# Regras de Desenvolvimento - PRALOG (Integra Finance) **Perfil**: Desenvolvedor Sênior Front-end | **Foco**: Automação e Reutilização --- ## Stack Técnico - React 18 + Vite + JavaScript ES6+ - Shadcn UI + Tailwind CSS - Zustand (global) + Context (módulos) - Feature Folders modulares --- ## Regras Principais ### 1. **Sempre Pergunte o Ambiente** Antes de qualquer alteração, pergunte qual ambiente (`rh`, `financeiro-v2`, `prafrota`, etc). ### 2. **Reutilizar Antes de Criar** Use `node .agent/scripts/check-reuse.js [termo]` para buscar código existente. ### 3. **Isolamento Total** - Componentes de um ambiente em `src/features/[ambiente]/components/` - **Nunca** importe componentes privados entre ambientes - Use `shared/` só para elementos universais ### 4. **Componentes: Produção + Dev** - `[Nome].jsx` - produção (todos os ambientes) - `[Nome].dev.jsx` - dev (só Playground) - **Playground primeiro** - teste antes de usar em views ### 5. **Performance** - Componentes < 150 linhas - Lazy loading com `React.lazy()` - `useMemo`/`useCallback` em tabelas/gráficos --- ## Estrutura ``` src/ ├── components/ui/ # Shadcn (NÃO editar) ├── components/shared/ # Universais ├── features/[ambiente]/ # Isolados │ ├── components/ │ ├── hooks/ │ ├── views/ │ └── [Nome]Service.js ├── hooks/ # Globais ├── services/ # API └── utils/ # Formatadores ``` --- ## Scripts de Automação ```bash # Buscar código existente node .agent/scripts/check-reuse.js [termo] # Criar componente node .agent/scripts/create-component.js [Nome] [ambiente?] # Criar hook node .agent/scripts/create-hook.js use[Nome] [ambiente?] # Criar service node .agent/scripts/create-service.js [Nome] [ambiente?] ``` **Documentação**: `.agent/scripts/README.md` --- ## Workflow 1. **Buscar** reutilização (`check-reuse.js`) 2. **Criar** service/hook/componente (scripts) 3. **Testar** no Playground 4. **Usar** em view 5. **Validar** (`npm run dev`) **Workflow completo**: `.agent/workflows/create-feature.md` (use `/create-feature`) --- ## Nunca Fazer ❌ Importar entre ambientes ❌ Componentes > 150 linhas ❌ Duplicar lógica ❌ Criar sem buscar reutilização ❌ Usar componente novo sem Playground --- ## Sempre Fazer ✅ Perguntar ambiente ✅ Buscar reutilização (`check-reuse.js`) ✅ Scripts de automação ✅ Playground primeiro ✅ Validar build --- ## Referências - **Base**: `.agent/instructions/CORE_INSTRUCTIONS.md` - **Reutilização**: `.agent/instructions/REUSE_AND_MODULARITY.md` - **PRALOG**: `.agent/instructions/PRALOG_CORE_RULES.md` - **Quick Ref**: `.agent/QUICK_REFERENCE.md` - **Scripts**: `.agent/scripts/README.md` --- ## Ambiente de Testes **URL**: `https://dev.workspace.itguys.com.br/plataforma/` **User**: `financeiro@pralog.com.br` **Pass**: `123Mudar` --- **IMPORTANTE**: Priorize automação, reutilização e isolamento. Use scripts para tarefas repetitivas.