maestro-bundle 1.9.0 → 2.0.1

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.
@@ -1,65 +1,65 @@
1
- # Projeto: Pipeline de Dados e ML
1
+ # Project: Data and ML Pipeline
2
2
 
3
- Você está construindo um pipeline de dados que inclui ingestão, processamento, treinamento de modelos e serving. O projeto usa Python com foco em engenharia de dados e machine learning.
3
+ You are building a data pipeline that includes ingestion, processing, model training, and serving. The project uses Python with a focus on data engineering and machine learning.
4
4
 
5
5
  ## Specification-Driven Development (SDD)
6
6
 
7
- A regra fundamental de SDD está definida no bundle-base (AGENTS.md base) e é inegociável:
8
- **Sem spec, sem código. Sem exceção.** O agente deve recusar implementar qualquer demanda que
9
- não tenha passado pelo fluxo `/speckit.specify` → `/speckit.plan` → `/speckit.tasks` → `/speckit.implement`.
7
+ The fundamental SDD rule is defined in the bundle-base (base AGENTS.md) and is non-negotiable:
8
+ **No spec, no code. No exception.** The agent must refuse to implement any demand that
9
+ has not gone through the `/speckit.specify` → `/speckit.plan` → `/speckit.tasks` → `/speckit.implement` flow.
10
10
 
11
- Se o usuário pedir para codar algo sem spec, PARE e inicie o fluxo SDD primeiro.
12
- Consulte `.specify/specs/` para verificar se existe spec para a demanda.
11
+ If the user asks to code something without a spec, STOP and initiate the SDD flow first.
12
+ Check `.specify/specs/` to verify if a spec already exists for the demand.
13
13
 
14
14
  ## Product Requirements Document
15
15
 
16
- O arquivo `PRD.md` na raiz do projeto contém os requisitos do produto definidos pelo analista/dev. Consulte-o para entender O QUE construir, as user stories, critérios de aceite, modelo de dados e API specification. Este AGENTS.md define COMO o agente deve trabalhar; o PRD define O QUE deve ser construído.
16
+ The `PRD.md` file at the project root contains the product requirements defined by the analyst/dev. Consult it to understand WHAT to build, the user stories, acceptance criteria, data model, and API specification. This AGENTS.md defines HOW the agent should work; the PRD defines WHAT should be built.
17
17
 
18
- - `PRD.md` — Requisitos do produto, user stories, API spec, modelo de dados
18
+ - `PRD.md` — Product requirements, user stories, API spec, data model
19
19
 
20
20
  ## References
21
21
 
22
- Documentos de referência que o agente deve consultar quando necessário:
22
+ Reference documents that the agent should consult when necessary:
23
23
 
24
- - `references/pandas-patterns.md` — Padrões de transformação com Pandas
25
- - `references/mlflow-guide.md` — Guia de experiment tracking
26
- - `references/data-validation.md` — Validação com Pandera/Great Expectations
24
+ - `references/pandas-patterns.md` — Pandas transformation patterns
25
+ - `references/mlflow-guide.md` — Experiment tracking guide
26
+ - `references/data-validation.md` — Validation with Pandera/Great Expectations
27
27
 
28
- ## Stack do projeto
28
+ ## Project Stack
29
29
 
30
- - **Linguagem:** Python 3.11+
31
- - **Dados:** Pandas, Polars, NumPy
30
+ - **Language:** Python 3.11+
31
+ - **Data:** Pandas, Polars, NumPy
32
32
  - **ML:** Scikit-learn, XGBoost, LightGBM
33
- - **Deep Learning:** PyTorch (quando necessário)
34
- - **Pipeline:** Apache Airflow ou Prefect
33
+ - **Deep Learning:** PyTorch (when needed)
34
+ - **Pipeline:** Apache Airflow or Prefect
35
35
  - **Experiment Tracking:** MLflow
36
- - **RAG (se aplicável):** LangChain + pgvector
37
- - **Banco:** PostgreSQL
36
+ - **RAG (if applicable):** LangChain + pgvector
37
+ - **Database:** PostgreSQL
38
38
  - **Containers:** Docker
39
- - **Validação:** Pandera, Great Expectations
39
+ - **Validation:** Pandera, Great Expectations
40
40
 
