22
33** IMPORTANTE:** Ao iniciar qualquer sessão, leia TODOS os arquivos:
44
5- | Arquivo | Conteúdo |
6- | -------------- | -------------------------------- |
7- | @./CODEBASE.md | Mapa do código |
8- | @./ADR.md | Decisões arquiteturais |
9- | @./README.md | Visão geral, instalação e uso |
5+ | Arquivo | Conteúdo |
6+ | -------------- | ----------------------------- |
7+ | @./CODEBASE.md | Mapa do código |
8+ | @./ADR.md | Decisões arquiteturais |
9+ | @./README.md | Visão geral, instalação e uso |
1010
1111As regras deste arquivo são ** obrigatórias** .
1212
1313---
1414
1515## Referência Rápida
1616
17- | Campo | Valor |
18- | --------------- | ------------------------------ |
19- | ** Nome** | Flyclone |
20- | ** Package** | ` verseles/flyclone ` |
21- | ** PHP** | >= 8.4 (obrigatório) |
22- | ** Repositório** | github.com/verseles/flyclone |
23- | ** Licença** | CC-BY-NC-SA-4.0 |
17+ | Campo | Valor |
18+ | --------------- | ---------------------------- |
19+ | ** Nome** | Flyclone |
20+ | ** Package** | ` verseles/flyclone ` |
21+ | ** PHP** | >= 8.4 (obrigatório) |
22+ | ** Repositório** | github.com/verseles/flyclone |
23+ | ** Licença** | CC-BY-NC-SA-4.0 |
2424
2525---
2626
2727## Dependências
2828
29- | Dependência | Obrigatória | Notas |
30- | ----------------- | ----------- | ----- ----------------------------- |
31- | PHP 8.4+ | Sim | Property hooks são utilizados |
32- | rclone | Sim | Binário deve estar no PATH |
33- | Composer | Sim | Gerenciamento de dependências |
34- | podman-compose | Para testes | Containers SFTP, MinIO, FTP |
29+ | Dependência | Obrigatória | Notas |
30+ | -------------- | ----------- | ----------------------------- |
31+ | PHP 8.4+ | Sim | Property hooks são utilizados |
32+ | rclone | Sim | Binário deve estar no PATH |
33+ | Composer | Sim | Gerenciamento de dependências |
34+ | podman-compose | Para testes | Containers SFTP, MinIO, FTP |
3535
3636---
3737
3838## Comandos
3939
4040### Make
41- | Comando | Descrição |
42- | ----------------- | ------------------------------------------------ |
43- | ` make test ` | Testes rápidos (extra_commands, upload_download) |
44- | ` make test-offline ` | Testes completos com containers |
45- | ` make init ` | ` composer install ` |
46- | ` make tog ` | Gera documentação para AI |
41+
42+ | Comando | Descrição |
43+ | ------------------- | ------------------------------------------------ |
44+ | ` make test ` | Testes rápidos (extra_commands, upload_download) |
45+ | ` make test-offline ` | Testes completos com containers |
46+ | ` make init ` | ` composer install ` |
47+ | ` make tog ` | Gera documentação para AI |
4748
4849### Composer
49- | Comando | Descrição |
50- | ---------------------------- | ---------------------------- |
51- | ` composer test ` | Todos os testes |
52- | ` composer test-local ` | Apenas LocalProvider (CI) |
53- | ` composer run-script test-offline ` | Testes offline completos |
50+
51+ | Comando | Descrição |
52+ | ---------------------------------- | ------------------------- |
53+ | ` composer test ` | Todos os testes |
54+ | ` composer test-local ` | Apenas LocalProvider (CI) |
55+ | ` composer run-script test-offline ` | Testes offline completos |
5456
5557---
5658
@@ -103,9 +105,12 @@ cp .env.example .env
103105
104106### Web Search
105107
106- 11 . ** Use web search para:**
107- - Confirmar métodos eficientes/modernos
108- - Resolver erros quando ficar preso
108+ 11 . ** Use web search com FREQUÊNCIA:**
109+ - Antes de implementar: confirmar abordagem moderna/eficiente
110+ - Ao encontrar erro: pesquisar soluções antes de tentar fixes aleatórios
111+ - Ao ficar incerto: pesquisar ao invés de assumir
112+ - Documentação oficial: usar context7 ou busca direta
113+ - ** Mínimo 2-3 pesquisas por action complexa**
109114 - Aguardar 1 segundo entre pesquisas (rate limit)
110115
111116### Notificações
@@ -129,7 +134,7 @@ namespace Verseles\Flyclone\Providers;
129134class MyCloudProvider extends Provider
130135{
131136 protected string $provider = 'mycloud';
132-
137+
133138 // Se não suporta pastas vazias (como S3):
134139 protected bool $dirAgnostic = true;
135140}
@@ -177,11 +182,112 @@ try {
177182
178183## Docker Compose Services
179184
180- | Service | Porta | Usuário/Senha |
181- | ------- | ----- | ----------------------- |
182- | sftp | 2222 | Ver docker-compose.yml |
183- | s3 | 9000 | minioadmin/minioadmin |
184- | ftp | 2121 | Ver docker-compose.yml |
185+ | Service | Porta | Usuário/Senha |
186+ | ------- | ----- | ---------------------- |
187+ | sftp | 2222 | Ver docker-compose.yml |
188+ | s3 | 9000 | minioadmin/minioadmin |
189+ | ftp | 2121 | Ver docker-compose.yml |
190+
191+ ---
192+
193+ ## Execução de Roadmap
194+
195+ O projeto utiliza o arquivo ` ROADMAP.md ` para gerenciar tarefas de longo prazo. Siga estas diretrizes para manter a execução lúcida e focada.
196+
197+ ### Estado Atual do Projeto
198+
199+ | Branch | Versão | Status | Ação do Agent |
200+ | ------ | ------ | ---------------------- | ----------------------------- |
201+ | ` main ` | v3.x | Estável | Apenas hotfixes críticos |
202+ | ` v4 ` | v4.0 | ** EM DESENVOLVIMENTO** | Todo trabalho do roadmap aqui |
203+
204+ ** ⚠️ IMPORTANTE:** Ao iniciar sessão para trabalhar no roadmap:
205+
206+ 1 . ` git checkout v4 ` - Garantir que está na branch correta
207+ 2 . ` cat roadmap/roadmap.md ` - Ver estado atual e próximas actions
208+ 3 . Escolher UMA action pendente e marcar ` in_progress `
209+
210+ ### Tags e Milestones
211+
212+ | Tag Pattern | Quando Criar | Milestone |
213+ | ---------------- | ------------------------------------------- | --------- |
214+ | ` v4.0.0-alpha.N ` | Após completar Feature 1 (Core Refactoring) | 1 |
215+ | ` v4.0.0-beta.N ` | Após completar Feature 2 (Security & DX) | 2 |
216+ | ` v4.0.0-rc.N ` | Após completar Feature 3 (Polish & Release) | 3 |
217+ | ` v4.0.0 ` | Merge para main + release final | - |
218+
219+ ### Antes de Iniciar uma Action
220+
221+ 1 . ** Ler o roadmap.** para entender o contexto geral e identificar dependências.
222+
223+ 2 . ** Ler apenas arquivos necessários.** Não carregar todo o codebase - apenas o que a action específica precisa.
224+
225+ 3 . ** Planejar antes de codar.** Analisar arquivos relevantes e criar um plano mental ANTES de escrever código.
226+
227+ 4 . ** Verificar actions in_progress.** Se outra action está em andamento, NÃO modificar arquivos relacionados a ela.
228+
229+ 5 . ** Marcar in_progress.** Atualize o roadmap assim que iniciar trabalho
230+
231+ ### Durante a Execução
232+
233+ 6 . ** Foco estrito.** Trabalhar APENAS na action atual. Não refatorar código fora do escopo.
234+
235+ 7 . ** Escopo mínimo.** Se encontrar problemas fora do escopo, documentar em nota mas NÃO corrigir.
236+
237+ 8 . ** Testar incrementalmente.** Rodar ` make test ` após cada mudança significativa, não apenas no final.
238+
239+ 9 . ** Commits atômicos.** Cada commit deve representar um passo lógico completo da action.
240+
241+ 10 . ** Atualizar notas.** Atualize roadmap com progresso significativo.
242+
243+ ### Ao Concluir uma Action
244+
245+ 11 . ** Verificar completude.** Todos os critérios da action foram atendidos?
246+
247+ 12 . ** Testes passando.** ` make test ` deve passar antes de marcar como completed.
248+
249+ 13 . ** Atualizar documentação.** Se a action afeta CODEBASE.md ou ADR.md, atualizar agora.
250+
251+ 14 . ** Commit descritivo.** Mensagem referenciando a action: ` feat(1.03): Extract StatsParser class `
252+
253+ 15 . ** Marcar completed.** Atualize roadmap alterando status e adicionando nota com resumo.
254+
255+ 16 . ** Limpar contexto.** Antes da próxima action, descartar leituras de arquivos não mais necessários.
256+
257+ ### Bugs Encontrados Durante Execução
258+
259+ 17 . ** Sempre corrigir bugs.** Não acumular dívida técnica.
260+
261+ | Momento | Ação |
262+ | ----------------------- | --------------------------------------------------- |
263+ | ANTES de iniciar action | Commit separado (` fix: ... ` ), depois iniciar action |
264+ | DURANTE a action | Incluir no commit da action, documentar na nota |
265+
266+ 18 . ** Documentar na nota do roadmap:** ` "Completed. Also fixed: [descrição breve]" `
267+
268+ ### Prevenindo Alucinação e Drift
269+
270+ 19 . ** Checkpoint mental periódico.** Verifique o roadmap com frequência.
271+
272+ 20 . ** Antes de cada commit:** Verificar se as mudanças correspondem à action descrita.
273+
274+ 21 . ** Na dúvida, reler.** Nunca assumir - sempre consultar ROADMAP/ADR/CODEBASE.
275+
276+ 22 . ** Web search frequente.** Pesquisar antes de implementar, ao encontrar erros, quando incerto.
277+
278+ ### Prevenindo Drift de Contexto
279+
280+ - ** Uma action por sessão** é o ideal. Se múltiplas, são do mesmo milestone.
281+ - ** Subagentes para exploração.** Usar ` explore ` para investigar código sem poluir contexto principal.
282+ - ** Notas como memória.** As notas do roadmap servem como memória entre sessões.
283+ - ** Reler roadmap** no início de cada nova sessão para reestabelecer contexto.
284+
285+ ### Quando Parar e Pedir Ajuda
286+
287+ - Action está demorando mais que o esperado (> 3 tentativas de fix)
288+ - Descobriu que a action precisa ser dividida em sub-actions
289+ - Encontrou conflito com outra action in_progress
290+ - Decisão arquitetural significativa não coberta no ADR.md
185291
186292---
187293
0 commit comments