Public Markdown Document
Contexto de Trabalho Jean / FastApp
Este documento registra o modo generico de trabalho no projeto FastApp. Ele deve servir para qualquer sprint, sem depender de uma feature especifica.
Contexto de Trabalho - Jean / FastApp
Este documento registra o modo generico de trabalho no projeto FastApp.
Ele deve servir para qualquer sprint, sem depender de uma feature especifica.
Principios
- O FastApp e um construtor de apps orientado por objetos em JSON.
- Objetos viram CRUDs, views, formularios, automacoes, dados e experiencias
dinamicas. - A IA deve entender o sistema antes de implementar: ler a Task 1 da sprint,
arquitetura, schemas, componentes dinamicos e APIs relevantes. - O desenvolvimento segue Spec Driven Development, mas as tasks executaveis da
sprint vivem no Task Board dinamico da FastApp. - A partir deste fluxo, o contexto especifico da sprint deve estar na Task 1 do
Task Board. Nao criar arquivos de sprint comodocs/<sprint>/CONTEXT.mdoudocs/<sprint>/SPEC.md, salvo se o usuario pedir explicitamente. - A Task 1 deve conter tudo que a IA precisa para entender a sprint: objetivo,
arquivos a ler, arquitetura impactada, regras, riscos, criterios de aceite e
plano macro.
Fluxo de Sprint
- Criar branch a partir da
main, com nomefeat/<nome-da-sprint>. - Conferir
git status --short --branchantes de qualquer alteracao. - Ler
docs/jean/CONTEXTO.md,docs/jean/PROMPTSTARTe a Task 1 da sprint. - Criar cards no Task Board com titulo, descricao completa e prompt otimizado.
- Ao criar/mover cards, respeitar o painel de Comunicados. Cards nao devem ser
inseridos de forma silenciosa sem disparar regras configuradas. - Mover a task para
EM_ANDAMENTOantes de implementar. - Fazer commits pequenos e claros na branch da sprint.
- Fazer push para o GitHub a cada entrega importante.
- Ao concluir uma task, mover o card para
CONCLUIDAe garantir notificacao. - Ao fim da sprint, trazer
mainpara a branch, validar, levar a sprint paramaine criar release quando o usuario pedir.
Task Board
- App:
task-board. - Objeto:
task_item. - Cards devem ter prefixo da sprint, por exemplo:
[Nome Sprint] Task 1 - Contexto e arquitetura. - A Task 1 e obrigatoria e deve ser o contexto completo da sprint.
- O contexto da sprint deve ficar no corpo da Task 1, nao em arquivo separado.
- As demais tasks devem quebrar a entrega em blocos pequenos e commitaveis.
- Status padrao:
BACKLOGTODOEM_ANDAMENTOCONCLUIDA
- Sempre preencher:
titulodescricaoprompt_otimizadofeaturetaxonomia_n1taxonomia_n2taxonomia_n3prioridadestatusordemapp_origem_id
Comunicados
O painel de Comunicados e parte do fluxo de trabalho.
- Criacao de card deve notificar.
- Update de card deve notificar.
- Mudanca para
TODO,EM_ANDAMENTOeCONCLUIDAdeve notificar por regra
especifica. - Update generico deve enviar email tipo "Seu card foi atualizado" com resumo
do que mudou. - Se uma operacao precisar ser feita via script, o script deve reproduzir as
regras ativas decomunicado_config.
Commits
- Commits devem ser pequenos, rastreaveis e associados a uma task.
- Mensagens recomendadas:
docs: add working process contextfeat: add <capability>test: cover <behavior>docs: finalize <sprint> handoff
- Depois de cada commit importante, fazer
git push origin <branch>.
Como a IA Deve Agir
- Trabalhar de forma autonoma quando a tarefa estiver clara.
- Buscar contexto no repo antes de assumir arquitetura.
- Usar padroes existentes do FastApp em vez de criar uma arquitetura paralela.
- Preferir
rgpara buscas. - Usar
apply_patchpara edicoes manuais. - Nao reverter alteracoes do usuario.
- Validar com testes disponiveis.
- Reportar claramente quando
npm run buildou outro comando nao concluir. - Manter o usuario informado com updates curtos durante trabalhos longos.
Arquivos Para Entender a FastApp
Leia estes arquivos antes de iniciar uma sprint que mexe em objetos, CRUDs,
formularios, CMS, API dinamica ou automacoes:
package.jsonARCHITECTURE.mdapp/types/schema.tsapp/pages/[app]/[module]/[object]/index.vueapp/pages/[app]/[module]/index.vueapp/components/core/DynamicCRUD.vueapp/components/core/DynamicForm.vueapp/components/core/DynamicTable.vueapp/components/core/DynamicList.vueapp/components/core/DynamicKanban.vueapp/components/core/FieldRenderer.vueapp/components/core/PropertyField.vueapp/components/core/cms/CoreCmsRenderer.vueapp/composables/useCmsBinding.tsserver/api/v1/data/[app]/[object]/index.get.tsserver/api/v1/data/[app]/[object]/index.post.tsserver/api/v1/data/[app]/[object]/[id].patch.tsserver/utils/dynamic-db.tsserver/utils/query-parser.tsserver/utils/meta-resolver.tsserver/utils/meta-validation.tsserver/utils/rbac-data-scope.tsserver/utils/data-source-resolver.tsserver/utils/comunicado-dispatcher.tstask-board-app.json
Task 1 Como Fonte De Contexto
Toda sprint deve ter uma Task 1 dedicada a contexto. Ela deve responder:
- Qual e o objetivo da sprint?
- Por que isso importa para o produto?
- Quais arquivos a IA deve ler antes de implementar?
- Quais objetos, componentes, APIs e schemas podem ser impactados?
- Quais decisoes tecnicas ja estao assumidas?
- Quais duvidas ou riscos precisam ser resolvidos?
- Quais sao os criterios de aceite da sprint?
- Quais sao as tasks seguintes e a ordem sugerida?
Se a sessao cair, se outra IA assumir ou se houver perda de contexto, a IA deve
retomar lendo docs/jean/CONTEXTO.md, docs/jean/PROMPTSTART e a Task 1 da
sprint no Task Board.