41
- ## Estrutura do projeto
41
+ ## Project Structure
42
42
 
43
43
  ```
44
44
  src/
45
45
  ├── data/
46
- │ ├── raw/ # Dados originais (imutáveis, nunca editar)
47
- │ ├── processed/ # Dados transformados
46
+ │ ├── raw/ # Original data (immutable, never edit)
47
+ │ ├── processed/ # Transformed data
48
48
  │ └── features/ # Feature store
49
49
  ├── pipelines/
50
- │ ├── ingestion/ # Ingestão de fontes externas
51
- │ ├── preprocessing/ # Limpeza e transformação
52
- │ ├── feature_engineering/ # Criação de features
53
- │ └── training/ # Pipeline de treino
50
+ │ ├── ingestion/ # Ingestion from external sources
51
+ │ ├── preprocessing/ # Cleaning and transformation
52
+ │ ├── feature_engineering/ # Feature creation
53
+ │ └── training/ # Training pipeline
54
54
  ├── models/
55
- │ ├── training/ # Scripts de treino
56
- │ ├── evaluation/ # Avaliação e métricas
57
- │ └── serving/ # API de inferência (FastAPI)
58
- ├── rag/ # Se aplicável
55
+ │ ├── training/ # Training scripts
56
+ │ ├── evaluation/ # Evaluation and metrics
57
+ │ └── serving/ # Inference API (FastAPI)
58
+ ├── rag/ # If applicable
59
59
  │ ├── ingest.py
60
60
  │ ├── retriever.py
61
61
  │ └── embeddings.py
62
- ├── notebooks/ # APENAS exploração (não vai para prod)
62
+ ├── notebooks/ # ONLY for exploration (does not go to prod)
63
63
  ├── tests/
64
64
  │ ├── test_preprocessing.py
65
65
  │ ├── test_features.py
@@ -69,50 +69,50 @@ src/
69
69
  └── models_config.yaml
70
70
  ```
71
71
 
72
- ## Padrões de código
72
+ ## Code Standards
73
73
 
74
- - Máximo 500 linhas por arquivo, 20 linhas por função
75
- - Type hints em funções públicas
76
- - Docstrings em funções de transformação de dados (input/output)
77
- - Black + Ruff para formatação
78
- - Notebook script Python antes de ir para produção
74
+ - Maximum 500 lines per file, 20 lines per function
75
+ - Type hints on public functions
76
+ - Docstrings on data transformation functions (input/output)
77
+ - Black + Ruff for formatting
78
+ - Notebook -> Python script before going to production
79
79
 
80
- ## Padrões de dados
80
+ ## Data Standards
81
81
 
82
- - Dados originais são IMUTÁVEIS nunca editar `raw/`
83
- - Cada transformação é uma função pura (input output, sem side effects)
84
- - Validar schema na entrada de cada pipeline step (Pandera)
85
- - Versionamento de datasets com DVC
86
- - Logging de todas as transformações
82
+ - Original data is IMMUTABLE -- never edit `raw/`
83
+ - Each transformation is a pure function (input -> output, no side effects)
84
+ - Validate schema at the entry of each pipeline step (Pandera)
85
+ - Dataset versioning with DVC
86
+ - Logging of all transformations
87
87
 
88
- ## Padrões de ML
88
+ ## ML Standards
89
89
 
90
- - Todo modelo precisa de baseline (majority class, média, regressão linear)
91
- - Cross-validation k=5 mínimo
92
- - Métricas documentadas: accuracy, precision, recall, F1, AUC
93
- - Feature importance registrada no MLflow
94
- - Modelo serializado com versão
95
- - A/B testing antes de substituir modelo em produção
90
+ - Every model needs a baseline (majority class, mean, linear regression)
91
+ - Cross-validation k=5 minimum
92
+ - Documented metrics: accuracy, precision, recall, F1, AUC
93
+ - Feature importance recorded in MLflow
94
+ - Serialized model with version
95
+ - A/B testing before replacing a model in production
96
96
 
97
97
  ## Git
98
98
 
