Files
ealmeida faef9b47dc fix(project-manager): remover Dify KB das descriptions, marcar nota TODO
Dify foi removido 06-03-2026. Skills brainstorm/discover ainda referenciam-no
no corpo. Bump v1.2 + nota top-of-file. Reescrita workflow para próxima sessão.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 04:52:03 +01:00

204 lines
4.5 KiB
Markdown

---
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
* <AgentStatusCard
* agentId="agent-123"
* onRefresh={() => 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: "<acidaos-collection-id>"
})
```
---
### 4. Criar ADR (Architecture Decision Record)
**Template ADR:**
```markdown
# ADR-<NNN>: <Título da Decisão>
**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
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*