--- name: docs description: Gerar documentação técnica do AcidaOS a partir do código — Rust (rustdoc), TypeScript (TypeDoc), e publicar no Outline. Usar quando "documentação acidaos", "gerar docs", "rustdoc", "typedoc", "acidaos-docs", documentar código do projecto. allowed-tools: Read, Write, Bash, mcp__gitea__get_file_content, mcp__gitea__get_dir_content, mcp__outline-api__create_document, mcp__outline-api__update_document, mcp__outline-api__search_documents, mcp__memory-supabase__search_memories --- # AcidaOS Docs Skill para gerar e publicar documentação técnica do AcidaOS. ## Estratégia de Documentação | Camada | Ferramenta | Destino | |--------|-----------|---------| | API interna Rust | `rustdoc` + comentários `///` | `/docs` no repo | | Componentes React | TypeDoc + Storybook | Storybook deployed | | Arquitectura | Mermaid.js diagramas | Outline (Wiki) | | Endpoints API | OpenAPI/Swagger | Outline (Wiki) | | Decisões técnicas | ADRs em Markdown | Outline (Wiki) | ## Protocolo ``` mcp__memory-supabase__search_memories "acidaos documentação" mcp__outline-api__search_documents "acidaos" # ver docs existentes ``` --- ## Operações ### 1. Gerar documentação Rust (`rustdoc`) **Verificar comentários existentes:** ``` mcp__gitea__get_dir_content acidaos-core/src/ ``` **Gerar localmente (no container dev):** ```bash cd /root/Dev/acidaos-core cargo doc --all-features --no-deps --open ``` **Verificar cobertura de documentação:** ```bash cargo doc --all-features 2>&1 | grep "warning: missing documentation" ``` **Template comentários Rust:** ```rust /// # ComponenteX /// /// Breve descrição em uma linha. /// /// ## Descrição detalhada /// /// Explicação mais longa do comportamento e propósito. /// /// ## Exemplos /// /// ```rust /// use acidaos_core::ComponenteX; /// /// let c = ComponenteX::new("id"); /// assert!(c.is_valid()); /// ``` /// /// ## Erros /// /// Retorna [`Error::Init`] se a inicialização falhar. pub struct ComponenteX { ... } ``` --- ### 2. Gerar documentação TypeScript (TypeDoc) **Verificar configuração:** ``` mcp__gitea__get_file_content acidaos-dashboard/typedoc.json ``` **Gerar (no container dev):** ```bash cd /root/Dev/acidaos-dashboard pnpm typedoc --out docs/api src/ ``` **Template JSDoc para componentes:** ```typescript /** * AgentStatusCard — Mostra o estado de um agente AcidaOS * * @example * ```tsx * refetch()} * /> * ``` */ export interface AgentStatusCardProps { /** ID único do agente no Core */ agentId: string; /** Callback chamado ao clicar em refrescar */ onRefresh?: () => void; } ``` --- ### 3. Publicar arquitectura no Outline **Criar/actualizar diagrama de arquitectura:** ```javascript mcp__outline-api__create_document({ title: "AcidaOS — Arquitectura Core", text: ` # Arquitectura AcidaOS Core ## Hub-and-Spoke \`\`\`mermaid graph TD A[acidaos-dashboard] -->|API REST| B[AcidaOS Core] B --> C[Agent Kernel] B --> D[Security & Sandboxing] B --> E[Memory Engine] B --> F[Observability] \`\`\` ## Componentes | Componente | Linguagem | Responsabilidade | |-----------|-----------|-----------------| | Core | Rust | Orquestração de agentes | | Dashboard | Next.js | Interface de utilizador | `, collectionId: "" }) ``` --- ### 4. Criar ADR (Architecture Decision Record) **Template ADR:** ```markdown # ADR-: **Data:** YYYY-MM-DD **Estado:** [Proposto | Aceite | Depreciado | Substituído por ADR-NNN] ## Contexto [Situação que levou à necessidade de tomar esta decisão] ## Opções Consideradas 1. **Opção A** — descrição breve 2. **Opção B** — descrição breve ## Decisão [Opção escolhida e porquê] ## Consequências **Positivas:** - [Consequência positiva] **Negativas / Trade-offs:** - [Limitação ou custo] ``` --- ## Quality Gate de Documentação Antes de marcar tarefa como concluída: - [ ] Rust: zero `missing documentation` warnings em `cargo doc` - [ ] TypeScript: TypeDoc gera sem erros - [ ] Novos módulos têm exemplos de uso nos comentários - [ ] Diagramas Mermaid actualizado se arquitectura mudou - [ ] ADR criado para decisões técnicas significativas --- **Versão**: 1.0.0 | **Autor**: Descomplicar® | **Plugin**: acidaos