99
- - Commits: `feat(preprocessing): adicionar normalização de salários`
100
- - Branches: `feature/<pipeline>-<descricao>`
101
- - Nunca commitar dados (usar .gitignore, DVC para dados)
102
- - Nunca commitar modelos binários (usar MLflow registry)
99
+ - Commits: `feat(preprocessing): add salary normalization`
100
+ - Branches: `feature/<pipeline>-<description>`
101
+ - Never commit data (use .gitignore, DVC for data)
102
+ - Never commit binary models (use MLflow registry)
103
103
 
104
- ## Testes
104
+ ## Tests
105
105
 
106
- - Testes de schema (Pandera) para cada transformação
107
- - Testes unitários para funções de feature engineering
108
- - Testes de regressão para métricas do modelo
109
- - Cobertura mínima: 80% em pipelines de transformação
106
+ - Schema tests (Pandera) for each transformation
107
+ - Unit tests for feature engineering functions
108
+ - Regression tests for model metrics
109
+ - Minimum coverage: 80% on transformation pipelines
110
110
 
111
- ## O que NÃO fazer
111
+ ## What NOT to do
112
112
 
113
- - Não colocar notebook em produção sem refatorar
114
- - Não treinar sem baseline
115
- - Não ignorar data drift
116
- - Não usar random seed inconsistente
117
- - Não hardcodar paths usar config
118
- - Não fazer SELECT * em queries de dados grandes
113
+ - Do not put notebooks in production without refactoring
114
+ - Do not train without a baseline
115
+ - Do not ignore data drift
116
+ - Do not use inconsistent random seeds
117
+ - Do not hardcode paths -- use config
118
+ - Do not use SELECT * on large data queries
@@ -1,50 +1,50 @@
1
1
  # Product Requirements Document (PRD)
2
2
 
3
- > Este documento define os requisitos do produto. Deve ser preenchido pelo analista de requisitos e/ou pelo dev antes de iniciar o desenvolvimento. O agente AI usa este documento como contexto para entender O QUE construir.
3
+ > This document defines the product requirements. It should be filled out by the requirements analyst and/or the developer before starting development. The AI agent uses this document as context to understand WHAT to build.
4
4
 
5
- ## 1. Resumo Executivo
5
+ ## 1. Executive Summary
6
6
 
7
- <!-- Descreva em 2-3 frases o que é o produto e qual problema resolve -->
7
+ <!-- Describe in 2-3 sentences what the product is and what problem it solves -->
8
8
 
9
- ## 2. Usuários Alvo
9
+ ## 2. Target Users
10
10
 
11
- <!-- Quem vai usar o sistema? Descreva as personas -->
11
+ <!-- Who will use the system? Describe the personas -->
12
12
 
13
- ### Persona 1: [Nome]
14
- - **Perfil:**
15
- - **Objetivos:**
16
- - **Dores:**
13
+ ### Persona 1: [Name]
14
+ - **Profile:**
15
+ - **Goals:**
16
+ - **Pain points:**
17
17
 
18
- ## 3. Escopo do MVP
18
+ ## 3. MVP Scope
19
19
 
20
- ### Incluído no MVP
20
+ ### Included in MVP
21
21
  - [ ] Feature 1
22
22
  - [ ] Feature 2
23
23
  - [ ] Feature 3
24
24
 
25
- ### Fora do MVP (futuro)
26
- - [ ] Feature futura 1
27
- - [ ] Feature futura 2
25
+ ### Out of MVP (future)
26
+ - [ ] Future feature 1
27
+ - [ ] Future feature 2
28
28
 
29
29
  ## 4. User Stories
30
30
 
31
- ### US01: [Título]
32
- **Como** [persona], **quero** [ação], **para** [benefício].
31
+ ### US01: [Title]
32
+ **As** [persona], **I want** [action], **so that** [benefit].
33
33
 
34
- **Critérios de aceite:**
35
- - [ ] CA1:
36
- - [ ] CA2:
34
+ **Acceptance criteria:**
35
+ - [ ] AC1:
36
+ - [ ] AC2:
37
37
 
38
- ### US02: [Título]
39
- **Como** [persona], **quero** [ação], **para** [benefício].
38
+ ### US02: [Title]
39
+ **As** [persona], **I want** [action], **so that** [benefit].
40
40
 
