docs/jean/CONTEXTO.md

Contexto de Trabalho Jean / FastApp

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.

617 palavras9 headingsdocs/

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 como docs/<sprint>/CONTEXT.md ou
    docs/<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

  1. Criar branch a partir da main, com nome feat/<nome-da-sprint>.
  2. Conferir git status --short --branch antes de qualquer alteracao.
  3. Ler docs/jean/CONTEXTO.md, docs/jean/PROMPTSTART e a Task 1 da sprint.
  4. Criar cards no Task Board com titulo, descricao completa e prompt otimizado.
  5. Ao criar/mover cards, respeitar o painel de Comunicados. Cards nao devem ser
    inseridos de forma silenciosa sem disparar regras configuradas.
  6. Mover a task para EM_ANDAMENTO antes de implementar.
  7. Fazer commits pequenos e claros na branch da sprint.
  8. Fazer push para o GitHub a cada entrega importante.
  9. Ao concluir uma task, mover o card para CONCLUIDA e garantir notificacao.
  10. Ao fim da sprint, trazer main para a branch, validar, levar a sprint para
    main e 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:
    • BACKLOG
    • TODO
    • EM_ANDAMENTO
    • CONCLUIDA
  • Sempre preencher:
    • titulo
    • descricao
    • prompt_otimizado
    • feature
    • taxonomia_n1
    • taxonomia_n2
    • taxonomia_n3
    • prioridade
    • status
    • ordem
    • app_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_ANDAMENTO e CONCLUIDA deve 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 de comunicado_config.

Commits

  • Commits devem ser pequenos, rastreaveis e associados a uma task.
  • Mensagens recomendadas:
    • docs: add working process context
    • feat: 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 rg para buscas.
  • Usar apply_patch para edicoes manuais.
  • Nao reverter alteracoes do usuario.
  • Validar com testes disponiveis.
  • Reportar claramente quando npm run build ou 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.json
  • ARCHITECTURE.md
  • app/types/schema.ts
  • app/pages/[app]/[module]/[object]/index.vue
  • app/pages/[app]/[module]/index.vue
  • app/components/core/DynamicCRUD.vue
  • app/components/core/DynamicForm.vue
  • app/components/core/DynamicTable.vue
  • app/components/core/DynamicList.vue
  • app/components/core/DynamicKanban.vue
  • app/components/core/FieldRenderer.vue
  • app/components/core/PropertyField.vue
  • app/components/core/cms/CoreCmsRenderer.vue
  • app/composables/useCmsBinding.ts
  • server/api/v1/data/[app]/[object]/index.get.ts
  • server/api/v1/data/[app]/[object]/index.post.ts
  • server/api/v1/data/[app]/[object]/[id].patch.ts
  • server/utils/dynamic-db.ts
  • server/utils/query-parser.ts
  • server/utils/meta-resolver.ts
  • server/utils/meta-validation.ts
  • server/utils/rbac-data-scope.ts
  • server/utils/data-source-resolver.ts
  • server/utils/comunicado-dispatcher.ts
  • task-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.