{"id":"docs/jean/contexto","source":"docs","sourceLabel":"docs/","sourcePath":"docs/jean/CONTEXTO.md","routePath":"/fastapp/public-docs/page/docs/jean/contexto","rawPath":"/fastapp/public-docs/raw/docs/jean/contexto","slug":["docs","jean","contexto"],"slugPath":"docs/jean/contexto","title":"Contexto de Trabalho Jean / FastApp","description":"Este documento registra o modo generico de trabalho no projeto FastApp. Ele deve servir para qualquer sprint, sem depender de uma feature especifica.","headings":["Contexto de Trabalho Jean / FastApp","Principios","Fluxo de Sprint","Task Board","Comunicados","Commits","Como a IA Deve Agir","Arquivos Para Entender a FastApp","Task 1 Como Fonte De Contexto"],"wordCount":617,"markdown":"# Contexto de Trabalho - Jean / FastApp\r\n\r\nEste documento registra o modo generico de trabalho no projeto FastApp.\r\nEle deve servir para qualquer sprint, sem depender de uma feature especifica.\r\n\r\n## Principios\r\n\r\n- O FastApp e um construtor de apps orientado por objetos em JSON.\r\n- Objetos viram CRUDs, views, formularios, automacoes, dados e experiencias\r\n  dinamicas.\r\n- A IA deve entender o sistema antes de implementar: ler a Task 1 da sprint,\r\n  arquitetura, schemas, componentes dinamicos e APIs relevantes.\r\n- O desenvolvimento segue Spec Driven Development, mas as tasks executaveis da\r\n  sprint vivem no Task Board dinamico da FastApp.\r\n- A partir deste fluxo, o contexto especifico da sprint deve estar na Task 1 do\r\n  Task Board. Nao criar arquivos de sprint como `docs/<sprint>/CONTEXT.md` ou\r\n  `docs/<sprint>/SPEC.md`, salvo se o usuario pedir explicitamente.\r\n- A Task 1 deve conter tudo que a IA precisa para entender a sprint: objetivo,\r\n  arquivos a ler, arquitetura impactada, regras, riscos, criterios de aceite e\r\n  plano macro.\r\n\r\n## Fluxo de Sprint\r\n\r\n1. Criar branch a partir da `main`, com nome `feat/<nome-da-sprint>`.\r\n2. Conferir `git status --short --branch` antes de qualquer alteracao.\r\n3. Ler `docs/jean/CONTEXTO.md`, `docs/jean/PROMPTSTART` e a Task 1 da sprint.\r\n4. Criar cards no Task Board com titulo, descricao completa e prompt otimizado.\r\n5. Ao criar/mover cards, respeitar o painel de Comunicados. Cards nao devem ser\r\n   inseridos de forma silenciosa sem disparar regras configuradas.\r\n6. Mover a task para `EM_ANDAMENTO` antes de implementar.\r\n7. Fazer commits pequenos e claros na branch da sprint.\r\n8. Fazer push para o GitHub a cada entrega importante.\r\n9. Ao concluir uma task, mover o card para `CONCLUIDA` e garantir notificacao.\r\n10. Ao fim da sprint, trazer `main` para a branch, validar, levar a sprint para\r\n    `main` e criar release quando o usuario pedir.\r\n\r\n## Task Board\r\n\r\n- App: `task-board`.\r\n- Objeto: `task_item`.\r\n- Cards devem ter prefixo da sprint, por exemplo:\r\n  `[Nome Sprint] Task 1 - Contexto e arquitetura`.\r\n- A Task 1 e obrigatoria e deve ser o contexto completo da sprint.\r\n- O contexto da sprint deve ficar no corpo da Task 1, nao em arquivo separado.\r\n- As demais tasks devem quebrar a entrega em blocos pequenos e commitaveis.\r\n- Status padrao:\r\n  - `BACKLOG`\r\n  - `TODO`\r\n  - `EM_ANDAMENTO`\r\n  - `CONCLUIDA`\r\n- Sempre preencher:\r\n  - `titulo`\r\n  - `descricao`\r\n  - `prompt_otimizado`\r\n  - `feature`\r\n  - `taxonomia_n1`\r\n  - `taxonomia_n2`\r\n  - `taxonomia_n3`\r\n  - `prioridade`\r\n  - `status`\r\n  - `ordem`\r\n  - `app_origem_id`\r\n\r\n## Comunicados\r\n\r\nO painel de Comunicados e parte do fluxo de trabalho.\r\n\r\n- Criacao de card deve notificar.\r\n- Update de card deve notificar.\r\n- Mudanca para `TODO`, `EM_ANDAMENTO` e `CONCLUIDA` deve notificar por regra\r\n  especifica.\r\n- Update generico deve enviar email tipo \"Seu card foi atualizado\" com resumo\r\n  do que mudou.\r\n- Se uma operacao precisar ser feita via script, o script deve reproduzir as\r\n  regras ativas de `comunicado_config`.\r\n\r\n## Commits\r\n\r\n- Commits devem ser pequenos, rastreaveis e associados a uma task.\r\n- Mensagens recomendadas:\r\n  - `docs: add working process context`\r\n  - `feat: add <capability>`\r\n  - `test: cover <behavior>`\r\n  - `docs: finalize <sprint> handoff`\r\n- Depois de cada commit importante, fazer `git push origin <branch>`.\r\n\r\n## Como a IA Deve Agir\r\n\r\n- Trabalhar de forma autonoma quando a tarefa estiver clara.\r\n- Buscar contexto no repo antes de assumir arquitetura.\r\n- Usar padroes existentes do FastApp em vez de criar uma arquitetura paralela.\r\n- Preferir `rg` para buscas.\r\n- Usar `apply_patch` para edicoes manuais.\r\n- Nao reverter alteracoes do usuario.\r\n- Validar com testes disponiveis.\r\n- Reportar claramente quando `npm run build` ou outro comando nao concluir.\r\n- Manter o usuario informado com updates curtos durante trabalhos longos.\r\n\r\n## Arquivos Para Entender a FastApp\r\n\r\nLeia estes arquivos antes de iniciar uma sprint que mexe em objetos, CRUDs,\r\nformularios, CMS, API dinamica ou automacoes:\r\n\r\n- `package.json`\r\n- `ARCHITECTURE.md`\r\n- `app/types/schema.ts`\r\n- `app/pages/[app]/[module]/[object]/index.vue`\r\n- `app/pages/[app]/[module]/index.vue`\r\n- `app/components/core/DynamicCRUD.vue`\r\n- `app/components/core/DynamicForm.vue`\r\n- `app/components/core/DynamicTable.vue`\r\n- `app/components/core/DynamicList.vue`\r\n- `app/components/core/DynamicKanban.vue`\r\n- `app/components/core/FieldRenderer.vue`\r\n- `app/components/core/PropertyField.vue`\r\n- `app/components/core/cms/CoreCmsRenderer.vue`\r\n- `app/composables/useCmsBinding.ts`\r\n- `server/api/v1/data/[app]/[object]/index.get.ts`\r\n- `server/api/v1/data/[app]/[object]/index.post.ts`\r\n- `server/api/v1/data/[app]/[object]/[id].patch.ts`\r\n- `server/utils/dynamic-db.ts`\r\n- `server/utils/query-parser.ts`\r\n- `server/utils/meta-resolver.ts`\r\n- `server/utils/meta-validation.ts`\r\n- `server/utils/rbac-data-scope.ts`\r\n- `server/utils/data-source-resolver.ts`\r\n- `server/utils/comunicado-dispatcher.ts`\r\n- `task-board-app.json`\r\n\r\n## Task 1 Como Fonte De Contexto\r\n\r\nToda sprint deve ter uma Task 1 dedicada a contexto. Ela deve responder:\r\n\r\n- Qual e o objetivo da sprint?\r\n- Por que isso importa para o produto?\r\n- Quais arquivos a IA deve ler antes de implementar?\r\n- Quais objetos, componentes, APIs e schemas podem ser impactados?\r\n- Quais decisoes tecnicas ja estao assumidas?\r\n- Quais duvidas ou riscos precisam ser resolvidos?\r\n- Quais sao os criterios de aceite da sprint?\r\n- Quais sao as tasks seguintes e a ordem sugerida?\r\n\r\nSe a sessao cair, se outra IA assumir ou se houver perda de contexto, a IA deve\r\nretomar lendo `docs/jean/CONTEXTO.md`, `docs/jean/PROMPTSTART` e a Task 1 da\r\nsprint no Task Board.\r\n"}