41
- **Critérios de aceite:**
42
- - [ ] CA1:
43
- - [ ] CA2:
41
+ **Acceptance criteria:**
42
+ - [ ] AC1:
43
+ - [ ] AC2:
44
44
 
45
- ## 5. Arquitetura de Alto Nível
45
+ ## 5. High-Level Architecture
46
46
 
47
- <!-- Diagrama em Mermaid ou ASCII mostrando os componentes principais -->
47
+ <!-- Mermaid or ASCII diagram showing the main components -->
48
48
 
49
49
  ```mermaid
50
50
  graph LR
@@ -52,7 +52,7 @@ graph LR
52
52
  B --> C[Database]
53
53
  ```
54
54
 
55
- ### Estrutura de Diretórios
55
+ ### Directory Structure
56
56
 
57
57
  ```
58
58
  project/
@@ -61,29 +61,29 @@ project/
61
61
  └── ...
62
62
  ```
63
63
 
64
- ## 6. Features Detalhadas
64
+ ## 6. Detailed Features
65
65
 
66
- ### Feature 1: [Nome]
67
- - **Descrição:**
68
- - **Regras de negócio:**
66
+ ### Feature 1: [Name]
67
+ - **Description:**
68
+ - **Business rules:**
69
69
  -
70
70
  - **Inputs:**
71
71
  - **Outputs:**
72
72
  - **Edge cases:**
73
73
  -
74
74
 
75
- ### Feature 2: [Nome]
76
- - **Descrição:**
77
- - **Regras de negócio:**
75
+ ### Feature 2: [Name]
76
+ - **Description:**
77
+ - **Business rules:**
78
78
  -
79
79
 
80
- ## 7. Stack Tecnológica
80
+ ## 7. Technology Stack
81
81
 
82
- | Componente | Tecnologia | Justificativa |
82
+ | Component | Technology | Justification |
83
83
  |---|---|---|
84
84
  | Backend | | |
85
85
  | Frontend | | |
86
- | Banco de dados | | |
86
+ | Database | | |
87
87
  | Cache | | |
88
88
  | Deploy | | |
89
89
 
@@ -92,7 +92,7 @@ project/
92
92
  ### Endpoints
93
93
 
94
94
  #### `GET /api/v1/resource`
95
- - **Descrição:**
95
+ - **Description:**
96
96
  - **Response:** `200 OK`
97
97
  ```json
98
98
  {
@@ -104,7 +104,7 @@ project/
104
104
  ```
105
105
 
106
106
  #### `POST /api/v1/resource`
107
- - **Descrição:**
107
+ - **Description:**
108
108
  - **Body:**
109
109
  ```json
110
110
  {
@@ -113,7 +113,7 @@ project/
113
113
  ```
114
114
  - **Response:** `201 Created`
115
115
 
116
- ## 9. Modelo de Dados
116
+ ## 9. Data Model
117
117
 
118
118
  ```sql
119
119
  CREATE TABLE example (
@@ -123,39 +123,39 @@ CREATE TABLE example (
123
123
  );
124
124
  ```
125
125
 
126
- ## 10. Requisitos Não-Funcionais
126
+ ## 10. Non-Functional Requirements
127
127
 
128
- | Requisito | Alvo | Prioridade |
128
+ | Requirement | Target | Priority |
129
129
  |---|---|---|
130
- | Performance | Response time < 500ms | Alta |
131
- | Disponibilidade | 99.9% uptime | Média |
132
- | Segurança | OWASP Top 10 | Alta |
133
- | Escalabilidade | Até X usuários simultâneos | Média |
130
+ | Performance | Response time < 500ms | High |
131
+ | Availability | 99.9% uptime | Medium |
132
+ | Security | OWASP Top 10 | High |
133
+ | Scalability | Up to X simultaneous users | Medium |
134
134
 
135
- ## 11. Fases de Implementação
135
+ ## 11. Implementation Phases
136
136
 
137
- ### Fase 1: Foundation
138
- - [ ] Setup do projeto
139
- - [ ] Modelo de dados
140
- - [ ] Endpoints básicos
137
+ ### Phase 1: Foundation
138
+ - [ ] Project setup
139
+ - [ ] Data model
140
+ - [ ] Basic endpoints
141
141
 
