UNPKG

aios-core

Version:

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

357 lines (280 loc) 12.7 kB
# Synkra AIOS Development Rules for Claude Code You are working with Synkra AIOS, an AI-Orchestrated System for Full Stack Development. <!-- AIOS-MANAGED-START: core-framework --> ## Core Framework Understanding Synkra AIOS is a meta-framework that orchestrates AI agents to handle complex development workflows. Always recognize and work within this architecture. <!-- AIOS-MANAGED-END: core-framework --> <!-- AIOS-MANAGED-START: constitution --> ## Constitution O AIOS possui uma **Constitution formal** com princípios inegociáveis e gates automáticos. **Documento completo:** `.aios-core/constitution.md` **Princípios fundamentais:** | Artigo | Princípio | Severidade | |--------|-----------|------------| | I | CLI First | NON-NEGOTIABLE | | II | Agent Authority | NON-NEGOTIABLE | | III | Story-Driven Development | MUST | | IV | No Invention | MUST | | V | Quality First | MUST | | VI | Absolute Imports | SHOULD | **Gates automáticos bloqueiam violações.** Consulte a Constitution para detalhes completos. <!-- AIOS-MANAGED-END: constitution --> <!-- AIOS-MANAGED-START: sistema-de-agentes --> ## Sistema de Agentes ### Ativação de Agentes Use `@agent-name` ou `/AIOS:agents:agent-name`: | Agente | Persona | Escopo Principal | |--------|---------|------------------| | `@dev` | Dex | Implementação de código | | `@qa` | Quinn | Testes e qualidade | | `@architect` | Aria | Arquitetura e design técnico | | `@pm` | Morgan | Product Management | | `@po` | Pax | Product Owner, stories/epics | | `@sm` | River | Scrum Master | | `@analyst` | Alex | Pesquisa e análise | | `@data-engineer` | Dara | Database design | | `@ux-design-expert` | Uma | UX/UI design | | `@devops` | Gage | CI/CD, git push (EXCLUSIVO) | ### Comandos de Agentes Use prefixo `*` para comandos: - `*help` - Mostrar comandos disponíveis - `*create-story` - Criar story de desenvolvimento - `*task {name}` - Executar task específica - `*exit` - Sair do modo agente <!-- AIOS-MANAGED-END: sistema-de-agentes --> <!-- AIOS-MANAGED-START: agent-system --> ## Agent System ### Agent Activation - Agents are activated with @agent-name syntax: @dev, @qa, @architect, @pm, @po, @sm, @analyst - The master agent is activated with @aios-master - Agent commands use the * prefix: *help, *create-story, *task, *exit ### Agent Context When an agent is active: - Follow that agent's specific persona and expertise - Use the agent's designated workflow patterns - Maintain the agent's perspective throughout the interaction <!-- AIOS-MANAGED-END: agent-system --> ## Development Methodology ### Story-Driven Development 1. **Work from stories** - All development starts with a story in `docs/stories/` 2. **Update progress** - Mark checkboxes as tasks complete: [ ] → [x] 3. **Track changes** - Maintain the File List section in the story 4. **Follow criteria** - Implement exactly what the acceptance criteria specify ### Code Standards - Write clean, self-documenting code - Follow existing patterns in the codebase - Include comprehensive error handling - Add unit tests for all new functionality - Use TypeScript/JavaScript best practices ### Testing Requirements - Run all tests before marking tasks complete - Ensure linting passes: `npm run lint` - Verify type checking: `npm run typecheck` - Add tests for new features - Test edge cases and error scenarios <!-- AIOS-MANAGED-START: framework-structure --> ## AIOS Framework Structure ``` aios-core/ ├── agents/ # Agent persona definitions (YAML/Markdown) ├── tasks/ # Executable task workflows ├── workflows/ # Multi-step workflow definitions ├── templates/ # Document and code templates ├── checklists/ # Validation and review checklists └── rules/ # Framework rules and patterns docs/ ├── stories/ # Development stories (numbered) ├── prd/ # Product requirement documents ├── architecture/ # System architecture documentation └── guides/ # User and developer guides ``` <!-- AIOS-MANAGED-END: framework-structure --> <!-- AIOS-MANAGED-START: framework-boundary --> ## Framework vs Project Boundary O AIOS usa um modelo de 4 camadas (L1-L4) para separar artefatos do framework e do projeto. Deny rules em `.claude/settings.json` reforçam isso deterministicamente. | Camada | Mutabilidade | Paths | Notas | |--------|-------------|-------|-------| | **L1** Framework Core | NEVER modify | `.aios-core/core/`, `.aios-core/constitution.md`, `bin/aios.js`, `bin/aios-init.js` | Protegido por deny rules | | **L2** Framework Templates | NEVER modify | `.aios-core/development/tasks/`, `.aios-core/development/templates/`, `.aios-core/development/checklists/`, `.aios-core/development/workflows/`, `.aios-core/infrastructure/` | Extend-only | | **L3** Project Config | Mutable (exceptions) | `.aios-core/data/`, `agents/*/MEMORY.md`, `core-config.yaml` | Allow rules permitem | | **L4** Project Runtime | ALWAYS modify | `docs/stories/`, `packages/`, `squads/`, `tests/` | Trabalho do projeto | **Toggle:** `core-config.yaml``boundary.frameworkProtection: true/false` controla se deny rules são ativas (default: true para projetos, false para contribuidores do framework). > **Referência formal:** `.claude/settings.json` (deny/allow rules), `.claude/rules/agent-authority.md` <!-- AIOS-MANAGED-END: framework-boundary --> <!-- AIOS-MANAGED-START: rules-system --> ## Rules System O AIOS carrega regras contextuais de `.claude/rules/` automaticamente. Regras com frontmatter `paths:` só carregam quando arquivos correspondentes são editados. | Rule File | Description | |-----------|-------------| | `agent-authority.md` | Agent delegation matrix and exclusive operations | | `agent-handoff.md` | Agent switch compaction protocol for context optimization | | `agent-memory-imports.md` | Agent memory lifecycle and CLAUDE.md ownership | | `coderabbit-integration.md` | Automated code review integration rules | | `ids-principles.md` | Incremental Development System principles | | `mcp-usage.md` | MCP server usage rules and tool selection priority | | `story-lifecycle.md` | Story status transitions and quality gates | | `workflow-execution.md` | 4 primary workflows (SDC, QA Loop, Spec Pipeline, Brownfield) | > **Diretório:** `.claude/rules/` — rules são carregadas automaticamente pelo Claude Code quando relevantes. <!-- AIOS-MANAGED-END: rules-system --> <!-- AIOS-MANAGED-START: code-intelligence --> ## Code Intelligence O AIOS possui um sistema de code intelligence opcional que enriquece operações com dados de análise de código. | Status | Descrição | Comportamento | |--------|-----------|---------------| | **Configured** | Provider ativo e funcional | Enrichment completo disponível | | **Fallback** | Provider indisponível | Sistema opera normalmente sem enrichment — graceful degradation | | **Disabled** | Nenhum provider configurado | Funcionalidade de code-intel ignorada silenciosamente | **Graceful Fallback:** Code intelligence é sempre opcional. `isCodeIntelAvailable()` verifica disponibilidade antes de qualquer operação. Se indisponível, o sistema retorna o resultado base sem modificação — nunca falha. **Diagnóstico:** `aios doctor` inclui check de code-intel provider status. > **Referência:** `.aios-core/core/code-intel/` — provider interface, enricher, client <!-- AIOS-MANAGED-END: code-intelligence --> <!-- AIOS-MANAGED-START: graph-dashboard --> ## Graph Dashboard O CLI `aios graph` visualiza dependências, estatísticas de entidades e status de providers. ### Comandos ```bash aios graph --deps # Dependency tree (ASCII) aios graph --deps --format=json # Output como JSON aios graph --deps --format=html # Interactive HTML (abre browser) aios graph --deps --format=mermaid # Mermaid diagram aios graph --deps --format=dot # DOT format (Graphviz) aios graph --deps --watch # Live mode com auto-refresh aios graph --deps --watch --interval=10 # Refresh a cada 10 segundos aios graph --stats # Entity stats e cache metrics ``` **Formatos de saída:** ascii (default), json, dot, mermaid, html > **Referência:** `.aios-core/core/graph-dashboard/` — CLI, renderers, data sources <!-- AIOS-MANAGED-END: graph-dashboard --> ## Workflow Execution ### Task Execution Pattern 1. Read the complete task/workflow definition 2. Understand all elicitation points 3. Execute steps sequentially 4. Handle errors gracefully 5. Provide clear feedback ### Interactive Workflows - Workflows with `elicit: true` require user input - Present options clearly - Validate user responses - Provide helpful defaults ## Best Practices ### When implementing features: - Check existing patterns first - Reuse components and utilities - Follow naming conventions - Keep functions focused and testable - Document complex logic ### When working with agents: - Respect agent boundaries - Use appropriate agent for each task - Follow agent communication patterns - Maintain agent context ### When handling errors: ```javascript try { // Operation } catch (error) { console.error(`Error in ${operation}:`, error); // Provide helpful error message throw new Error(`Failed to ${operation}: ${error.message}`); } ``` ## Git & GitHub Integration ### Commit Conventions - Use conventional commits: `feat:`, `fix:`, `docs:`, `chore:`, etc. - Reference story ID: `feat: implement IDE detection [Story 2.1]` - Keep commits atomic and focused ### GitHub CLI Usage - Ensure authenticated: `gh auth status` - Use for PR creation: `gh pr create` - Check org access: `gh api user/memberships` <!-- AIOS-MANAGED-START: aios-patterns --> ## AIOS-Specific Patterns ### Working with Templates ```javascript const template = await loadTemplate('template-name'); const rendered = await renderTemplate(template, context); ``` ### Agent Command Handling ```javascript if (command.startsWith('*')) { const agentCommand = command.substring(1); await executeAgentCommand(agentCommand, args); } ``` ### Story Updates ```javascript // Update story progress const story = await loadStory(storyId); story.updateTask(taskId, { status: 'completed' }); await story.save(); ``` <!-- AIOS-MANAGED-END: aios-patterns --> ## Environment Setup ### Required Tools - Node.js 18+ - GitHub CLI - Git - Your preferred package manager (npm/yarn/pnpm) ### Configuration Files - `.aios/config.yaml` - Framework configuration - `.env` - Environment variables - `aios.config.js` - Project-specific settings <!-- AIOS-MANAGED-START: common-commands --> ## Common Commands ### AIOS Master Commands - `*help` - Show available commands - `*create-story` - Create new story - `*task {name}` - Execute specific task - `*workflow {name}` - Run workflow ### Development Commands - `npm run dev` - Start development - `npm test` - Run tests - `npm run lint` - Check code style - `npm run build` - Build project <!-- AIOS-MANAGED-END: common-commands --> ## Debugging ### Enable Debug Mode ```bash export AIOS_DEBUG=true ``` ### View Agent Logs ```bash tail -f .aios/logs/agent.log ``` ### Trace Workflow Execution ```bash npm run trace -- workflow-name ``` ## Claude Code Specific Configuration ### Performance Optimization - Prefer batched tool calls when possible for better performance - Use parallel execution for independent operations - Cache frequently accessed data in memory during sessions ### Tool Usage Guidelines - Always use the Grep tool for searching, never `grep` or `rg` in bash - Use the Task tool for complex multi-step operations - Batch file reads/writes when processing multiple files - Prefer editing existing files over creating new ones ### Session Management - Track story progress throughout the session - Update checkboxes immediately after completing tasks - Maintain context of the current story being worked on - Save important state before long-running operations ### Error Recovery - Always provide recovery suggestions for failures - Include error context in messages to user - Suggest rollback procedures when appropriate - Document any manual fixes required ### Testing Strategy - Run tests incrementally during development - Always verify lint and typecheck before marking complete - Test edge cases for each new feature - Document test scenarios in story files ### Documentation - Update relevant docs when changing functionality - Include code examples in documentation - Keep README synchronized with actual behavior - Document breaking changes prominently --- *Synkra AIOS Claude Code Configuration v2.0*