UNPKG

aios-core

Version:

Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework

1,410 lines (1,064 loc) 38.2 kB
# Guia do Usuário Synkra AIOS ## Visão Geral O Synkra AIOS é um framework de desenvolvimento full stack orientado por agentes de IA que implementa uma metodologia ágil única. Este guia explica como usar o Synkra AIOS de forma eficaz através de suas duas fases principais: **Planejamento** e **Desenvolvimento**. ### As Duas Inovações Chave **1. Planejamento Agêntico**: Agentes dedicados (analyst, pm, architect) colaboram com você para criar documentos de PRD (Product Requirements Document) e Arquitetura detalhados e consistentes. Através de engenharia avançada de prompts e refinamento com human-in-the-loop, estes agentes de planejamento produzem especificações abrangentes. **2. Desenvolvimento Contextualizado por Engenharia**: O agente sm (Scrum Master) transforma estes planos detalhados em histórias de desenvolvimento hiperdetalhadas que contêm tudo que o agente dev precisa - contexto completo, detalhes de implementação e orientação arquitetural incorporada diretamente nos arquivos de histórias. Esta abordagem de duas fases elimina tanto a **inconsistência de planejamento** quanto a **perda de contexto** - os maiores problemas no desenvolvimento assistido por IA. ## Pré-requisitos Antes de começar, certifique-se de ter: - **Node.js** 20.0.0 ou superior instalado - **npm** ou outro gerenciador de pacotes - **GitHub CLI** (gh) instalado e configurado (para colaboração em equipe) - **Acesso a um agente de IA**: Claude, GPT-4, Gemini, ou similar ## Instalação e Configuração Inicial ### Instalando AIOS-FullStack O AIOS-FullStack oferece instalação simplificada através de um instalador interativo completo. #### Instalação em Projeto Novo ou Existente ```bash # Navegue para o diretório do seu projeto cd /path/to/your/project # Execute o instalador (versão RC atual) npx aios-core@latest install # OU usando NPM direto (produção - quando disponível) npx @aios/fullstack install ``` **O que acontece durante a instalação**: ``` 🚀 AIOS-FullStack Installation Wizard ✓ Detecting installation state... Current state: Clean installation 📦 Select Squads to Install: ◉ hybrid-ops (Pedro Valério methodology) ◯ expansion-creator (Create new squads) ◯ aios-infrastructure-devops (DevOps utilities) ◯ meeting-notes (Meeting assistant) 💻 Select IDEs to Configure: ◉ Claude Code (.claude/commands/) ◉ Cursor (.cursor/rules/) ◯ Gemini CLI (.gemini/) 📝 Sharding Preferences: ◯ Single file (all in one document) ◉ Multi-file (separate files per section) ✓ Installing .aios-core/ framework... ✓ Installing squads... ✓ Configuring IDE integrations... ✓ Creating install manifest... ✅ Installation complete! Next steps: 1. Activate an agent: @dev, @po, @qa, @architect 2. Run agent command: *help ``` #### Desenvolvimento do Framework Próprio Se você está contribuindo para o AIOS-FullStack em si: ```bash # Clone o repositório git clone https://github.com/SynkraAI/aios-core cd aios-core # Instale dependências npm install # Execute o instalador no modo desenvolvimento npx aios-core@latest install ``` ### Estrutura Pós-Instalação Após executar o instalador, seu projeto terá a seguinte estrutura: ``` your-project/ ├── .aios-core/ # ✅ Framework core instalado │ ├── agents/ # 11 agentes (dev, po, qa, architect, etc.) │ ├── tasks/ # 45+ tasks executáveis │ ├── checklists/ # 10+ checklists de validação │ ├── data/ # Knowledge base │ ├── templates/ # Templates de documentos │ ├── workflows/ # Workflows multi-step │ ├── tools/ # Configurações de ferramentas │ ├── utils/ # 70+ utilitários │ └── install-manifest.yaml # Metadata da instalação │ ├── .claude/ # ✅ Se Claude Code selecionado │ └── commands/ │ └── AIOS/ │ ├── agents/*.md # 11 comandos de agentes │ └── tasks/*.md # 45+ comandos de tasks │ ├── .cursor/ # ✅ Se Cursor selecionado │ └── rules/ │ ├── dev.mdc │ ├── po.mdc │ └── ... (30+ rules) │ └── Squads/ # ✅ Se squads selecionados ├── hybrid-ops/ # Metodologia Pedro Valério └── expansion-creator/ # Criador de squads ``` ### Upgrade de Instalação Existente Se você já tem AIOS instalado e quer fazer upgrade: ```bash # Upgrade automático (RC.9+) npx aios-core@latest install --force-upgrade # OU interativo (todos os RCs) npx aios-core@latest install # → Menu aparece: # 1. Keep current version (v1.0.0-rc.8) # 2. Upgrade AIOS core (v1.0.0-rc.8 → v1.0.0-rc.10) # 3. Configure IDE settings # 4. Exit without changes ``` ### Comandos Úteis ```bash # Ver versão disponível no NPM npm view aios-core@latest version # Output: 1.0.0-rc.10 # Ver opções de instalação e comandos disponíveis npx aios-core@latest --help # Ver squads instalados # Use o wizard de instalação para selecionar/visualizar squads disponíveis npx aios-core@latest install # Ajuda do instalador npx aios-core@latest install --help ``` ### 🚀 Futuro: Modo de Instalação Explícito (Story 3.14) **Em desenvolvimento**: Sistema de detecção de modo de instalação O futuro comando `aios init` permitirá escolher explicitamente entre dois modos: #### Framework Development Mode - Para desenvolvedores contribuindo ao AIOS-FullStack - `.aios-core/` é código fonte (commitado) - Mudanças afetam o framework - Quality gates testam integridade do framework #### Project Development Mode - Para desenvolvedores usando AIOS em seus projetos - `.aios-core/` é dependência (gitignored) - Mudanças NÃO modificam o framework - Quality gates testam seu projeto **Quando disponível** (após Story 3.14): ```bash # Após instalação, configure o modo npx aios init # Cria .aios-installation-config.yaml # Atualiza .gitignore baseado no modo escolhido ``` **Status atual**: Atualmente, o instalador detecta automaticamente baseado em heurísticas (package.json name). A Story 3.14 tornará isso explícito e configurável. ### Troubleshooting **Problema**: `unknown option '--force-upgrade'` **Causa**: Versão RC antiga (RC.8 ou inferior) **Solução**: ```bash # Limpar cache NPX npm cache clean --force # Usar versão específica npx aios-core@1.0.0-rc.10 install --force-upgrade ``` **Problema**: Agents/tasks não instalados **Causa**: RC.7 ou anterior (path resolution bug) **Solução**: Usar RC.8 ou superior ```bash npx aios-core@latest install ``` **Problema**: Versão GitHub (4.31.1) detectada como mais nova que RC **Causa**: Normal - versioning schemes diferentes **Solução**: Escolher "Upgrade" ou usar `--force-upgrade` ```bash npx aios-core@latest install --force-upgrade # Migra de v4.31.1 para v1.0.0-rc.10 (novo scheme) ``` ## Fluxo de Trabalho de Planejamento e Execução O Synkra AIOS usa uma abordagem de duas fases que separa planejamento estratégico de implementação tática: ### Fase 1: Planejamento (Interface Web) Use o agente de IA na interface web (Claude.ai, ChatGPT, Gemini, etc.) para: 1. **Briefing e Análise** - Trabalhe com o agente **analyst** para criar o briefing inicial 2. **Product Requirements** - Use o **pm** (Product Manager) para desenvolver o PRD completo 3. **Arquitetura do Sistema** - Colabore com o **architect** para design técnico 4. **Design UX** (opcional) - Trabalhe com **ux-expert** para experiência do usuário ### Fase 2: Desenvolvimento (IDE) 1. **Fragmentação de Histórias** - Use o **sm** (Scrum Master) para criar histórias de desenvolvimento 2. **Implementação** - Trabalhe com o **dev** para codificar as features 3. **Garantia de Qualidade** - Use o **qa** para testes e validação 4. **Gerenciamento de Backlog** - **po** (Product Owner) gerencia prioridades ## O Fluxo de Planejamento (Interface Web) Este diagrama mostra o fluxo de trabalho de planejamento de alto nível usando agentes na interface web: ```mermaid graph TD Start([User starts with idea]) --> Brief[analyst: Create Brief] Brief --> PRD[pm: Develop PRD] PRD --> Arch[architect: Design Architecture] Arch --> UX{Need UX?} UX -->|Yes| UXDesign[ux-expert: Create UX Design] UX -->|No| Switch[Switch to IDE] UXDesign --> Switch Switch --> Stories[sm: Fragment into Stories] style Start fill:#e1f5ff style Brief fill:#fff4e1 style PRD fill:#ffe1f5 style Arch fill:#f5e1ff style UXDesign fill:#e1ffe1 style Switch fill:#ffe1e1 style Stories fill:#f5f5f5 ``` ### Trabalhando com Agentes de Planejamento #### 1. analyst - Analista de Negócios O agente **analyst** ajuda você a: - Entender e documentar requisitos de negócio - Identificar stakeholders e suas necessidades - Criar briefings detalhados do projeto - Definir objetivos e métricas de sucesso **Comandos comuns**: - `*help` - Mostrar comandos disponíveis - `*create-brief` - Criar novo briefing - `*analyze-requirements` - Analisar requisitos - `*exit` - Sair do agente #### 2. pm - Product Manager O **pm** (Product Manager) é responsável por: - Transformar briefings em PRDs estruturados - Definir features e prioridades - Criar roadmaps de produto - Estabelecer critérios de aceitação **Fluxo típico**: 1. Recebe o briefing do analyst 2. Faz perguntas de esclarecimento 3. Cria PRD fragmentado por seções 4. Refina com feedback do usuário #### 3. architect - Arquiteto de Sistema O agente **architect** desenha: - Arquitetura técnica do sistema - Escolha de tecnologias e frameworks - Estrutura de dados e modelos - Padrões de design e best practices - Diagramas de componentes e fluxos **Responsabilidades**: - Criar documentos de arquitetura técnica - Definir stack tecnológico - Estabelecer padrões de código - Planejar escalabilidade e performance #### 4. ux-expert - Especialista em UX (Opcional) O **ux-expert** foca em: - Design de interface do usuário - Fluxos de usuário e jornadas - Wireframes e mockups conceituais - Princípios de usabilidade ### Documentos Criados na Fase de Planejamento Ao final da fase de planejamento, você terá: ``` docs/ ├── brief/ │ └── project-brief.md # Briefing inicial do projeto ├── prd/ │ ├── 01-overview.md # Visão geral do produto │ ├── 02-features.md # Especificação de features │ ├── 03-requirements.md # Requisitos detalhados │ └── 04-success-metrics.md # Métricas de sucesso ├── architecture/ │ ├── 01-system-design.md # Design do sistema │ ├── 02-tech-stack.md # Stack tecnológico │ ├── 03-data-models.md # Modelos de dados │ └── 04-patterns.md # Padrões e convenções └── ux/ (opcional) ├── 01-user-flows.md # Fluxos de usuário └── 02-wireframes.md # Wireframes conceituais ``` ## O Ciclo Principal de Desenvolvimento (IDE) Após completar o planejamento, você muda para o IDE onde o trabalho real de implementação acontece: ```mermaid graph TD Docs[PRD + Architecture Docs] --> SM[sm: Fragment into Stories] SM --> Story[Story File Created] Story --> Dev[dev: Implement] Dev --> Code[Code Written] Code --> QA[qa: Test & Validate] QA --> Pass{Tests Pass?} Pass -->|Yes| Done[Story Complete] Pass -->|No| Fix[dev: Fix Issues] Fix --> QA Done --> Next{More Stories?} Next -->|Yes| SM Next -->|No| Release[Release Ready] style Docs fill:#e1f5ff style SM fill:#fff4e1 style Story fill:#ffe1f5 style Dev fill:#f5e1ff style Code fill:#e1ffe1 style QA fill:#ffe1e1 style Pass fill:#f5f5f5 style Done fill:#e1ffe1 style Release fill:#e1f5ff ``` ### Trabalhando com Agentes de Desenvolvimento #### 1. sm - Scrum Master O **sm** (Scrum Master) é crucial para organizar o trabalho: **Responsabilidades principais**: - Fragmentar PRD e Arquitetura em histórias de desenvolvimento - Criar arquivos de story em `docs/stories/` - Definir tarefas e checkboxes para cada story - Estabelecer critérios de aceitação - Organizar dependências entre stories **Estrutura de uma Story**: ```markdown # Story 1.1: Configuração Inicial do Projeto ## Descrição Configurar a estrutura inicial do projeto... ## Contexto [Referências ao PRD e Arquitetura] ## Tarefas - [ ] Inicializar repositório Git - [ ] Configurar package.json - [ ] Instalar dependências base - [ ] Criar estrutura de diretórios ## Critérios de Aceitação - [ ] Projeto inicializa sem erros - [ ] Todas as dependências instaladas - [ ] Estrutura de pastas criada ## Arquivos Criados/Modificados [Atualizado pelo dev durante implementação] ## Notas [Anotações do dev e qa] ``` #### 2. dev - Desenvolvedor O agente **dev** é responsável pela implementação: **Fluxo de trabalho**: 1. Lê a story atual 2. Entende o contexto do PRD e Arquitetura 3. Implementa o código seguindo os padrões 4. Atualiza checkboxes conforme completa tarefas 5. Mantém a seção "Arquivos Criados/Modificados" 6. Adiciona notas sobre decisões técnicas **Boas práticas**: - Sempre ler a story completamente antes de começar - Seguir padrões definidos na Arquitetura - Escrever código limpo e auto-documentado - Adicionar tratamento de erros - Documentar decisões importantes nas Notas **Comandos no IDE**: - `*read-story {id}` - Ler uma story específica - `*update-story` - Atualizar progresso da story - `*complete-task {id}` - Marcar tarefa como completa #### 3. qa - Quality Assurance O agente **qa** valida a implementação: **Responsabilidades**: - Revisar código implementado - Executar testes - Validar critérios de aceitação - Reportar bugs e problemas - Sugerir melhorias **Processo de validação**: 1. Revisar código do dev 2. Executar suite de testes 3. Validar critérios de aceitação 4. Testar edge cases 5. Documentar resultados nas Notas da story **Tipos de validação**: -**Testes unitários** - Funções individuais -**Testes de integração** - Componentes juntos -**Testes E2E** - Fluxos completos -**Code review** - Qualidade do código -**Performance** - Métricas de performance #### 4. po - Product Owner O **po** (Product Owner) gerencia o backlog: **Funções**: - Priorizar stories no backlog - Clarificar requisitos quando necessário - Validar que implementação atende o PRD - Aprovar stories completadas - Ajustar escopo conforme necessário ## Capacidades do Test Architect (QA Agent) O agente **qa** do Synkra AIOS inclui capacidades avançadas de arquitetura de testes: ### 1. Perfil de Risco e Priorização O QA Agent pode: - Analisar o código para identificar áreas de alto risco - Priorizar esforços de teste baseado em complexidade - Sugerir estratégias de teste apropriadas - Balancear cobertura vs. recursos ### 2. Geração Automática de Testes **Testes Unitários**: ```javascript // Exemplo gerado pelo qa agent describe('UserService', () => { it('should create user with valid data', async () => { const userData = { name: 'Test', email: 'test@example.com' }; const result = await userService.create(userData); expect(result).toHaveProperty('id'); expect(result.name).toBe('Test'); }); it('should reject invalid email', async () => { const userData = { name: 'Test', email: 'invalid' }; await expect(userService.create(userData)) .rejects.toThrow('Invalid email'); }); }); ``` **Testes de Integração**: - Testes de API endpoints - Testes de banco de dados - Testes de serviços externos - Testes de autenticação/autorização **Testes E2E**: - Fluxos completos de usuário - Navegação entre páginas - Submissão de formulários - Validação de estados ### 3. Estratégias de Teste O QA Agent sugere estratégias baseadas em: **Complexidade do Código**: - Código complexo → Testes abrangentes + edge cases - Código simples → Testes básicos de happy path - Código crítico → Testes exaustivos + stress tests **Tipo de Funcionalidade**: - **CRUD básico** → Testes unitários + integração - **Lógica de negócio** → Testes unitários extensivos - **UI/UX** → Testes E2E + acessibilidade - **APIs** → Testes de contrato + carga ### 4. Cobertura e Métricas O agente **qa** monitora: - Cobertura de código (linha, branch, função) - Cobertura de features (vs. PRD) - Cobertura de cenários de usuário - Métricas de qualidade (bugs encontrados, tempo de fix) ## Integração com IDE 1. **Configurar regras globais**: - Abrir Settings → Global Rules - Salvar configuração 2. **Ativar agentes**: ``` @dev *help ``` 3. **Trabalhar com stories**: ``` @sm *create-story "Implementar autenticação" ``` ### Configuração para Cursor 1. **Configurar user rules**: - Abrir Settings → User Rules - Copiar conteúdo de `.cursor/global-rules.md` - Salvar configuração 2. **Comandos principais**: - `@agent-name` - Ativar agente específico - `*command` - Executar comando do agente - `*exit` - Sair do agente ### Configuração para Claude Code 1. **Automático**: - Arquivo `.claude/CLAUDE.md` é carregado automaticamente - Nenhuma configuração manual necessária 2. **Recursos especiais**: - Reconhecimento automático de comandos AIOS - Integração com workflows e tasks - Rastreamento automático de checkboxes ## Sistema de Preferências Técnicas O Synkra AIOS permite configurar preferências técnicas que influenciam decisões dos agentes: ### Definir Preferências Crie um arquivo `docs/tech-preferences.md`: ```markdown # Preferências Técnicas do Projeto ## Stack Principal - **Backend**: Node.js + Express - **Frontend**: React + TypeScript - **Banco de Dados**: PostgreSQL - **ORM**: Prisma ## Padrões de Código - **Style Guide**: Airbnb JavaScript Style Guide - **Linting**: ESLint + Prettier - **Testing**: Jest + React Testing Library ## Arquitetura - **Pattern**: Clean Architecture - **API**: RESTful + GraphQL - **Auth**: JWT + OAuth2 ## DevOps - **CI/CD**: GitHub Actions - **Hosting**: Vercel (Frontend) + Railway (Backend) - **Monitoring**: Sentry + LogRocket ``` ### Como os Agentes Usam as Preferências **architect**: - Usa preferências para desenhar arquitetura consistente - Sugere tecnologias alinhadas com o stack definido - Aplica padrões especificados **dev**: - Implementa usando frameworks e bibliotecas preferidos - Segue style guides e padrões definidos - Usa ferramentas de desenvolvimento especificadas **qa**: - Configura testes com frameworks escolhidos - Valida conformidade com padrões - Verifica integração com ferramentas de CI/CD ## Fluxo de Trabalho Completo: Do Conceito à Produção ### 1. Ideação e Planejamento (Interface Web) **Semana 1**: Trabalhe com agentes de planejamento ``` Dia 1-2: analyst - Criar briefing inicial - Identificar stakeholders - Definir objetivos de negócio Dia 3-4: pm - Desenvolver PRD completo - Definir features e prioridades - Estabelecer roadmap Dia 5-6: architect - Desenhar arquitetura técnica - Escolher stack tecnológico - Criar diagramas de sistema Dia 7 (opcional): ux-expert - Design de experiência do usuário - Criar wireframes - Definir fluxos de usuário ``` ### 2. Preparação para Desenvolvimento (IDE) **Início da Semana 2**: Setup e fragmentação ``` @sm *fragment-prd [sm cria stories numeradas baseadas no PRD] Stories criadas: - Story 1.1: Setup inicial do projeto - Story 1.2: Configurar banco de dados - Story 2.1: Implementar autenticação - Story 2.2: CRUD de usuários - Story 3.1: UI de login ... ``` ### 3. Desenvolvimento Iterativo (IDE) **Semanas 2-X**: Ciclo dev → qa Para cada story: ``` @dev *read-story 1.1 [dev implementa seguindo a story] [atualiza checkboxes: [ ] → [x]] [adiciona arquivos criados] [documenta decisões nas Notas] @qa *validate-story 1.1 [qa revisa código] [executa testes] [valida critérios de aceitação] [reporta issues ou aprova] ``` ### 4. Gestão de Backlog (Contínua) ``` @po *prioritize-backlog [po reorganiza stories baseado em:] - Feedback de stakeholders - Blockers e dependências - Mudanças de requisitos - Valor de negócio ``` ### 5. Release e Deployment Quando todas as stories estão completas: ``` @qa *final-validation [qa executa:] - Suite completa de testes - Testes de regressão - Validação de performance - Security audit @dev *prepare-release [dev prepara:] - Build de produção - Documentação de deployment - Migration scripts - Rollback procedures ``` ## Repository Integrity e GitHub DevOps Agent ### O Agente @github-devops O AIOS-FullStack impõe integridade de repositório através de um agente centralizado de DevOps. **Regra Crítica**: APENAS @github-devops pode fazer push para repositórios GitHub. #### Por Que Isso Importa Sem controle centralizado: - ❌ Código não testado chega à produção - ❌ Builds quebrados na branch main - ❌ Conflitos de versão - ❌ Gerenciamento de release inconsistente Com @github-devops: - ✅ Quality gates automatizados antes do push - ✅ Gerenciamento de versão sistemático - ✅ Criação de PR automatizada - ✅ Orquestração de CI/CD #### Usando @github-devops **Ativar o agente**: ``` @github-devops *help ``` **Comandos comuns**: - `*detect-repo` - Mostra repositório e modo detectados - `*pre-push` - Executa quality gates e faz push para GitHub - `*create-pr` - Cria pull request da branch atual - `*version-check` - Analisa requisitos de bump de versão - `*configure-ci` - Configura workflows do GitHub Actions - `*cleanup` - Remove branches obsoletas e arquivos temporários #### Workflow de Quality Gate 1. **Faça mudanças** no seu codebase 2. **Commit localmente** (git commit) 3. **Ative @github-devops** 4. **Execute pre-push quality gate**: ``` @github-devops *pre-push ``` 5. **Agente executa**: - ✓ npm run lint (se existir) - ✓ npm run test (se existir) - ✓ npm run typecheck (se existir) - ✓ npm run build (se existir) - ✓ Verifica story status = Done - ✓ Checa se não há mudanças uncommitted 6. **Aprovação do usuário** - Agente apresenta resumo para confirmação 7. **Push para GitHub** - Só prossegue se todos os gates passarem #### Design Repository-Agnostic O agente @github-devops funciona com QUALQUER repositório git: - Detecta seu repositório automaticamente - Adapta quality gates aos seus npm scripts - Funciona em framework-dev E project-dev modes (quando disponível) - Sem assumptions hard-coded de repositório **Modo Framework Development** (futuro): ```bash # No repositório aios-core @github-devops *detect-repo # Output: # Repository: github.com/SynkraAI/aios-core # Mode: framework-development # Quality Gates: Testes do framework AIOS ``` **Modo Project Development** (futuro): ```bash # No seu projeto @github-devops *detect-repo # Output: # Repository: github.com/seuusuario/seu-projeto # Mode: project-development # Quality Gates: Testes do SEU projeto ``` #### Git Hook Enforcement Um git hook pre-push previne pushes diretos acidentais: ```bash # Isso vai FALHAR: git push origin main # Erro: Git push bloqueado! # Apenas o agente @github-devops pode fazer push ao repositório remoto. ``` **Para fazer push de mudanças**: 1. Ative @github-devops 2. Execute `*pre-push` 3. Siga o workflow do quality gate #### Criando Pull Requests ``` @github-devops *create-pr ``` O agente irá: - Criar feature branch do story ID - Gerar descrição do PR do contexto da story - Linkar PR à story - Atribuir reviewers baseado no tipo da story - Usar repositório detectado (não hard-coded) #### Configuração do GitHub Actions ``` @github-devops *configure-ci ``` Instala workflows em .github/workflows/: - ci.yml - Testes em PRs - cd.yml - Deploy em merge para main - quality-gate.yml - Lint + Test + Build Workflows se adaptam aos npm scripts do seu repositório. **Nota**: Esta funcionalidade está planejada para Story 3.14. O instalador atual não configura git hooks ou modos de instalação ainda. ## Modos de Desenvolvimento de Stories O AIOS-FullStack oferece três modos de desenvolvimento para acomodar diferentes níveis de habilidade e restrições de tempo. ### Modo 1: YOLO Mode 🚀 **Melhor para**: Desenvolvedores experientes, stories simples, restrições de tempo **Características**: - Tomada de decisão autônoma - Prompts mínimos ao usuário (0-1) - Execução rápida - Log automático de todas as decisões **Como usar**: ``` @dev *develop-yolo "Story 2.5" ``` **O que acontece**: - Agente lê story completamente - Toma todas as decisões técnicas autonomamente - Loga decisões para revisão - Implementa story completa - Gera relatório de decisões no final **Exemplo de Log de Decisão**: ```markdown ## Decisões YOLO Mode - Story 2.5 1. **Escolha de Biblioteca**: Selecionou Axios em vez de Fetch Razão: Melhor tratamento de erros e interceptors 2. **State Management**: Escolheu React Context Razão: Requisitos da story não justificam complexidade do Redux 3. **Abordagem de Testes**: Jest + React Testing Library Razão: Corresponde ao tech stack existente ``` ### Modo 2: Interactive Mode 🤝 **Melhor para**: Aprendizado, stories complexas, decisões importantes **Características**: - Checkpoints explícitos de decisão - Explicações educacionais - Velocidade e controle balanceados - Usuário confirma decisões chave **Como usar**: ``` @dev *develop-story "Story 2.5" # ou *develop-interactive "Story 2.5" ``` **Checkpoints de Decisão**: - Seleção de padrão arquitetural - Escolhas de biblioteca/framework - Abordagens de implementação de algoritmos - Decisões de estrutura de dados - Estratégia de testes **Exemplo de Interação**: ``` Agente: Preciso escolher uma abordagem de state management. Opções: 1. React Context - Simples, built-in 2. Redux Toolkit - Mais complexo, melhor para state grande 3. Zustand - Leve, moderno Requisitos da Story: State de formulário simples, 3-4 campos Recomendação: React Context (opção 1) Razão: Requisitos da story são simples, Context é suficiente Sua escolha [1/2/3]: _ ``` ### Modo 3: Pre-Flight Planning Mode 📋 **Melhor para**: Stories ambíguas, features críticas, evitar scope drift **Características**: - Planejamento abrangente upfront - Questionário completo antes do desenvolvimento - Execução com zero ambiguidade - Controle máximo **Como usar**: ``` @dev *develop-preflight "Story 2.5" ``` **Workflow**: **Fase 1: Análise da Story** - Agente lê story completamente - Identifica TODAS as ambiguidades e questões abertas - Gera questionário abrangente **Fase 2: Coleta de Input em Batch** ``` Questionário Pre-Flight Planning - Story 2.5 Questões de Arquitetura: 1. Padrão de endpoint de API? (RESTful, GraphQL, RPC) 2. Onde colocar lógica de negócio? (Service layer, Controller, Model) Questões de Biblioteca: 3. Preferência de HTTP client? (Axios, Fetch, node-fetch) 4. Biblioteca de validação de formulário? (Yup, Zod, Joi, custom) Questões de Testes: 5. Alvo de cobertura de testes? (80%, 90%, 100%) 6. Estratégia de dados de teste? (Fixtures, Factories, Mocks) Questões de Design: 7. Abordagem de tratamento de erros? (Try-catch, Error boundaries, ambos) 8. UI de loading state? (Spinner, Skeleton, Progress bar) Suas respostas [separar com | ]: RESTful | Service layer | Axios | Yup | 80% | Fixtures | Ambos | Spinner ``` **Fase 3: Execução com Contexto Completo** - Agente tem TODAS as respostas upfront - Sem perguntas durante desenvolvimento - Sem scope drift - Sem alucinações em requisitos ambíguos **Fase 4: Registro de Decisão** ```markdown ## Decisões Pre-Flight - Story 2.5 Baseado em input do usuário durante planejamento pre-flight: 1. Padrão de API: RESTful 2. Lógica de Negócio: Service layer 3. HTTP Client: Axios 4. Validação de Formulário: Yup 5. Cobertura de Testes: 80% 6. Dados de Teste: Fixtures 7. Tratamento de Erros: Try-catch + Error boundaries 8. UI de Loading: Spinner Implementação prosseguiu com zero ambiguidade. ``` ### Escolhendo o Modo Certo | Cenário | Modo Recomendado | Razão | |---------|------------------|-------| | Feature CRUD simples | YOLO | Padrões standard, baixo risco | | Aprender novo framework | Interactive | Valor educacional | | Sistema de autenticação crítico | Pre-Flight | Evitar erros de segurança | | Correção de bug | YOLO | Rápido, baixa ambiguidade | | Algoritmo complexo | Pre-Flight | Muitas escolhas de design | | Refatoração de rotina | Interactive | Bom balanço | | Spike/prototype | YOLO | Velocidade importa | | Feature de produção | Pre-Flight | Qualidade importa | ### Comparação de Modos | Aspecto | YOLO | Interactive | Pre-Flight | |---------|------|-------------|------------| | Prompts ao Usuário | 0-1 | 5-10 | 10-30 | | Velocidade | Mais Rápido | Médio | Mais Lento | | Controle | Mais Baixo | Médio | Mais Alto | | Aprendizado | Baixo | Alto | Médio | | Qualidade de Decisão | Automatizada | Colaborativa | Abrangente | | Risco de Scope Drift | Médio | Baixo | Mais Baixo | **Nota**: Esta funcionalidade está planejada para Story 3.13. O agente @dev atual usa modo interativo padrão. ## Boas Práticas e Dicas ### Para Fase de Planejamento**Faça**: - Seja específico e detalhado no briefing inicial - Responda completamente às perguntas dos agentes - Revise e refine documentos iterativamente - Mantenha consistência entre PRD e Arquitetura - Documente decisões importantes e suas razões ❌ **Evite**: - Pular etapas do planejamento - Criar PRDs vagos ou incompletos - Ignorar considerações de arquitetura - Misturar requisitos de negócio com detalhes de implementação ### Para Fase de Desenvolvimento**Faça**: - Trabalhe uma story por vez, do início ao fim - Atualize checkboxes imediatamente após completar tarefas - Mantenha a lista "Arquivos Criados/Modificados" atualizada - Documente decisões técnicas importantes nas Notas - Execute testes antes de marcar story como completa - Siga os padrões definidos na Arquitetura ❌ **Evite**: - Começar múltiplas stories simultaneamente - Pular testes ou validação de QA - Ignorar critérios de aceitação - Desviar dos padrões sem documentar - Deixar checkboxes desatualizados ### Comunicação Entre Agentes As stories servem como **meio de comunicação** entre agentes: **sm → dev**: Story define o que construir **dev → qa**: Notas da story explicam como foi construído **qa → dev**: Notas da story reportam issues **po → todos**: Priorização e esclarecimentos **Exemplo de comunicação via Notas**: ```markdown ## Notas ### [dev - 2025-01-15] Implementei autenticação usando JWT com refresh tokens. Escolhi bcrypt para hash de senhas (10 rounds). Tokens expiram em 15min, refresh em 7 dias. ### [qa - 2025-01-16] ✅ Testes unitários passando (12/12) ✅ Testes de integração OK (5/5) ⚠️ Encontrado: Token não é invalidado no logout Severity: HIGH Precisa fix antes de aprovar ### [dev - 2025-01-16] ✅ Fix aplicado: Implementado blacklist de tokens ✅ Novos testes adicionados para logout Pronto para nova validação ### [qa - 2025-01-17] ✅ Story aprovada Todos os critérios atendidos ``` ## Trabalhando em Projetos Brownfield Ao integrar Synkra AIOS em projetos existentes: ### 1. Análise Inicial ``` @analyst *analyze-existing-project [Forneça ao analyst:] - Visão geral do projeto atual - Stack tecnológico existente - Documentação disponível - Pain points e objetivos de melhoria ``` ### 2. Documentação Retroativa ``` @architect *document-existing-architecture [architect criará:] - Mapeamento da arquitetura atual - Identificação de padrões existentes - Documentação de tech debt - Recomendações de melhoria ``` ### 3. Planejamento Incremental ``` @pm *create-migration-plan [pm desenvolverá:] - Roadmap de migração - Stories de refatoração - Plano de modernização - Estratégia de rollout ``` ## Solução de Problemas ### Agente não está seguindo instruções **Problema**: Agente ignora parte do PRD ou Arquitetura **Solução**: 1. Verifique se o documento está fragmentado corretamente 2. Certifique-se de que o contexto está explícito na story 3. Use notas na story para dar contexto adicional 4. Se necessário, fragmente a story em partes menores ### Stories muito grandes **Problema**: Story tem muitas tarefas e se torna difícil de gerenciar **Solução**: ``` @sm *split-story 3.1 [sm dividirá em:] - Story 3.1a: Primeira parte - Story 3.1b: Segunda parte ``` ### Conflito entre PRD e Arquitetura **Problema**: PRD pede feature que conflita com arquitetura **Solução**: 1. Volte para a interface web 2. Trabalhe com pm e architect para resolver 3. Atualize os documentos 4. Notifique o sm para revisar stories afetadas ### Mudança de requisitos **Problema**: Cliente/stakeholder muda requisitos no meio do projeto **Solução**: ``` 1. @po *update-prd "Nova feature X necessária" 2. @architect *assess-impact "Nova feature X" 3. @sm *create-change-stories 4. @po *reprioritize-backlog ``` ## Meta-Agentes O Synkra AIOS inclui meta-agentes para orquestração: ### aios-master O **aios-master** é o agente de orquestração principal: **Capacidades**: - Coordenar múltiplos agentes - Executar workflows complexos - Gerenciar estado do projeto - Tomar decisões de alto nível **Quando usar**: - Operações que envolvem múltiplos agentes - Workflows automatizados - Situações que requerem decisões contextuais ### aios-orchestrator O **aios-orchestrator** gerencia fluxos de trabalho: **Funções**: - Sequenciar tarefas entre agentes - Gerenciar dependências - Monitorar progresso - Coordenar handoffs ### aios-developer O **aios-developer** é o meta-agente para o próprio AIOS: **Uso**: - Criar novos agentes - Modificar workflows - Estender o framework - Customizar comportamentos ``` @aios-developer *create-agent "custom-agent" [aios-developer guiará você na criação de um novo agente] ``` ## Expansão e Customização ### Squads O Synkra AIOS suporta squads para domínios específicos: **Disponíveis durante instalação**: - **hybrid-ops** - Metodologia Pedro Valério (operações híbridas humano-agente) - **expansion-creator** - Ferramentas para criar novos squads - **aios-infrastructure-devops** - Utilities de DevOps e infraestrutura - **meeting-notes** - Assistente de notas e atas de reuniões **Configurar squads na instalação**: ```bash # Durante a instalação, o wizard pergunta quais squads instalar npx aios-core@latest install # O wizard mostra: # 📦 Select Squads to Install: # ◉ hybrid-ops # ◯ expansion-creator # ◯ aios-infrastructure-devops # ◯ meeting-notes ``` **Adicionar squads depois**: ```bash # Re-execute o instalador npx aios-core@latest install # Escolha "Configure IDE settings" ou "Upgrade" # Wizard permitirá adicionar squads não instalados ``` ### Criar Seus Próprios Agentes Use o **aios-developer** para criar agentes customizados: ``` @aios-developer *create-agent [Siga a elicitação interativa:] Nome do agente: data-scientist Expertise: Análise de dados e machine learning Comandos principais: *analyze, *visualize, *predict Workflows: data-analysis.yml, ml-model.yml ``` ### Criar Templates Customizados Adicione templates próprios em `aios-core/templates/`: ```markdown --- template: custom-document category: planning description: Template personalizado para X --- # Título do Template ## Seções ... ``` ## Checklist de Workflow Use este checklist para garantir que está seguindo o workflow corretamente: ### Fase de Planejamento (Web UI) - [ ] Briefing criado com analyst - [ ] PRD completo desenvolvido com pm - [ ] Arquitetura técnica definida com architect - [ ] UX design criado (se aplicável) com ux-expert - [ ] Todos os documentos revisados e aprovados - [ ] Preferências técnicas documentadas - [ ] Pronto para mudança ao IDE ### Fase de Desenvolvimento (IDE) - [ ] Stories criadas pelo sm - [ ] Dependências entre stories identificadas - [ ] Stories priorizadas pelo po - [ ] Working directory configurado - [ ] Repositório Git inicializado - [ ] IDE configurado com regras AIOS ### Para Cada Story - [ ] Story lida completamente - [ ] Contexto do PRD/Arquitetura entendido - [ ] Implementação seguindo padrões - [ ] Checkboxes atualizados durante trabalho - [ ] Arquivos criados/modificados documentados - [ ] Testes escritos e executados - [ ] Code review realizado - [ ] Critérios de aceitação validados - [ ] Notas documentadas com decisões - [ ] Story aprovada pelo qa ### Antes do Release - [ ] Todas as stories completas - [ ] Suite completa de testes passando - [ ] Documentação atualizada - [ ] Performance validada - [ ] Security audit realizado - [ ] Build de produção testado - [ ] Plano de deployment pronto - [ ] Procedimentos de rollback documentados ## Recursos Adicionais ### Documentação - [Guia de Instalação](../docs/getting-started.md) - [Arquitetura do AIOS](../docs/architecture.md) - [Guia de Squads](../docs/Squads.md) - [Trabalhando em Brownfield](./working-in-the-brownfield.md) ### Suporte - [GitHub Issues](https://github.com/SynkraAI/aios-core/issues) ### Exemplos Veja `Squads/` para exemplos de: - Agentes customizados - Workflows especializados - Templates de documentos - Checklists de validação --- **Nota**: Este guia é uma visão geral. Para detalhes específicos de implementação, consulte a documentação técnica na pasta `docs/`. *Synkra AIOS User Guide v2.0* *Última atualização: Janeiro 2025*