142
- ### Fase 2: Core Features
143
- - [ ] Feature 1 completa
144
- - [ ] Feature 2 completa
142
+ ### Phase 2: Core Features
143
+ - [ ] Feature 1 complete
144
+ - [ ] Feature 2 complete
145
145
 
146
- ### Fase 3: Polish
147
- - [ ] Testes E2E
146
+ ### Phase 3: Polish
147
+ - [ ] E2E tests
148
148
  - [ ] Performance
149
- - [ ] Documentação
149
+ - [ ] Documentation
150
150
 
151
- ## 12. Riscos e Mitigações
151
+ ## 12. Risks and Mitigations
152
152
 
153
- | Risco | Impacto | Probabilidade | Mitigação |
153
+ | Risk | Impact | Probability | Mitigation |
154
154
  |---|---|---|---|
155
155
  | | | | |
156
156
 
157
- ## 13. Critérios de Sucesso
157
+ ## 13. Success Criteria
158
158
 
159
- - [ ] Critério 1
160
- - [ ] Critério 2
161
- - [ ] Critério 3
159
+ - [ ] Criterion 1
160
+ - [ ] Criterion 2
161
+ - [ ] Criterion 3
@@ -1,32 +1,32 @@
1
- # Constitution — Projeto Frontend SPA
1
+ # Constitution — Frontend SPA Project
2
2
 
3
- ## Princípios
3
+ ## Principles
4
4
 
5
- 1. **Spec primeiro, código depois** — Toda demanda passa pelo fluxo SDD antes de implementação
6
- 2. **Componente = 1 responsabilidade** — Componentes pequenos e focados
7
- 3. **Server state no React Query** — Nunca duplicar dados da API no estado global
8
- 4. **TypeScript strict** — Zero `any`, types para tudo
9
- 5. **Mobile-first** — Escrever para mobile, breakpoints para desktop
5
+ 1. **Spec first, code later** — Every demand goes through the SDD flow before implementation
6
+ 2. **Component = 1 responsibility** — Small and focused components
7
+ 3. **Server state in React Query** — Never duplicate API data in global state
8
+ 4. **TypeScript strict** — Zero `any`, types for everything
9
+ 5. **Mobile-first** — Write for mobile, breakpoints for desktop
10
10
 
11
- ## Padrões de desenvolvimento
11
+ ## Development Standards
12
12
 
13
13
  - React 18+, TypeScript strict mode
14
14
  - Tailwind CSS + Shadcn/UI
15
15
  - Feature-based folder structure
16
- - Custom hooks para lógica reutilizável
17
- - React Hook Form + Zod para formulários
16
+ - Custom hooks for reusable logic
17
+ - React Hook Form + Zod for forms
18
18
 
19
- ## Padrões de componentes
19
+ ## Component Standards
20
20
 
21
- - Composição sobre configuração
22
- - Loading/Error/Empty states em todo async
23
- - Acessibilidade: semantic HTML, aria-labels
24
- - Lazy loading por rota
25
- - Máximo 200 linhas por componente
21
+ - Composition over configuration
22
+ - Loading/Error/Empty states on every async
23
+ - Accessibility: semantic HTML, aria-labels
24
+ - Lazy loading per route
25
+ - Maximum 200 lines per component
26
26
 
27
- ## Padrões de qualidade
27
+ ## Quality Standards
28
28
 
29
- - Vitest + Testing Library para componentes
30
- - Playwright para E2E
31
- - Cobertura mínima: 70%
32
- - Commits seguem Conventional Commits
29
+ - Vitest + Testing Library for components
30
+ - Playwright for E2E
31
+ - Minimum coverage: 70%
32
+ - Commits follow Conventional Commits
@@ -1,110 +1,110 @@
1
- # Projeto: Frontend SPA (Single Page Application)
1
+ # Project: Frontend SPA (Single Page Application)
2
2
 
3
- Você está construindo uma aplicação frontend moderna com React, TypeScript e Tailwind CSS que consome APIs REST ou GraphQL.
3
+ You are building a modern frontend application with React, TypeScript, and Tailwind CSS that consumes REST or GraphQL APIs.
4
4
 
5
5
  ## Specification-Driven Development (SDD)
6
6
 
7
- A regra fundamental de SDD está definida no bundle-base (AGENTS.md base) e é inegociável:
8
- **Sem spec, sem código. Sem exceção.** O agente deve recusar implementar qualquer demanda que
9
- não tenha passado pelo fluxo `/speckit.specify` → `/speckit.plan` → `/speckit.tasks` → `/speckit.implement`.
7
+ The fundamental SDD rule is defined in the bundle-base (base AGENTS.md) and is non-negotiable:
8
+ **No spec, no code. No exception.** The agent must refuse to implement any demand that
9
+ has not gone through the `/speckit.specify` → `/speckit.plan` → `/speckit.tasks` → `/speckit.implement` flow.
10
10
 
11
- Se o usuário pedir para codar algo sem spec, PARE e inicie o fluxo SDD primeiro.
12
- Consulte `.specify/specs/` para verificar se existe spec para a demanda.
11
+ If the user asks to code something without a spec, STOP and initiate the SDD flow first.
12
+ Check `.specify/specs/` to verify if a spec already exists for the demand.
13
13
 
14
14
  ## Product Requirements Document
15
15
 
16
- O arquivo `PRD.md` na raiz do projeto contém os requisitos do produto definidos pelo analista/dev. Consulte-o para entender O QUE construir, as user stories, critérios de aceite, modelo de dados e API specification. Este AGENTS.md define COMO o agente deve trabalhar; o PRD define O QUE deve ser construído.
16
+ The `PRD.md` file at the project root contains the product requirements defined by the analyst/dev. Consult it to understand WHAT to build, the user stories, acceptance criteria, data model, and API specification. This AGENTS.md defines HOW the agent should work; the PRD defines WHAT should be built.
17
17
 
18
- - `PRD.md` — Requisitos do produto, user stories, API spec, modelo de dados
18
+ - `PRD.md` — Product requirements, user stories, API spec, data model
19
19
 
20
20
  ## References
21
21
 
22
- Documentos de referência que o agente deve consultar quando necessário:
22
+ Reference documents that the agent should consult when necessary:
23
23
 
24
- - `references/react-component-patterns.md` — Padrões de componentes React
25
- - `references/tailwind-design-system.md` — Design system com Tailwind
26
- - `references/testing-library-guide.md` — Guia de testes com Testing Library
24
+ - `references/react-component-patterns.md` — React component patterns
25
+ - `references/tailwind-design-system.md` — Design system with Tailwind
26
+ - `references/testing-library-guide.md` — Testing Library guide
27
27
 
28
- ## Stack do projeto
28
+ ## Project Stack
29
29
 
30
- - **Framework:** React 18+ com TypeScript (strict mode)
30
+ - **Framework:** React 18+ with TypeScript (strict mode)
31
31
  - **Bundler:** Vite
32
- - **Estilização:** Tailwind CSS + Shadcn/UI
33
- - **Estado:** Zustand (global) + React Query (server state)
34
- - **Roteamento:** React Router v6+
32
+ - **Styling:** Tailwind CSS + Shadcn/UI
33
+ - **State:** Zustand (global) + React Query (server state)
34
+ - **Routing:** React Router v6+
35
35
  - **Forms:** React Hook Form + Zod
36
36
  - **HTTP:** Axios
37
- - **WebSocket:** Socket.io-client (se real-time)
38
- - **Testes:** Vitest + Testing Library + Playwright (E2E)
37
+ - **WebSocket:** Socket.io-client (if real-time)
38
+ - **Tests:** Vitest + Testing Library + Playwright (E2E)
39
39
 
40
- ## Estrutura do projeto
40
+ ## Project Structure
41
41
 
42
42
  ```
43
43
  src/
44
- ├── features/ # Organizado por feature/domínio
44
+ ├── features/ # Organized by feature/domain
45
45
  │ ├── demands/
46
- │ │ ├── components/ # Componentes da feature
46
+ │ │ ├── components/ # Feature components
47
47
  │ │ │ ├── DemandList.tsx
48
48
  │ │ │ ├── DemandCard.tsx
49
49
  │ │ │ └── DemandForm.tsx
50
50
  │ │ ├── hooks/ # Custom hooks
51
51
  │ │ │ └── useDemands.ts
52
- │ │ ├── services/ # Chamadas API
52
+ │ │ ├── services/ # API calls
53
53
  │ │ │ └── demandApi.ts
54
- │ │ ├── types.ts # Types da feature
54
+ │ │ ├── types.ts # Feature types
55
55
  │ │ └── index.ts # Barrel export
56
56
  │ ├── dashboard/
57
57
  │ └── auth/
58
- ├── shared/ # Compartilhado entre features
58
+ ├── shared/ # Shared across features
59
59
  │ ├── components/ # Button, Modal, Table, etc.
60
60
  │ ├── hooks/ # useDebounce, useLocalStorage, etc.
61
61
  │ ├── lib/ # api.ts (axios instance), utils
62
- │ └── types/ # Types globais
62
+ │ └── types/ # Global types
63
63
  ├── layouts/ # AppLayout, AuthLayout
64
- ├── routes/ # Configuração de rotas
65
- ├── config/ # Constantes, env vars
66
- ├── styles/ # Globals CSS
64
+ ├── routes/ # Route configuration
65
+ ├── config/ # Constants, env vars
66
+ ├── styles/ # Global CSS
67
67
  └── tests/
68
68
  ├── e2e/ # Playwright
69
69
  └── setup.ts # Vitest setup
70
70
  ```
71
71
 
72
- ## Padrões de código
72
+ ## Code Standards
73
73
 
74
- - Máximo 200 linhas por componente
75
- - Props tipadas com interface (não type)
76
- - Um componente = uma responsabilidade
77
- - Custom hooks para lógica reutilizável
78
- - Server state no React Query, UI state no Zustand
79
- - React Hook Form + Zod para formulários
80
- - Lazy loading por rota
74
+ - Maximum 200 lines per component
75
+ - Props typed with interface (not type)
76
+ - One component = one responsibility
77
+ - Custom hooks for reusable logic
78
+ - Server state in React Query, UI state in Zustand
79
+ - React Hook Form + Zod for forms
80
+ - Lazy loading per route
81
81
 
82
- ## Padrões de componentes
82
+ ## Component Standards
83
83
 
84
- - Composição > configuração (slots > props booleanas)
85
- - Container/Presenter para componentes complexos
86
- - Loading/Error/Empty states em todo componente async
87
- - Acessibilidade: semantic HTML, aria-labels, keyboard nav
84
+ - Composition > configuration (slots > boolean props)
85
+ - Container/Presenter for complex components
86
+ - Loading/Error/Empty states on every async component
87
+ - Accessibility: semantic HTML, aria-labels, keyboard nav
88
88
 
89
89
  ## Git
90
90
 
91
91
  - Commits: `feat(demands): adicionar filtro por status`
92
- - Branches: `feature/<feature>-<descricao>`
93
- - Nunca commitar node_modules, .env, dist/
92
+ - Branches: `feature/<feature>-<description>`
93
+ - Never commit node_modules, .env, dist/
94
94
 
95
- ## Testes
95
+ ## Tests
96
96
 
97
- - Vitest + Testing Library: componentes e hooks
98
- - Playwright: fluxos E2E (login, CRUD, navegação)
99
- - Cobertura mínima: 70%
100
- - Testar comportamento, não implementação
97
+ - Vitest + Testing Library: components and hooks
98
+ - Playwright: E2E flows (login, CRUD, navigation)
99
+ - Minimum coverage: 70%
100
+ - Test behavior, not implementation
101
101
 
102
- ## O que NÃO fazer
102
+ ## What NOT to do
103
103
 
104
- - Não usar `any` em TypeScript
105
- - Não fazer fetch dentro do componente (usar React Query)
106
- - Não duplicar dados da API no estado global
107
- - Não usar index como key em listas dinâmicas
108
- - Não criar mega-componentes de 500+ linhas
109
- - Não ignorar loading/error states
110
- - Não estilizar com CSS inline quando tem Tailwind
104
+ - Do not use `any` in TypeScript
105
+ - Do not fetch inside the component (use React Query)
106
+ - Do not duplicate API data in global state
107
+ - Do not use index as key in dynamic lists
108
+ - Do not create mega-components of 500+ lines
109
+ - Do not ignore loading/error states
110
+ - Do not style with inline CSS when you have Tailwind