Compare commits
81
Commits
1d0b2b5441
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bce12944ae | ||
|
|
99c1f8c8d3 | ||
|
|
e3a2c6fd9c | ||
|
|
18e48db490 | ||
|
|
4e33c1d697 | ||
|
|
7035eae927 | ||
|
|
9df437a48e | ||
|
|
bacf65df33 | ||
|
|
0d818d9f72 | ||
|
|
36a0721349 | ||
|
|
174f2f9357 | ||
|
|
87e4290283 | ||
|
|
06e6509fc6 | ||
|
|
9741b4761d | ||
|
|
e127e85ef8 | ||
|
|
a9ad8c5171 | ||
|
|
fad4c1f33b | ||
|
|
82c800bfe0 | ||
|
|
b2b5070cee | ||
|
|
addd556a07 | ||
|
|
e709130a1f | ||
|
|
1fc8756767 | ||
|
|
93c68f7e58 | ||
|
|
ea051c273f | ||
|
|
46175594c1 | ||
|
|
47ab74ccfa | ||
|
|
572cb91b38 | ||
|
|
c74dab4ac2 | ||
|
|
1ee91142d9 | ||
|
|
eae213c7f0 | ||
|
|
b32ad83617 | ||
|
|
c4139c84c3 | ||
|
|
70b2866edf | ||
|
|
a2205076fc | ||
|
|
639a5a4f6a | ||
|
|
5647b558cd | ||
|
|
67f6d6e6e1 | ||
|
|
000faca193 | ||
|
|
8bfdd34bb6 | ||
|
|
7363300a7f | ||
|
|
4a55d51329 | ||
|
|
aa981e8089 | ||
|
|
2863d0207f | ||
|
|
a179075704 | ||
|
|
88e0758d94 | ||
|
|
fd9b333b7b | ||
|
|
ca6c56c4d4 | ||
|
|
1f19ec315c | ||
|
|
37af142c33 | ||
|
|
0e2c832fac | ||
|
|
d9d4bb8858 | ||
|
|
3ed97b472e | ||
|
|
04f955ed0a | ||
|
|
24ef1f6d27 | ||
|
|
2d05873642 | ||
|
|
f90ba6ec76 | ||
|
|
04d9e50561 | ||
|
|
0526320c2d | ||
|
|
d852d54bf3 | ||
|
|
0f894c57b7 | ||
|
|
b936d28147 | ||
|
|
1c6646830c | ||
|
|
cf75218330 | ||
|
|
d1d14e10fa | ||
|
|
9ed9ba0e9f | ||
|
|
7194605255 | ||
|
|
495b55c70d | ||
|
|
f79bed1b93 | ||
|
|
da301108bb | ||
|
|
27a519d25e | ||
|
|
49502c59da | ||
|
|
2439e3b41c | ||
|
|
f9f8f5135f | ||
|
|
cb8699075f | ||
|
|
d3f9c950cd | ||
|
|
b6690a75fd | ||
|
|
b3cb108ca7 | ||
|
|
dada9ef7db | ||
|
|
82063391dd | ||
|
|
940c3903aa | ||
|
|
c534051774 |
@@ -20,7 +20,7 @@
|
|||||||
"name": "crm-ops",
|
"name": "crm-ops",
|
||||||
"source": "./crm-ops",
|
"source": "./crm-ops",
|
||||||
"description": "CRM operations, sales management, leads, customers, estimates, invoices, tickets and expense tracking with Desk CRM. Backed by NotebookLM notebooks.",
|
"description": "CRM operations, sales management, leads, customers, estimates, invoices, tickets and expense tracking with Desk CRM. Backed by NotebookLM notebooks.",
|
||||||
"version": "1.0.0",
|
"version": "1.2.0",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Descomplicar - Crescimento Digital",
|
"name": "Descomplicar - Crescimento Digital",
|
||||||
"url": "https://descomplicar.pt"
|
"url": "https://descomplicar.pt"
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
"name": "gestao",
|
"name": "gestao",
|
||||||
"source": "./gestao",
|
"source": "./gestao",
|
||||||
"description": "Project management, time tracking, daily checkups, worklogs, reflections, knowledge management and archiving. Backed by NotebookLM notebooks.",
|
"description": "Project management, time tracking, daily checkups, worklogs, reflections, knowledge management and archiving. Backed by NotebookLM notebooks.",
|
||||||
"version": "1.0.0",
|
"version": "1.7.0",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Descomplicar - Crescimento Digital",
|
"name": "Descomplicar - Crescimento Digital",
|
||||||
"url": "https://descomplicar.pt"
|
"url": "https://descomplicar.pt"
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
"name": "infraestrutura",
|
"name": "infraestrutura",
|
||||||
"source": "./infraestrutura",
|
"source": "./infraestrutura",
|
||||||
"description": "Server management, Proxmox VE/PBS/Clustering, CWP administration, EasyPanel deployments, security audits, backups and MCP development. Backed by NotebookLM notebooks (Proxmox 150+ sources).",
|
"description": "Server management, Proxmox VE/PBS/Clustering, CWP administration, EasyPanel deployments, security audits, backups and MCP development. Backed by NotebookLM notebooks (Proxmox 150+ sources).",
|
||||||
"version": "1.1.0",
|
"version": "1.2.2",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Descomplicar - Crescimento Digital",
|
"name": "Descomplicar - Crescimento Digital",
|
||||||
"url": "https://descomplicar.pt"
|
"url": "https://descomplicar.pt"
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
"name": "marketing",
|
"name": "marketing",
|
||||||
"source": "./marketing",
|
"source": "./marketing",
|
||||||
"description": "Digital marketing strategy, SEO, content marketing, social media, ads, copywriting, video and YouTube. Backed by NotebookLM notebooks.",
|
"description": "Digital marketing strategy, SEO, content marketing, social media, ads, copywriting, video and YouTube. Backed by NotebookLM notebooks.",
|
||||||
"version": "1.0.0",
|
"version": "2.0.0",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Descomplicar - Crescimento Digital",
|
"name": "Descomplicar - Crescimento Digital",
|
||||||
"url": "https://descomplicar.pt"
|
"url": "https://descomplicar.pt"
|
||||||
@@ -110,7 +110,7 @@
|
|||||||
"name": "project-manager",
|
"name": "project-manager",
|
||||||
"source": "./project-manager",
|
"source": "./project-manager",
|
||||||
"description": "Spec-driven project management with flexible sprints, scope validation, and NotebookLM-powered discovery.",
|
"description": "Spec-driven project management with flexible sprints, scope validation, and NotebookLM-powered discovery.",
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Descomplicar - Crescimento Digital",
|
"name": "Descomplicar - Crescimento Digital",
|
||||||
"url": "https://descomplicar.pt"
|
"url": "https://descomplicar.pt"
|
||||||
@@ -120,7 +120,7 @@
|
|||||||
"name": "wordpress",
|
"name": "wordpress",
|
||||||
"source": "./wordpress",
|
"source": "./wordpress",
|
||||||
"description": "WordPress development, maintenance and optimization - plugins, themes, WooCommerce, Elementor, Crocoblock. Backed by NotebookLM notebooks.",
|
"description": "WordPress development, maintenance and optimization - plugins, themes, WooCommerce, Elementor, Crocoblock. Backed by NotebookLM notebooks.",
|
||||||
"version": "1.0.0",
|
"version": "1.1.0",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Descomplicar - Crescimento Digital",
|
"name": "Descomplicar - Crescimento Digital",
|
||||||
"url": "https://descomplicar.pt"
|
"url": "https://descomplicar.pt"
|
||||||
|
|||||||
@@ -1 +1,7 @@
|
|||||||
design-media/skills/*/references/__pycache__/
|
design-media/skills/*/references/__pycache__/
|
||||||
|
|
||||||
|
# Estado de runtime IJFW (sessoes, metricas, cursores) — local, nunca versionado
|
||||||
|
.ijfw/
|
||||||
|
|
||||||
|
# Output do graphify (hook local de rebuild)
|
||||||
|
graphify-out/
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# AGENTS.md — claude-plugins
|
||||||
|
|
||||||
|
Directrizes específicas deste projecto para agentes IA.
|
||||||
|
|
||||||
|
## Referências obrigatórias
|
||||||
|
|
||||||
|
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
|
||||||
|
- `PROC-DEV-STANDARD` — D7-SIS-006
|
||||||
|
- `PROC-AUDIT-STANDARD` — D7-SIS-007
|
||||||
|
|
||||||
|
## Protocolo de sessão
|
||||||
|
|
||||||
|
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
|
||||||
|
|
||||||
|
## Convenções específicas
|
||||||
|
|
||||||
|
- (a definir)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# CHANGELOG — claude-plugins
|
||||||
|
|
||||||
|
## 0.1.0 — 2026-06-30
|
||||||
|
### Adicionado
|
||||||
|
- Estrutura padrão (PROC-DEV-STANDARD)
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# MEMORY.md — claude-plugins
|
||||||
|
|
||||||
|
## 2026-06-30
|
||||||
|
- Estrutura padrão aplicada via propagate-structure.sh
|
||||||
@@ -1,3 +1,38 @@
|
|||||||
|
---
|
||||||
|
type: Reference
|
||||||
|
title: Readme
|
||||||
|
description: >-
|
||||||
|
Marketplace de plugins Claude Code da Descomplicar
|
||||||
|
timestamp: 2026-02-05T23:36:56.167944+00:00
|
||||||
|
layer: wiki
|
||||||
|
---
|
||||||
# claude-plugins
|
# claude-plugins
|
||||||
|
|
||||||
Marketplace de plugins Claude Code da Descomplicar
|
Marketplace de plugins Claude Code da Descomplicar
|
||||||
|
|
||||||
|
## Versões — bumpar sempre nos DOIS sítios
|
||||||
|
|
||||||
|
A versão de cada plugin vive em dois ficheiros e **não há automação a sincronizá-los**:
|
||||||
|
|
||||||
|
| Ficheiro | Papel | Quem o lê |
|
||||||
|
|---|---|---|
|
||||||
|
| `<plugin>/.claude-plugin/plugin.json` | **fonte de verdade** | `/plugin update` — é esta que decide se há versão nova |
|
||||||
|
| `.claude-plugin/marketplace.json` | agregado derivado | `/plugin marketplace update` — catálogo |
|
||||||
|
|
||||||
|
Bumpar só o agregado **não tem efeito nenhum**: o catálogo mostra a versão nova, o
|
||||||
|
`/plugin update` responde `already at the latest version` e o cache continua na antiga.
|
||||||
|
Aconteceu a 30-07-2026 com marketing/gestao/project-manager/wordpress.
|
||||||
|
|
||||||
|
Verificar coerência antes de commitar:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
for p in */; do p=${p%/}; f="$p/.claude-plugin/plugin.json"; [ -f "$f" ] || continue
|
||||||
|
a=$(jq -r .version "$f")
|
||||||
|
b=$(jq -r ".plugins[]|select(.name==\"$p\").version" .claude-plugin/marketplace.json)
|
||||||
|
[ "$a" = "$b" ] || echo "DIVERGE $p: plugin.json=$a marketplace.json=$b"
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
Depois de publicar: `/plugin marketplace update descomplicar-plugins` (catálogo) **e**
|
||||||
|
`/plugin update <nome>@descomplicar-plugins` (reinstala no cache). O primeiro sozinho
|
||||||
|
não actualiza o que corre.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# STATUS.md — claude-plugins
|
||||||
|
|
||||||
|
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
|
||||||
|
|
||||||
|
## Estado actual
|
||||||
|
- Em curso: —
|
||||||
|
- Bloqueios: —
|
||||||
|
- Próximos passos: —
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
type: Validation
|
||||||
|
version: 2.5
|
||||||
|
padrao-versao: 2.5
|
||||||
|
timestamp: 2026-08-19 09:16:34 UTC
|
||||||
|
mode: project
|
||||||
|
status: ❌ FAILED
|
||||||
|
---
|
||||||
|
|
||||||
|
# VALIDAÇÃO — 2026-08-19
|
||||||
|
|
||||||
|
## Resumo
|
||||||
|
|
||||||
|
| Métrica | Valor |
|
||||||
|
|---------|-------|
|
||||||
|
| Modo | project |
|
||||||
|
| Total projecto | 23 |
|
||||||
|
| Ficheiros OKF | 0 |
|
||||||
|
| Entidades OKF | 0 |
|
||||||
|
| Relacionamentos OKF | 0 |
|
||||||
|
| Erros | 23 |
|
||||||
|
| Avisos | 6 |
|
||||||
|
| Veredicto | ❌ FAILED |
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# AGENTS.md — skills
|
||||||
|
|
||||||
|
Directrizes específicas deste projecto para agentes IA.
|
||||||
|
|
||||||
|
## Referências obrigatórias
|
||||||
|
|
||||||
|
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
|
||||||
|
- `PROC-DEV-STANDARD` — D7-SIS-006
|
||||||
|
- `PROC-AUDIT-STANDARD` — D7-SIS-007
|
||||||
|
|
||||||
|
## Protocolo de sessão
|
||||||
|
|
||||||
|
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
|
||||||
|
|
||||||
|
## Convenções específicas
|
||||||
|
|
||||||
|
- (a definir)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# CHANGELOG — skills
|
||||||
|
|
||||||
|
## 0.1.0 — 2026-06-30
|
||||||
|
### Adicionado
|
||||||
|
- Estrutura padrão (PROC-DEV-STANDARD)
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# MEMORY.md — skills
|
||||||
|
|
||||||
|
## 2026-06-30
|
||||||
|
- Estrutura padrão aplicada via propagate-structure.sh
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# skills
|
||||||
|
|
||||||
|
Subprojecto skills do ecossistema Descomplicar.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# STATUS.md — skills
|
||||||
|
|
||||||
|
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
|
||||||
|
|
||||||
|
## Estado actual
|
||||||
|
- Em curso: —
|
||||||
|
- Bloqueios: —
|
||||||
|
- Próximos passos: —
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"task_id": null,
|
||||||
|
"project_id": null,
|
||||||
|
"customer_id": null,
|
||||||
|
"gitea_repo": null
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
name: devops
|
name: devops
|
||||||
description: CI/CD pipelines para o AcidaOS via Gitea Actions — build, test, deploy para acidaos-core (Rust) e acidaos-dashboard (Next.js). Usar quando "pipeline acidaos", "gitea actions acidaos", "ci cd acidaos", "deploy acidaos", "workflow acidaos".
|
description: CI/CD pipelines para o AcidaOS via Gitea Actions — build, test, deploy para acidaos-core (Rust) e acidaos-dashboard (Next.js). Usar quando "pipeline acidaos", "gitea actions acidaos", "ci cd acidaos", "deploy acidaos", "workflow acidaos".
|
||||||
allowed-tools: Read, Write, Edit, Bash, mcp__gitea__list_repo_action_workflows, mcp__gitea__get_repo_action_workflow, mcp__gitea__create_file, mcp__gitea__update_file, mcp__memory-supabase__search_memories
|
allowed-tools: Read, Write, Edit, Bash, mcp__gitea__list_repo_action_workflows, mcp__gitea__get_repo_action_workflow, mcp__gitea__create_file, mcp__gitea__update_file, mcp__mem0__search_memories
|
||||||
---
|
---
|
||||||
|
|
||||||
# AcidaOS DevOps — Gitea Actions
|
# AcidaOS DevOps — Gitea Actions
|
||||||
@@ -30,7 +30,7 @@ Deploy target:
|
|||||||
## Protocolo Inicial
|
## Protocolo Inicial
|
||||||
|
|
||||||
```
|
```
|
||||||
mcp__memory-supabase__search_memories "acidaos devops pipeline"
|
mcp__mem0__search_memories "acidaos devops pipeline"
|
||||||
mcp__gitea__list_repo_action_workflows <repo> # ver workflows existentes
|
mcp__gitea__list_repo_action_workflows <repo> # ver workflows existentes
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
name: docs
|
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.
|
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
|
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__mem0__search_memories
|
||||||
---
|
---
|
||||||
|
|
||||||
# AcidaOS Docs
|
# AcidaOS Docs
|
||||||
@@ -21,7 +21,7 @@ Skill para gerar e publicar documentação técnica do AcidaOS.
|
|||||||
## Protocolo
|
## Protocolo
|
||||||
|
|
||||||
```
|
```
|
||||||
mcp__memory-supabase__search_memories "acidaos documentação"
|
mcp__mem0__search_memories "acidaos documentação"
|
||||||
mcp__outline-api__search_documents "acidaos" # ver docs existentes
|
mcp__outline-api__search_documents "acidaos" # ver docs existentes
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -36,9 +36,9 @@ mcp__outline-api__search_documents "acidaos" # ver docs existentes
|
|||||||
mcp__gitea__get_dir_content acidaos-core/src/
|
mcp__gitea__get_dir_content acidaos-core/src/
|
||||||
```
|
```
|
||||||
|
|
||||||
**Gerar localmente (no container dev):**
|
**Gerar localmente (desktop):**
|
||||||
```bash
|
```bash
|
||||||
cd /root/Dev/acidaos-core
|
cd /media/ealmeida/Dados/Dev/acidaos-core
|
||||||
cargo doc --all-features --no-deps --open
|
cargo doc --all-features --no-deps --open
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -81,9 +81,9 @@ pub struct ComponenteX { ... }
|
|||||||
mcp__gitea__get_file_content acidaos-dashboard/typedoc.json
|
mcp__gitea__get_file_content acidaos-dashboard/typedoc.json
|
||||||
```
|
```
|
||||||
|
|
||||||
**Gerar (no container dev):**
|
**Gerar (localmente no desktop):**
|
||||||
```bash
|
```bash
|
||||||
cd /root/Dev/acidaos-dashboard
|
cd /media/ealmeida/Dados/Dev/acidaos-dashboard
|
||||||
pnpm typedoc --out docs/api src/
|
pnpm typedoc --out docs/api src/
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# skills
|
||||||
|
|
||||||
|
## Documentação
|
||||||
|
|
||||||
|
- [README](README.md)
|
||||||
|
- [AGENTS](AGENTS.md)
|
||||||
|
- [STATUS](STATUS.md)
|
||||||
|
- [MEMORY](MEMORY.md)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
## 2026-06-30 init | Estrutura padrão
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
name: rust-dev
|
name: rust-dev
|
||||||
description: Desenvolvimento do AcidaOS Core em Rust — criar crates, definir endpoints Axum, debugar erros do compilador. Usar quando "rust", "axum", "cargo", "crate", "core", "acidaos core", "rust error", "borrow checker", desenvolvimento do motor central do AcidaOS.
|
description: Desenvolvimento do AcidaOS Core em Rust — criar crates, definir endpoints Axum, debugar erros do compilador. Usar quando "rust", "axum", "cargo", "crate", "core", "acidaos core", "rust error", "borrow checker", desenvolvimento do motor central do AcidaOS.
|
||||||
allowed-tools: Read, Write, Edit, Bash, mcp__memory-supabase__search_memories, mcp__gitea__get_file_content, mcp__gitea__create_file, mcp__gitea__update_file
|
allowed-tools: Read, Write, Edit, Bash, mcp__mem0__search_memories, mcp__gitea__get_file_content, mcp__gitea__create_file, mcp__gitea__update_file
|
||||||
---
|
---
|
||||||
|
|
||||||
# AcidaOS Rust Dev
|
# AcidaOS Rust Dev
|
||||||
@@ -29,7 +29,7 @@ acidaos-core (Rust)
|
|||||||
## Protocolo Inicial
|
## Protocolo Inicial
|
||||||
|
|
||||||
```
|
```
|
||||||
mcp__memory-supabase__search_memories "acidaos core [componente]"
|
mcp__mem0__search_memories "acidaos core [componente]"
|
||||||
mcp__gitea__get_file_content acidaos-core/Cargo.toml # verificar dependências actuais
|
mcp__gitea__get_file_content acidaos-core/Cargo.toml # verificar dependências actuais
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
name: spoke-dev
|
name: spoke-dev
|
||||||
description: Desenvolvimento de Spokes do AcidaOS em Next.js/TypeScript — criar aplicações Spoke, componentes React com testes e Storybook. Usar quando "spoke", "dashboard acidaos", "next.js acidaos", "componente react acidaos", "ts-create-spoke", "acidaos ui", "acidaos frontend".
|
description: Desenvolvimento de Spokes do AcidaOS em Next.js/TypeScript — criar aplicações Spoke, componentes React com testes e Storybook. Usar quando "spoke", "dashboard acidaos", "next.js acidaos", "componente react acidaos", "ts-create-spoke", "acidaos ui", "acidaos frontend".
|
||||||
allowed-tools: Read, Write, Edit, Bash, mcp__memory-supabase__search_memories, mcp__gitea__get_file_content, mcp__gitea__create_file, mcp__gitea__update_file
|
allowed-tools: Read, Write, Edit, Bash, mcp__mem0__search_memories, mcp__gitea__get_file_content, mcp__gitea__create_file, mcp__gitea__update_file
|
||||||
---
|
---
|
||||||
|
|
||||||
# AcidaOS Spoke Dev
|
# AcidaOS Spoke Dev
|
||||||
@@ -32,7 +32,7 @@ acidaos-dashboard (Next.js 15 + App Router)
|
|||||||
## Protocolo Inicial
|
## Protocolo Inicial
|
||||||
|
|
||||||
```
|
```
|
||||||
mcp__memory-supabase__search_memories "acidaos spoke dashboard [componente]"
|
mcp__mem0__search_memories "acidaos spoke dashboard [componente]"
|
||||||
mcp__gitea__get_file_content acidaos-dashboard/package.json
|
mcp__gitea__get_file_content acidaos-dashboard/package.json
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -46,8 +46,8 @@ mcp__gitea__get_file_content acidaos-dashboard/package.json
|
|||||||
|
|
||||||
**Estrutura a criar:**
|
**Estrutura a criar:**
|
||||||
```bash
|
```bash
|
||||||
# No container dev (Regra #48)
|
# Localmente no desktop (Regra #48 — CT 102 extinto)
|
||||||
cd /root/Dev
|
cd /media/ealmeida/Dados/Dev
|
||||||
npx create-next-app@latest acidaos-<nome> \
|
npx create-next-app@latest acidaos-<nome> \
|
||||||
--typescript \
|
--typescript \
|
||||||
--tailwind \
|
--tailwind \
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# AGENTS.md — automacao
|
||||||
|
|
||||||
|
Directrizes específicas deste projecto para agentes IA.
|
||||||
|
|
||||||
|
## Referências obrigatórias
|
||||||
|
|
||||||
|
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
|
||||||
|
- `PROC-DEV-STANDARD` — D7-SIS-006
|
||||||
|
- `PROC-AUDIT-STANDARD` — D7-SIS-007
|
||||||
|
|
||||||
|
## Protocolo de sessão
|
||||||
|
|
||||||
|
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
|
||||||
|
|
||||||
|
## Convenções específicas
|
||||||
|
|
||||||
|
- (a definir)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# CHANGELOG — automacao
|
||||||
|
|
||||||
|
## 0.1.0 — 2026-06-30
|
||||||
|
### Adicionado
|
||||||
|
- Estrutura padrão (PROC-DEV-STANDARD)
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# MEMORY.md — automacao
|
||||||
|
|
||||||
|
## 2026-06-30
|
||||||
|
- Estrutura padrão aplicada via propagate-structure.sh
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# automacao
|
||||||
|
|
||||||
|
Subprojecto automacao do ecossistema Descomplicar.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# STATUS.md — automacao
|
||||||
|
|
||||||
|
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
|
||||||
|
|
||||||
|
## Estado actual
|
||||||
|
- Em curso: —
|
||||||
|
- Bloqueios: —
|
||||||
|
- Próximos passos: —
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# AGENTS.md — agents
|
||||||
|
|
||||||
|
Directrizes específicas deste projecto para agentes IA.
|
||||||
|
|
||||||
|
## Referências obrigatórias
|
||||||
|
|
||||||
|
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
|
||||||
|
- `PROC-DEV-STANDARD` — D7-SIS-006
|
||||||
|
- `PROC-AUDIT-STANDARD` — D7-SIS-007
|
||||||
|
|
||||||
|
## Protocolo de sessão
|
||||||
|
|
||||||
|
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
|
||||||
|
|
||||||
|
## Convenções específicas
|
||||||
|
|
||||||
|
- (a definir)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# CHANGELOG — agents
|
||||||
|
|
||||||
|
## 0.1.0 — 2026-06-30
|
||||||
|
### Adicionado
|
||||||
|
- Estrutura padrão (PROC-DEV-STANDARD)
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# MEMORY.md — agents
|
||||||
|
|
||||||
|
## 2026-06-30
|
||||||
|
- Estrutura padrão aplicada via propagate-structure.sh
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# agents
|
||||||
|
|
||||||
|
Subprojecto agents do ecossistema Descomplicar.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# STATUS.md — agents
|
||||||
|
|
||||||
|
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
|
||||||
|
|
||||||
|
## Estado actual
|
||||||
|
- Em curso: —
|
||||||
|
- Bloqueios: —
|
||||||
|
- Próximos passos: —
|
||||||
@@ -7,13 +7,15 @@ model: sonnet
|
|||||||
tools: Read, Write, Edit, Bash, Glob, Grep, ToolSearch
|
tools: Read, Write, Edit, Bash, Glob, Grep, ToolSearch
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
|
# Nota: MCPs como desk-crm-v3, moloni, easypanel, lighthouse, authentik, spaceship e youtube
|
||||||
|
# estão desligados por omissão — pedir activação via /mcp (regra 57) antes de os usar.
|
||||||
primary_mcps:
|
primary_mcps:
|
||||||
- desk-crm-v3
|
- desk-crm-v3
|
||||||
- n8n
|
- n8n
|
||||||
- ssh-unified
|
- ssh-unified
|
||||||
recommended_mcps:
|
recommended_mcps:
|
||||||
- gitea
|
- gitea
|
||||||
- memory-supabase
|
- mem0
|
||||||
- filesystem
|
- filesystem
|
||||||
skills:
|
skills:
|
||||||
- _core
|
- _core
|
||||||
@@ -64,7 +66,7 @@ Você é o líder de automação responsável por:
|
|||||||
### Regras OBRIGATÓRIAS (checklist antes de agir)
|
### Regras OBRIGATÓRIAS (checklist antes de agir)
|
||||||
|
|
||||||
- [ ] **Avaliar ROI**: Automação DEVE poupar mais tempo do que demora a implementar
|
- [ ] **Avaliar ROI**: Automação DEVE poupar mais tempo do que demora a implementar
|
||||||
- [ ] **Dados Reais**: Consultar memory-supabase para histórico de automações
|
- [ ] **Dados Reais**: Consultar mem0 para histórico de automações
|
||||||
- [ ] **Arquitectura Primeiro**: Desenhar fluxo ANTES de implementar
|
- [ ] **Arquitectura Primeiro**: Desenhar fluxo ANTES de implementar
|
||||||
- [ ] **Error Handling**: Todo workflow DEVE ter tratamento de erros
|
- [ ] **Error Handling**: Todo workflow DEVE ter tratamento de erros
|
||||||
- [ ] **Monitorização**: Definir métricas de sucesso e alertas
|
- [ ] **Monitorização**: Definir métricas de sucesso e alertas
|
||||||
@@ -106,7 +108,7 @@ Trigger → [Passo 1] → [Passo 2] → Output
|
|||||||
|-----|-------------|
|
|-----|-------------|
|
||||||
| `desk-crm-v3` | Criar tarefas, projectos, automação CRM |
|
| `desk-crm-v3` | Criar tarefas, projectos, automação CRM |
|
||||||
| `google-workspace` | Email, calendário, docs automation |
|
| `google-workspace` | Email, calendário, docs automation |
|
||||||
| `memory-supabase` | Consultar histórico automações |
|
| `mem0` | Consultar histórico automações |
|
||||||
| `gitea` | Versionar workflows N8N |
|
| `gitea` | Versionar workflows N8N |
|
||||||
|
|
||||||
## Responsabilidades
|
## Responsabilidades
|
||||||
@@ -167,12 +169,12 @@ mcp__notebooklm__notebook_query notebook_id:"929ef67b-c131-4f01-abd0-8b078491a6b
|
|||||||
- **ssh-unified** - SSH, SFTP, servidor management
|
- **ssh-unified** - SSH, SFTP, servidor management
|
||||||
- **gitea** - Repositórios Git, issues, PRs
|
- **gitea** - Repositórios Git, issues, PRs
|
||||||
- **puppeteer** - Browser automation
|
- **puppeteer** - Browser automation
|
||||||
- **memory-supabase** - Memória longo prazo
|
- **mem0** - Mem0 (Tier 2, `mcp__mem0__*`) + IJFW (Tier 1, automático via hooks)
|
||||||
- **** - Knowledge base AI
|
- **** - Knowledge base AI
|
||||||
- **filesystem** - Ficheiros locais
|
- **filesystem** - Ficheiros locais
|
||||||
|
|
||||||
### All Available (32 total)
|
### All Available (32 total)
|
||||||
moloni, context7, cwp, google-analytics, google-workspace, imap, outline-api, youtube-research, youtube-uploader, wikijs, gsc, lighthouse, mcp-time, mcp-mermaid, mcp-echarts, powerpoint, penpot, pixabay, pexels, tavily, elevenlabs, magic, vimeo, design-systems, replicate
|
moloni, context7, cwp, google-analytics, google-workspace, imap, outline-api, youtube-research, youtube-uploader, gsc, lighthouse, mcp-time, mcp-mermaid, mcp-echarts, powerpoint, penpot, pixabay, pexels, tavily, elevenlabs, magic, vimeo, design-systems, replicate
|
||||||
|
|
||||||
**Discovery:** Use ToolSearch to find specific tools.
|
**Discovery:** Use ToolSearch to find specific tools.
|
||||||
**Example:** `ToolSearch("ssh upload")` finds SSH upload tools.
|
**Example:** `ToolSearch("ssh upload")` finds SSH upload tools.
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"task_id": null,
|
||||||
|
"project_id": null,
|
||||||
|
"customer_id": null,
|
||||||
|
"gitea_repo": null
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# agents
|
||||||
|
|
||||||
|
## Documentação
|
||||||
|
|
||||||
|
- [README](README.md)
|
||||||
|
- [AGENTS](AGENTS.md)
|
||||||
|
- [STATUS](STATUS.md)
|
||||||
|
- [MEMORY](MEMORY.md)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
## 2026-06-30 init | Estrutura padrão
|
||||||
@@ -9,6 +9,8 @@ model: sonnet
|
|||||||
tools: Read, Write, Edit, Bash, Glob, Grep, ToolSearch
|
tools: Read, Write, Edit, Bash, Glob, Grep, ToolSearch
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
|
# Nota: MCPs como desk-crm-v3, moloni, easypanel, lighthouse, authentik, spaceship e youtube
|
||||||
|
# estão desligados por omissão — pedir activação via /mcp (regra 57) antes de os usar.
|
||||||
primary_mcps:
|
primary_mcps:
|
||||||
- desk-crm-v3
|
- desk-crm-v3
|
||||||
- gitea
|
- gitea
|
||||||
@@ -16,7 +18,7 @@ primary_mcps:
|
|||||||
recommended_mcps:
|
recommended_mcps:
|
||||||
- context7
|
- context7
|
||||||
- filesystem
|
- filesystem
|
||||||
- memory-supabase
|
- mem0
|
||||||
skills:
|
skills:
|
||||||
- _core
|
- _core
|
||||||
desk_task: 1508
|
desk_task: 1508
|
||||||
@@ -141,12 +143,12 @@ Especialista em desenvolvimento, optimizacao e manutencao de servidores MCP e fe
|
|||||||
- **n8n** - Workflows automation
|
- **n8n** - Workflows automation
|
||||||
- **filesystem** - Ficheiros locais
|
- **filesystem** - Ficheiros locais
|
||||||
- **magic** - AI-powered UI component generation (tipo v0.dev)
|
- **magic** - AI-powered UI component generation (tipo v0.dev)
|
||||||
- **memory-supabase** - Memória longo prazo
|
- **mem0** - Mem0 (Tier 2, `mcp__mem0__*`) + IJFW (Tier 1, automático via hooks)
|
||||||
- **cwp** - CentOS Web Panel
|
- **cwp** - CentOS Web Panel
|
||||||
- **puppeteer** - Browser automation
|
- **puppeteer** - Browser automation
|
||||||
|
|
||||||
### All Available (32 total)
|
### All Available (32 total)
|
||||||
moloni, google-analytics, google-workspace, imap, outline-api, youtube-research, youtube-uploader, wikijs, gsc, lighthouse, mcp-time, mcp-mermaid, mcp-echarts, powerpoint, penpot, pixabay, pexels, tavily, elevenlabs, vimeo, design-systems, replicate
|
moloni, google-analytics, google-workspace, imap, outline-api, youtube-research, youtube-uploader, gsc, lighthouse, mcp-time, mcp-mermaid, mcp-echarts, powerpoint, penpot, pixabay, pexels, tavily, elevenlabs, vimeo, design-systems, replicate
|
||||||
|
|
||||||
**Discovery:** Use ToolSearch to find specific tools.
|
**Discovery:** Use ToolSearch to find specific tools.
|
||||||
**Example:** `ToolSearch("ssh upload")` finds SSH upload tools.
|
**Example:** `ToolSearch("ssh upload")` finds SSH upload tools.
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ model: sonnet
|
|||||||
tools: Read, Write, Edit, Bash, Glob, Grep, ToolSearch
|
tools: Read, Write, Edit, Bash, Glob, Grep, ToolSearch
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
|
# Nota: MCPs como desk-crm-v3, moloni, easypanel, lighthouse, authentik, spaceship e youtube
|
||||||
|
# estão desligados por omissão — pedir activação via /mcp (regra 57) antes de os usar.
|
||||||
primary_mcps:
|
primary_mcps:
|
||||||
- n8n
|
- n8n
|
||||||
- desk-crm-v3
|
- desk-crm-v3
|
||||||
@@ -109,7 +111,7 @@ Especialista em design, desenvolvimento e optimizacao de workflows automatizados
|
|||||||
## MCPs Relevantes
|
## MCPs Relevantes
|
||||||
- `desk-crm-v3`: Dados para automações (leads, tarefas)
|
- `desk-crm-v3`: Dados para automações (leads, tarefas)
|
||||||
- `notebooklm`: KB primaria (Gemini 2.5 RAG)
|
- `notebooklm`: KB primaria (Gemini 2.5 RAG)
|
||||||
- `memory-supabase`: Histórico de workflows criados
|
- `mem0`: Histórico de workflows criados
|
||||||
|
|
||||||
## Colaboracao
|
## Colaboracao
|
||||||
- Reports to: Automation Lead
|
- Reports to: Automation Lead
|
||||||
@@ -131,9 +133,9 @@ Especialista em design, desenvolvimento e optimizacao de workflows automatizados
|
|||||||
- Knowledge base AI
|
- Knowledge base AI
|
||||||
- Usage: `mcp____*`
|
- Usage: `mcp____*`
|
||||||
|
|
||||||
✓ **memory-supabase** (system)
|
✓ **mem0** (system)
|
||||||
- Memória longo prazo
|
- Memória longo prazo
|
||||||
- Usage: `mcp__memory-supabase__*`
|
- Usage: `mcp__mem0__*`
|
||||||
|
|
||||||
### Recommended for automation
|
### Recommended for automation
|
||||||
- **ssh-unified** - SSH, SFTP, servidor management
|
- **ssh-unified** - SSH, SFTP, servidor management
|
||||||
@@ -142,7 +144,7 @@ Especialista em design, desenvolvimento e optimizacao de workflows automatizados
|
|||||||
- **filesystem** - Ficheiros locais
|
- **filesystem** - Ficheiros locais
|
||||||
|
|
||||||
### All Available (32 total)
|
### All Available (32 total)
|
||||||
moloni, context7, cwp, google-analytics, google-workspace, imap, outline-api, youtube-research, youtube-uploader, wikijs, gsc, lighthouse, mcp-time, mcp-mermaid, mcp-echarts, powerpoint, penpot, pixabay, pexels, tavily, elevenlabs, magic, vimeo, design-systems, replicate
|
moloni, context7, cwp, google-analytics, google-workspace, imap, outline-api, youtube-research, youtube-uploader, gsc, lighthouse, mcp-time, mcp-mermaid, mcp-echarts, powerpoint, penpot, pixabay, pexels, tavily, elevenlabs, magic, vimeo, design-systems, replicate
|
||||||
|
|
||||||
**Discovery:** Use ToolSearch to find specific tools.
|
**Discovery:** Use ToolSearch to find specific tools.
|
||||||
**Example:** `ToolSearch("ssh upload")` finds SSH upload tools.
|
**Example:** `ToolSearch("ssh upload")` finds SSH upload tools.
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"task_id": null,
|
||||||
|
"project_id": null,
|
||||||
|
"customer_id": null,
|
||||||
|
"gitea_repo": null
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# automacao
|
||||||
|
|
||||||
|
## Documentação
|
||||||
|
|
||||||
|
- [README](README.md)
|
||||||
|
- [AGENTS](AGENTS.md)
|
||||||
|
- [STATUS](STATUS.md)
|
||||||
|
- [MEMORY](MEMORY.md)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
## 2026-06-30 init | Estrutura padrão
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# AGENTS.md — skills
|
||||||
|
|
||||||
|
Directrizes específicas deste projecto para agentes IA.
|
||||||
|
|
||||||
|
## Referências obrigatórias
|
||||||
|
|
||||||
|
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
|
||||||
|
- `PROC-DEV-STANDARD` — D7-SIS-006
|
||||||
|
- `PROC-AUDIT-STANDARD` — D7-SIS-007
|
||||||
|
|
||||||
|
## Protocolo de sessão
|
||||||
|
|
||||||
|
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
|
||||||
|
|
||||||
|
## Convenções específicas
|
||||||
|
|
||||||
|
- (a definir)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# CHANGELOG — skills
|
||||||
|
|
||||||
|
## 0.1.0 — 2026-06-30
|
||||||
|
### Adicionado
|
||||||
|
- Estrutura padrão (PROC-DEV-STANDARD)
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# MEMORY.md — skills
|
||||||
|
|
||||||
|
## 2026-06-30
|
||||||
|
- Estrutura padrão aplicada via propagate-structure.sh
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# skills
|
||||||
|
|
||||||
|
Subprojecto skills do ecossistema Descomplicar.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# STATUS.md — skills
|
||||||
|
|
||||||
|
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
|
||||||
|
|
||||||
|
## Estado actual
|
||||||
|
- Em curso: —
|
||||||
|
- Bloqueios: —
|
||||||
|
- Próximos passos: —
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"task_id": null,
|
||||||
|
"project_id": null,
|
||||||
|
"customer_id": null,
|
||||||
|
"gitea_repo": null
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# skills
|
||||||
|
|
||||||
|
## Documentação
|
||||||
|
|
||||||
|
- [README](README.md)
|
||||||
|
- [AGENTS](AGENTS.md)
|
||||||
|
- [STATUS](STATUS.md)
|
||||||
|
- [MEMORY](MEMORY.md)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
## 2026-06-30 init | Estrutura padrão
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# AGENTS.md — skills
|
||||||
|
|
||||||
|
Directrizes específicas deste projecto para agentes IA.
|
||||||
|
|
||||||
|
## Referências obrigatórias
|
||||||
|
|
||||||
|
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
|
||||||
|
- `PROC-DEV-STANDARD` — D7-SIS-006
|
||||||
|
- `PROC-AUDIT-STANDARD` — D7-SIS-007
|
||||||
|
|
||||||
|
## Protocolo de sessão
|
||||||
|
|
||||||
|
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
|
||||||
|
|
||||||
|
## Convenções específicas
|
||||||
|
|
||||||
|
- (a definir)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# CHANGELOG — skills
|
||||||
|
|
||||||
|
## 0.1.0 — 2026-06-30
|
||||||
|
### Adicionado
|
||||||
|
- Estrutura padrão (PROC-DEV-STANDARD)
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# MEMORY.md — skills
|
||||||
|
|
||||||
|
## 2026-06-30
|
||||||
|
- Estrutura padrão aplicada via propagate-structure.sh
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# skills
|
||||||
|
|
||||||
|
Subprojecto skills do ecossistema Descomplicar.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# STATUS.md — skills
|
||||||
|
|
||||||
|
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
|
||||||
|
|
||||||
|
## Estado actual
|
||||||
|
- Em curso: —
|
||||||
|
- Bloqueios: —
|
||||||
|
- Próximos passos: —
|
||||||
@@ -62,7 +62,7 @@ Sempre pesquisar wiki CWP e skills `/cwp-*` antes de qualquer operação CWP. Ap
|
|||||||
**NUNCA simular quando dados reais existem.**
|
**NUNCA simular quando dados reais existem.**
|
||||||
|
|
||||||
Hierarquia:
|
Hierarquia:
|
||||||
1. MCPs especializados (desk-crm, dify-kb, wikijs)
|
1. MCPs especializados (desk-crm, dify-kb)
|
||||||
2. Sistemas internos (Gitea, Drive)
|
2. Sistemas internos (Gitea, Drive)
|
||||||
3. Documentação oficial (Context7)
|
3. Documentação oficial (Context7)
|
||||||
4. Simulação APENAS se dados não existem
|
4. Simulação APENAS se dados não existem
|
||||||
@@ -75,16 +75,17 @@ Hierarquia:
|
|||||||
|
|
||||||
```
|
```
|
||||||
SEMPRE EXECUTAR PRIMEIRO:
|
SEMPRE EXECUTAR PRIMEIRO:
|
||||||
1. mcp__memory-supabase__search_memories → Experiência histórica
|
1. IJFW (Tier 1) — automático via hooks (SessionStart/PostToolUse/Stop), nada a invocar
|
||||||
2. mcp__wikijs__search_pages → Documentação interna
|
2. mcp__mem0__search_memories → Mem0 (Tier 2): experiência histórica cross-agent
|
||||||
3. mcp__dify-kb__dify_kb_retrieve_segments → Knowledge base temática
|
3. /knowledge (router Hub QR/PROC) → Conhecimento curado do stack
|
||||||
|
4. mcp__dify-kb__dify_kb_retrieve_segments → Knowledge base temática
|
||||||
```
|
```
|
||||||
|
|
||||||
### PASSO 2: Hierarquia de Fontes
|
### PASSO 2: Hierarquia de Fontes
|
||||||
|
|
||||||
```
|
```
|
||||||
🥇 1ª: MCPs especializados (memory-supabase, dify-kb, desk-crm-v3)
|
🥇 1ª: Memória — IJFW Tier 1 (automático) + Mem0 Tier 2 (mcp__mem0__*)
|
||||||
🥈 2ª: MCPs de sistema (wikijs, filesystem, google-workspace)
|
🥈 2ª: MCPs especializados (dify-kb, desk-crm-v3) e de sistema (filesystem, google-workspace)
|
||||||
🥉 3ª: MCPs complementares (context7, puppeteer)
|
🥉 3ª: MCPs complementares (context7, puppeteer)
|
||||||
🔧 ÚLTIMO: Ferramentas nativas Claude
|
🔧 ÚLTIMO: Ferramentas nativas Claude
|
||||||
```
|
```
|
||||||
@@ -92,11 +93,16 @@ SEMPRE EXECUTAR PRIMEIRO:
|
|||||||
### PASSO 3: Captura de Aprendizagem
|
### PASSO 3: Captura de Aprendizagem
|
||||||
|
|
||||||
```
|
```
|
||||||
SEMPRE GUARDAR ao final:
|
Factos duráveis (Tier 2, protocolo Wayland v2):
|
||||||
mcp__memory-supabase__save_memory {
|
1. Dedup primeiro: mcp__mem0__search_memories
|
||||||
"content": "[Resumo do trabalho e decisões]",
|
2. Guardar: mcp__mem0__save_memory
|
||||||
"tags": ["[área]", "[projecto]", "[tipo]"]
|
- P5 = identidade ("Emanuel | atributo | valor")
|
||||||
}
|
- P4 = procedimento ("COMO fazer X em Y: método Z")
|
||||||
|
- P3 = facto atómico (S|P|O, máx 80 chars)
|
||||||
|
- tier=global (cross-projecto) ou tier=project
|
||||||
|
- Tags: mínimo 2, kebab-case
|
||||||
|
Estado de sessão: NÃO guardar em Mem0 — é papel do IJFW (Tier 1, automático).
|
||||||
|
MEMORY.md pessoal de agente: deprecated.
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"task_id": null,
|
||||||
|
"project_id": null,
|
||||||
|
"customer_id": null,
|
||||||
|
"gitea_repo": null
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# skills
|
||||||
|
|
||||||
|
## Documentação
|
||||||
|
|
||||||
|
- [README](README.md)
|
||||||
|
- [AGENTS](AGENTS.md)
|
||||||
|
- [STATUS](STATUS.md)
|
||||||
|
- [MEMORY](MEMORY.md)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
## 2026-06-30 init | Estrutura padrão
|
||||||
@@ -36,6 +36,43 @@ Complementa `/reflect` (qualitativo) com dados quantitativos, `/worklog` com met
|
|||||||
| `/metrics --roi` | ROI por cliente/projecto |
|
| `/metrics --roi` | ROI por cliente/projecto |
|
||||||
| `/metrics --export` | Exportar JSON/CSV |
|
| `/metrics --export` | Exportar JSON/CSV |
|
||||||
| `/metrics --alerts` | Listar alertas activos |
|
| `/metrics --alerts` | Listar alertas activos |
|
||||||
|
| `/metrics --tools` | **Telemetria local de tool calls (ver secção Local Tool Telemetry)** |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Local Tool Telemetry (G3.1-B)
|
||||||
|
|
||||||
|
Desde 08-04-2026 há captura universal de **todas** as tool calls do Claude Code via hook PostToolUse (`~/.claude/hooks/telemetry-posttool-hook.sh`). Complementa a telemetria Desk CRM com dados locais imediatos.
|
||||||
|
|
||||||
|
**Ficheiro:** `~/.claude-work/tool-invocations.jsonl` (1 linha por tool call: ts, session, tool_use_id, tool_name, success, error)
|
||||||
|
|
||||||
|
**Agregador:** `/media/ealmeida/Dados/Dev/ClaudeDev/tool-metrics.py`
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Overview últimas 24h
|
||||||
|
python3 /media/ealmeida/Dados/Dev/ClaudeDev/tool-metrics.py
|
||||||
|
|
||||||
|
# Só hoje
|
||||||
|
python3 /media/ealmeida/Dados/Dev/ClaudeDev/tool-metrics.py --today
|
||||||
|
|
||||||
|
# Últimos 7 dias
|
||||||
|
python3 /media/ealmeida/Dados/Dev/ClaudeDev/tool-metrics.py --last 7d
|
||||||
|
|
||||||
|
# Filtrar por sessão
|
||||||
|
python3 /media/ealmeida/Dados/Dev/ClaudeDev/tool-metrics.py --session <session_id>
|
||||||
|
|
||||||
|
# Output JSON (para pipeline/grafos)
|
||||||
|
python3 /media/ealmeida/Dados/Dev/ClaudeDev/tool-metrics.py --json
|
||||||
|
```
|
||||||
|
|
||||||
|
**Output:** total de invocations, sessões únicas, top 20 tools (contagem + %), falhas por tool com amostras de erro, top 5 sessões por volume.
|
||||||
|
|
||||||
|
**Limitações conhecidas:**
|
||||||
|
- Duration não é capturada (harness não entrega duration no hook payload). Apenas contagem e success/failure.
|
||||||
|
- Tokens não capturáveis via hooks (não estão no payload).
|
||||||
|
- Só captura tool calls que chegam ao PostToolUse — tool calls bloqueados por hooks PreToolUse não aparecem.
|
||||||
|
|
||||||
|
Ver `04-Stack/CHANGELOG.md` bloco 08-04-2026 sessão 2 para contexto do gap e decisão de scope.
|
||||||
|
|
||||||
### Agregacoes Disponiveis
|
### Agregacoes Disponiveis
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
"description": "Servidores, CWP, EasyPanel, Proxmox, SSL, DNS, Docker, backups servidor",
|
"description": "Servidores, CWP, EasyPanel, Proxmox, SSL, DNS, Docker, backups servidor",
|
||||||
"activate_when": {
|
"activate_when": {
|
||||||
"files": ["docker-compose.yml", "Dockerfile", ".env.production"],
|
"files": ["docker-compose.yml", "Dockerfile", ".env.production"],
|
||||||
"directories": ["/root/Dev"],
|
"directories": ["/media/ealmeida/Dados/Dev"],
|
||||||
"keywords": ["servidor", "server", "cwp", "easypanel", "proxmox", "ssl certificado", "dns", "docker", "deploy", "backup servidor", "nginx", "apache", "firewall", "ssh servidor", "email servidor", "postfix", "pbs", "migration vm"]
|
"keywords": ["servidor", "server", "cwp", "easypanel", "proxmox", "ssl certificado", "dns", "docker", "deploy", "backup servidor", "nginx", "apache", "firewall", "ssh servidor", "email servidor", "postfix", "pbs", "migration vm"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# AGENTS.md — crm-ops
|
||||||
|
|
||||||
|
Directrizes específicas deste projecto para agentes IA.
|
||||||
|
|
||||||
|
## Referências obrigatórias
|
||||||
|
|
||||||
|
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
|
||||||
|
- `PROC-DEV-STANDARD` — D7-SIS-006
|
||||||
|
- `PROC-AUDIT-STANDARD` — D7-SIS-007
|
||||||
|
|
||||||
|
## Protocolo de sessão
|
||||||
|
|
||||||
|
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
|
||||||
|
|
||||||
|
## Convenções específicas
|
||||||
|
|
||||||
|
- (a definir)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# CHANGELOG — crm-ops
|
||||||
|
|
||||||
|
## 0.1.0 — 2026-06-30
|
||||||
|
### Adicionado
|
||||||
|
- Estrutura padrão (PROC-DEV-STANDARD)
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# MEMORY.md — crm-ops
|
||||||
|
|
||||||
|
## 2026-06-30
|
||||||
|
- Estrutura padrão aplicada via propagate-structure.sh
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# crm-ops
|
||||||
|
|
||||||
|
Subprojecto crm-ops do ecossistema Descomplicar.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# STATUS.md — crm-ops
|
||||||
|
|
||||||
|
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
|
||||||
|
|
||||||
|
## Estado actual
|
||||||
|
- Em curso: —
|
||||||
|
- Bloqueios: —
|
||||||
|
- Próximos passos: —
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# AGENTS.md — agents
|
||||||
|
|
||||||
|
Directrizes específicas deste projecto para agentes IA.
|
||||||
|
|
||||||
|
## Referências obrigatórias
|
||||||
|
|
||||||
|
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
|
||||||
|
- `PROC-DEV-STANDARD` — D7-SIS-006
|
||||||
|
- `PROC-AUDIT-STANDARD` — D7-SIS-007
|
||||||
|
|
||||||
|
## Protocolo de sessão
|
||||||
|
|
||||||
|
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
|
||||||
|
|
||||||
|
## Convenções específicas
|
||||||
|
|
||||||
|
- (a definir)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# CHANGELOG — agents
|
||||||
|
|
||||||
|
## 0.1.0 — 2026-06-30
|
||||||
|
### Adicionado
|
||||||
|
- Estrutura padrão (PROC-DEV-STANDARD)
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# MEMORY.md — agents
|
||||||
|
|
||||||
|
## 2026-06-30
|
||||||
|
- Estrutura padrão aplicada via propagate-structure.sh
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# agents
|
||||||
|
|
||||||
|
Subprojecto agents do ecossistema Descomplicar.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# STATUS.md — agents
|
||||||
|
|
||||||
|
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
|
||||||
|
|
||||||
|
## Estado actual
|
||||||
|
- Em curso: —
|
||||||
|
- Bloqueios: —
|
||||||
|
- Próximos passos: —
|
||||||
@@ -7,12 +7,14 @@ model: sonnet
|
|||||||
tools: Read, Write, Edit, Glob, ToolSearch
|
tools: Read, Write, Edit, Glob, ToolSearch
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
|
# Nota: MCPs como desk-crm-v3, moloni, easypanel, lighthouse, authentik, spaceship e youtube
|
||||||
|
# estão desligados por omissão — pedir activação via /mcp (regra 57) antes de os usar.
|
||||||
primary_mcps:
|
primary_mcps:
|
||||||
- desk-crm-v3
|
- desk-crm-v3
|
||||||
- google-workspace
|
- google-workspace
|
||||||
recommended_mcps:
|
recommended_mcps:
|
||||||
- moloni
|
- moloni
|
||||||
- memory-supabase
|
- mem0
|
||||||
skills:
|
skills:
|
||||||
- _core
|
- _core
|
||||||
- orcamento
|
- orcamento
|
||||||
@@ -114,7 +116,7 @@ Você é um especialista comercial responsável por:
|
|||||||
|-----|-------------|
|
|-----|-------------|
|
||||||
| `desk-crm-v3` | Verificar cliente, criar estimate |
|
| `desk-crm-v3` | Verificar cliente, criar estimate |
|
||||||
| `google-workspace` | Criar orçamento em Google Docs |
|
| `google-workspace` | Criar orçamento em Google Docs |
|
||||||
| `memory-supabase` | Consultar orçamentos similares |
|
| `mem0` | Consultar orçamentos similares |
|
||||||
| `` | Best practices pricing |
|
| `` | Best practices pricing |
|
||||||
|
|
||||||
## Responsabilidades
|
## Responsabilidades
|
||||||
@@ -186,12 +188,12 @@ mcp__notebooklm__notebook_query notebook_id:"5be0d1a6-00f2-4cd9-b835-978cb772160
|
|||||||
- **moloni** - Facturação
|
- **moloni** - Facturação
|
||||||
- **google-workspace** - Email, calendário, docs, drive
|
- **google-workspace** - Email, calendário, docs, drive
|
||||||
- **imap** - Email IMAP
|
- **imap** - Email IMAP
|
||||||
- **memory-supabase** - Memória longo prazo
|
- **mem0** - Mem0 (Tier 2, `mcp__mem0__*`) + IJFW (Tier 1, automático via hooks)
|
||||||
- **** - Knowledge base AI
|
- **** - Knowledge base AI
|
||||||
- **outline-api** - Outline documentation
|
- **outline-api** - Outline documentation
|
||||||
|
|
||||||
### All Available (32 total)
|
### All Available (32 total)
|
||||||
context7, gitea, n8n, cwp, filesystem, ssh-unified, google-analytics, youtube-research, youtube-uploader, wikijs, gsc, lighthouse, mcp-time, puppeteer, mcp-mermaid, mcp-echarts, powerpoint, penpot, pixabay, pexels, tavily, elevenlabs, magic, vimeo, design-systems, replicate
|
context7, gitea, n8n, cwp, filesystem, ssh-unified, google-analytics, youtube-research, youtube-uploader, gsc, lighthouse, mcp-time, puppeteer, mcp-mermaid, mcp-echarts, powerpoint, penpot, pixabay, pexels, tavily, elevenlabs, magic, vimeo, design-systems, replicate
|
||||||
|
|
||||||
**Discovery:** Use ToolSearch to find specific tools.
|
**Discovery:** Use ToolSearch to find specific tools.
|
||||||
**Example:** `ToolSearch("ssh upload")` finds SSH upload tools.
|
**Example:** `ToolSearch("ssh upload")` finds SSH upload tools.
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"task_id": null,
|
||||||
|
"project_id": null,
|
||||||
|
"customer_id": null,
|
||||||
|
"gitea_repo": null
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# agents
|
||||||
|
|
||||||
|
## Documentação
|
||||||
|
|
||||||
|
- [README](README.md)
|
||||||
|
- [AGENTS](AGENTS.md)
|
||||||
|
- [STATUS](STATUS.md)
|
||||||
|
- [MEMORY](MEMORY.md)
|
||||||
@@ -9,11 +9,13 @@ model: sonnet
|
|||||||
tools: Read, Write, Edit, Glob, Grep, ToolSearch
|
tools: Read, Write, Edit, Glob, Grep, ToolSearch
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
|
# Nota: MCPs como desk-crm-v3, moloni, easypanel, lighthouse, authentik, spaceship e youtube
|
||||||
|
# estão desligados por omissão — pedir activação via /mcp (regra 57) antes de os usar.
|
||||||
primary_mcps:
|
primary_mcps:
|
||||||
- desk-crm-v3
|
- desk-crm-v3
|
||||||
- google-workspace
|
- google-workspace
|
||||||
recommended_mcps:
|
recommended_mcps:
|
||||||
- memory-supabase
|
- mem0
|
||||||
- imap
|
- imap
|
||||||
skills:
|
skills:
|
||||||
- _core
|
- _core
|
||||||
@@ -142,7 +144,7 @@ Estrategista comercial especializado em análise de leads e criação de abordag
|
|||||||
## MCPs Relevantes
|
## MCPs Relevantes
|
||||||
- `desk-crm-v3`: Dados de leads e histórico
|
- `desk-crm-v3`: Dados de leads e histórico
|
||||||
- `notebooklm`: KB primaria (Gemini 2.5 RAG) | ``: KB Vendas, Marketing Digital, Copywriting
|
- `notebooklm`: KB primaria (Gemini 2.5 RAG) | ``: KB Vendas, Marketing Digital, Copywriting
|
||||||
- `memory-supabase`: Padrões de abordagem bem-sucedidos
|
- `mem0`: Padrões de abordagem bem-sucedidos
|
||||||
|
|
||||||
## Colaboracao
|
## Colaboracao
|
||||||
|
|
||||||
@@ -164,9 +166,9 @@ Estrategista comercial especializado em análise de leads e criação de abordag
|
|||||||
- Knowledge base AI
|
- Knowledge base AI
|
||||||
- Usage: `mcp____*`
|
- Usage: `mcp____*`
|
||||||
|
|
||||||
✓ **memory-supabase** (system)
|
✓ **mem0** (system)
|
||||||
- Memória longo prazo
|
- Memória longo prazo
|
||||||
- Usage: `mcp__memory-supabase__*`
|
- Usage: `mcp__mem0__*`
|
||||||
|
|
||||||
### Recommended for marketing
|
### Recommended for marketing
|
||||||
- **google-workspace** - Email, calendário, docs, drive
|
- **google-workspace** - Email, calendário, docs, drive
|
||||||
@@ -181,7 +183,7 @@ Estrategista comercial especializado em análise de leads e criação de abordag
|
|||||||
- **replicate** - AI models - imagem, vídeo, áudio, LLMs
|
- **replicate** - AI models - imagem, vídeo, áudio, LLMs
|
||||||
|
|
||||||
### All Available (32 total)
|
### All Available (32 total)
|
||||||
moloni, context7, gitea, n8n, cwp, filesystem, ssh-unified, imap, outline-api, wikijs, gsc, lighthouse, mcp-time, puppeteer, mcp-mermaid, mcp-echarts, powerpoint, penpot, magic, design-systems
|
moloni, context7, gitea, n8n, cwp, filesystem, ssh-unified, imap, outline-api, gsc, lighthouse, mcp-time, puppeteer, mcp-mermaid, mcp-echarts, powerpoint, penpot, magic, design-systems
|
||||||
|
|
||||||
**Discovery:** Use ToolSearch to find specific tools.
|
**Discovery:** Use ToolSearch to find specific tools.
|
||||||
**Example:** `ToolSearch("ssh upload")` finds SSH upload tools.
|
**Example:** `ToolSearch("ssh upload")` finds SSH upload tools.
|
||||||
|
|||||||
@@ -9,11 +9,13 @@ model: sonnet
|
|||||||
tools: Read, Glob, Grep, ToolSearch
|
tools: Read, Glob, Grep, ToolSearch
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
|
# Nota: MCPs como desk-crm-v3, moloni, easypanel, lighthouse, authentik, spaceship e youtube
|
||||||
|
# estão desligados por omissão — pedir activação via /mcp (regra 57) antes de os usar.
|
||||||
primary_mcps:
|
primary_mcps:
|
||||||
- desk-crm-v3
|
- desk-crm-v3
|
||||||
recommended_mcps:
|
recommended_mcps:
|
||||||
- google-workspace
|
- google-workspace
|
||||||
- memory-supabase
|
- mem0
|
||||||
skills:
|
skills:
|
||||||
- _core
|
- _core
|
||||||
desk_task: 1505
|
desk_task: 1505
|
||||||
@@ -110,7 +112,7 @@ Avalia e prioriza leads inbound, garantindo que a equipa de vendas se foca em pr
|
|||||||
## MCPs Relevantes
|
## MCPs Relevantes
|
||||||
- `desk-crm-v3`: Gestão de leads e pipeline
|
- `desk-crm-v3`: Gestão de leads e pipeline
|
||||||
- `notebooklm`: KB primaria (Gemini 2.5 RAG) | ``: KB Vendas (qualification), Marketing Digital
|
- `notebooklm`: KB primaria (Gemini 2.5 RAG) | ``: KB Vendas (qualification), Marketing Digital
|
||||||
- `memory-supabase`: Histórico de qualificações bem-sucedidas
|
- `mem0`: Histórico de qualificações bem-sucedidas
|
||||||
|
|
||||||
## Colaboracao
|
## Colaboracao
|
||||||
- Reports to: Business Development Manager
|
- Reports to: Business Development Manager
|
||||||
@@ -128,9 +130,9 @@ Avalia e prioriza leads inbound, garantindo que a equipa de vendas se foca em pr
|
|||||||
- Knowledge base AI
|
- Knowledge base AI
|
||||||
- Usage: `mcp____*`
|
- Usage: `mcp____*`
|
||||||
|
|
||||||
✓ **memory-supabase** (system)
|
✓ **mem0** (system)
|
||||||
- Memória longo prazo
|
- Memória longo prazo
|
||||||
- Usage: `mcp__memory-supabase__*`
|
- Usage: `mcp__mem0__*`
|
||||||
|
|
||||||
### Recommended for business
|
### Recommended for business
|
||||||
- **moloni** - Facturação
|
- **moloni** - Facturação
|
||||||
@@ -139,7 +141,7 @@ Avalia e prioriza leads inbound, garantindo que a equipa de vendas se foca em pr
|
|||||||
- **outline-api** - Outline documentation
|
- **outline-api** - Outline documentation
|
||||||
|
|
||||||
### All Available (32 total)
|
### All Available (32 total)
|
||||||
context7, gitea, n8n, cwp, filesystem, ssh-unified, google-analytics, youtube-research, youtube-uploader, wikijs, gsc, lighthouse, mcp-time, puppeteer, mcp-mermaid, mcp-echarts, powerpoint, penpot, pixabay, pexels, tavily, elevenlabs, magic, vimeo, design-systems, replicate
|
context7, gitea, n8n, cwp, filesystem, ssh-unified, google-analytics, youtube-research, youtube-uploader, gsc, lighthouse, mcp-time, puppeteer, mcp-mermaid, mcp-echarts, powerpoint, penpot, pixabay, pexels, tavily, elevenlabs, magic, vimeo, design-systems, replicate
|
||||||
|
|
||||||
**Discovery:** Use ToolSearch to find specific tools.
|
**Discovery:** Use ToolSearch to find specific tools.
|
||||||
**Example:** `ToolSearch("ssh upload")` finds SSH upload tools.
|
**Example:** `ToolSearch("ssh upload")` finds SSH upload tools.
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
## 2026-06-30 init | Estrutura padrão
|
||||||
@@ -18,13 +18,15 @@ user_invocable: true
|
|||||||
tier: 1
|
tier: 1
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
|
# Nota: MCPs como desk-crm-v3, moloni, easypanel, lighthouse, authentik, spaceship e youtube
|
||||||
|
# estão desligados por omissão — pedir activação via /mcp (regra 57) antes de os usar.
|
||||||
primary_mcps:
|
primary_mcps:
|
||||||
- desk-crm-v3 # Business operations
|
- desk-crm-v3 # Business operations
|
||||||
- google-workspace # Docs, Sheets, proposals
|
- google-workspace # Docs, Sheets, proposals
|
||||||
recommended_mcps:
|
recommended_mcps:
|
||||||
- moloni # Invoicing
|
- moloni # Invoicing
|
||||||
- imap # Email management
|
- imap # Email management
|
||||||
- memory-supabase # Long-term memory
|
- mem0 # Memória longo prazo (Tier 2) via Mem0
|
||||||
- outline-api # Documentation
|
- outline-api # Documentation
|
||||||
|
|
||||||
primary_skills:
|
primary_skills:
|
||||||
|
|||||||
@@ -10,10 +10,12 @@ domain: Support, CRM
|
|||||||
model: sonnet
|
model: sonnet
|
||||||
tools: Read, Glob, Grep, ToolSearch
|
tools: Read, Glob, Grep, ToolSearch
|
||||||
|
|
||||||
|
# Nota: MCPs como desk-crm-v3, moloni, easypanel, lighthouse, authentik, spaceship e youtube
|
||||||
|
# estão desligados por omissão — pedir activação via /mcp (regra 57) antes de os usar.
|
||||||
primary_mcps:
|
primary_mcps:
|
||||||
- desk-crm-v3
|
- desk-crm-v3
|
||||||
recommended_mcps:
|
recommended_mcps:
|
||||||
- memory-supabase
|
- mem0
|
||||||
- mcp-time
|
- mcp-time
|
||||||
|
|
||||||
primary_skills:
|
primary_skills:
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"task_id": null,
|
||||||
|
"project_id": null,
|
||||||
|
"customer_id": null,
|
||||||
|
"gitea_repo": null
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# crm-ops
|
||||||
|
|
||||||
|
## Documentação
|
||||||
|
|
||||||
|
- [README](README.md)
|
||||||
|
- [AGENTS](AGENTS.md)
|
||||||
|
- [STATUS](STATUS.md)
|
||||||
|
- [MEMORY](MEMORY.md)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
## 2026-06-30 init | Estrutura padrão
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# AGENTS.md — skills
|
||||||
|
|
||||||
|
Directrizes específicas deste projecto para agentes IA.
|
||||||
|
|
||||||
|
## Referências obrigatórias
|
||||||
|
|
||||||
|
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
|
||||||
|
- `PROC-DEV-STANDARD` — D7-SIS-006
|
||||||
|
- `PROC-AUDIT-STANDARD` — D7-SIS-007
|
||||||
|
|
||||||
|
## Protocolo de sessão
|
||||||
|
|
||||||
|
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
|
||||||
|
|
||||||
|
## Convenções específicas
|
||||||
|
|
||||||
|
- (a definir)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# CHANGELOG — skills
|
||||||
|
|
||||||
|
## 0.1.0 — 2026-06-30
|
||||||
|
### Adicionado
|
||||||
|
- Estrutura padrão (PROC-DEV-STANDARD)
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# MEMORY.md — skills
|
||||||
|
|
||||||
|
## 2026-06-30
|
||||||
|
- Estrutura padrão aplicada via propagate-structure.sh
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# skills
|
||||||
|
|
||||||
|
Subprojecto skills do ecossistema Descomplicar.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# STATUS.md — skills
|
||||||
|
|
||||||
|
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
|
||||||
|
|
||||||
|
## Estado actual
|
||||||
|
- Em curso: —
|
||||||
|
- Bloqueios: —
|
||||||
|
- Próximos passos: —
|
||||||
@@ -22,8 +22,8 @@ Skill para gestão e desenvolvimento Perfex CRM seguindo padrões Descomplicar®
|
|||||||
Antes de qualquer operação, usar MCPs:
|
Antes de qualquer operação, usar MCPs:
|
||||||
```
|
```
|
||||||
mcp__desk-crm-v3__get_customers - verificar dados existentes
|
mcp__desk-crm-v3__get_customers - verificar dados existentes
|
||||||
mcp__memory-supabase__search_memories "[contexto crm]"
|
mcp__mem0__search_memories "[contexto crm]"
|
||||||
mcp__wikijs__search_pages "perfex crm [funcionalidade]"
|
/knowledge (router Hub QR/PROC) + mcp__mem0__search_memories "perfex crm [funcionalidade]"
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. Dados Reais Obrigatórios
|
### 2. Dados Reais Obrigatórios
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"task_id": null,
|
||||||
|
"project_id": null,
|
||||||
|
"customer_id": null,
|
||||||
|
"gitea_repo": null
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# skills
|
||||||
|
|
||||||
|
## Documentação
|
||||||
|
|
||||||
|
- [README](README.md)
|
||||||
|
- [AGENTS](AGENTS.md)
|
||||||
|
- [STATUS](STATUS.md)
|
||||||
|
- [MEMORY](MEMORY.md)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
## 2026-06-30 init | Estrutura padrão
|
||||||
@@ -368,6 +368,43 @@ mcp__mcp-time__current_time - Data/hora actual
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Media Bank (D7-MB-001)
|
||||||
|
|
||||||
|
**Quando consultar:** antes de gerar o deck da proposta — para hero da capa, backgrounds de slides de secção e imagens ilustrativas. Garante consistência visual e evita dependência de geração IA por cada proposta.
|
||||||
|
|
||||||
|
**Workflow tentativa-primeiro:**
|
||||||
|
|
||||||
|
1. Pesquisar via MCP `media-bank`:
|
||||||
|
```
|
||||||
|
mcp__media-bank__search_media(
|
||||||
|
query="<sector/serviço do cliente em EN>",
|
||||||
|
type="image",
|
||||||
|
tema="<um dos 9 temas alinhado com serviço>",
|
||||||
|
orientation="landscape",
|
||||||
|
min_quality=8, # exigência mais alta para propostas
|
||||||
|
min_width=1920,
|
||||||
|
exclude_used_in_last_days=60,
|
||||||
|
limit=5
|
||||||
|
)
|
||||||
|
```
|
||||||
|
2. Avaliar candidatos por `description_en` + `quality_score` + alinhamento com identidade visual Descomplicar.
|
||||||
|
3. Se ≥1 adequado → usar `path_local` directamente no PPTX (slide master / capa) ou compor no template.
|
||||||
|
4. Se nenhum → fallback para geração IA (Flux) ou biblioteca de stock interna.
|
||||||
|
5. Marcar uso: `mcp__media-bank__mark_used(asset_id, {type:"proposal-deck", ref:"<cliente>-<data>", date:"<YYYY-MM-DD>"})`.
|
||||||
|
|
||||||
|
**Fallback REST** (se MCP indisponível):
|
||||||
|
```bash
|
||||||
|
SK=$(grep SERVICE_KEY /media/ealmeida/Dados/Hub/05-Projectos/Banco-Imagens-Videos/scripts/.env | cut -d= -f2)
|
||||||
|
curl -s "https://mem.descomplicar.pt/rest/v1/media_bank_assets?type=eq.image&orientation=eq.landscape&quality_score=gte.8&deleted_at=is.null&order=quality_score.desc&limit=5" \
|
||||||
|
-H "apikey: $SK" -H "Authorization: Bearer $SK"
|
||||||
|
```
|
||||||
|
|
||||||
|
**Regra inviolável:** matéria-prima local. Usar como input no template PPTX — NUNCA servir o ficheiro raw ao cliente sem integração no deck (overlays, branding, layout).
|
||||||
|
|
||||||
|
Ver `Hub/06-Operacoes/Procedimentos/D7-Tecnologia/MCP/PROC-Media-Bank.md` (D7-MB-001) para detalhes.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Healing Log
|
## Healing Log
|
||||||
|
|
||||||
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
|
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
|
||||||
|
|||||||
@@ -116,6 +116,18 @@ Mostra: "750 EUR + IVA" + "Investimento único · prazo 1-2 semanas"
|
|||||||
| Import de componentes SVG (`<Svg>`, `<Circle>`) | Crasha web worker do PDFDownloadLink | Implementar gráficos inline com `<View>` |
|
| Import de componentes SVG (`<Svg>`, `<Circle>`) | Crasha web worker do PDFDownloadLink | Implementar gráficos inline com `<View>` |
|
||||||
| `Font.register` com fontes locais/CDN em multi-página | Falha silenciosa | Usar Helvetica/Helvetica-Bold (built-in) |
|
| `Font.register` com fontes locais/CDN em multi-página | Falha silenciosa | Usar Helvetica/Helvetica-Bold (built-in) |
|
||||||
| `href` vazio no PDFDownloadLink | PDF não gerou — verificar consola | Cache do browser — Ctrl+Shift+R |
|
| `href` vazio no PDFDownloadLink | PDF não gerou — verificar consola | Cache do browser — Ctrl+Shift+R |
|
||||||
|
| `width: "100%"` em bars/elementos dentro de flex container | Não resolve — fica invisível | Usar `alignSelf: "stretch"` no elemento e no container pai |
|
||||||
|
| Imagens com path absoluto (`/home/...`) | react-pdf não acede ao filesystem local | Colocar em `public/assets/` e referenciar como `"assets/foto.png"` (sem `/` inicial) |
|
||||||
|
| `borderBottomWidth` no header + `borderTopWidth` em componente filho | Duplica a linha dourada visualmente | Usar apenas `borderTopWidth: 2` no próprio header; remover `borderBottom` |
|
||||||
|
|
||||||
|
**Hifenização:** Para desactivar em todo o PDF, adicionar ao `<Document>`:
|
||||||
|
```jsx
|
||||||
|
hyphenationCallback={(word) => [word]}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Ícones no PDF:** Usar `PDFIcons.jsx` (`src/pdf/sections/`) com `Svg/Path/Circle/Line/Polyline` de `@react-pdf/renderer`. NÃO importar lucide-react nos componentes PDF — crasha o worker.
|
||||||
|
|
||||||
|
**Ícones na web:** Usar `lucide-react`. Padrão: `FALLBACK_ICONS[i % FALLBACK_ICONS.length]` para rotação automática por índice quando o JSON não tem campo `icon`.
|
||||||
|
|
||||||
### 6. Página 360° (service360) — contextualizar
|
### 6. Página 360° (service360) — contextualizar
|
||||||
|
|
||||||
@@ -132,6 +144,64 @@ Se `service360` for `null`, a secção não aparece.
|
|||||||
|
|
||||||
As condições estão numa página PDF separada (não na mesma que o roadmap) para evitar corte entre páginas. O componente `PDFWorkDone` retorna um Fragment com 2 Pages.
|
As condições estão numa página PDF separada (não na mesma que o roadmap) para evitar corte entre páginas. O componente `PDFWorkDone` retorna um Fragment com 2 Pages.
|
||||||
|
|
||||||
|
### 8. Apresentação 16:9 — PDFPresentation.jsx
|
||||||
|
|
||||||
|
Existe um segundo output PDF em formato 1920×1080 (slides), activado por um botão "Apresentação 16:9" no canto inferior direito da proposta web.
|
||||||
|
|
||||||
|
**Ficheiros envolvidos:**
|
||||||
|
- `src/pdf/PDFPresentation.jsx` — documento completo com todos os slides
|
||||||
|
- `src/pdf/sections/PDFSlide.jsx` — wrapper de slide (Page 1440×810pt, header com logo, rodapé com numeração)
|
||||||
|
|
||||||
|
**Dimensões:** 1920×1080 @ 72dpi → `[1440, 810]` em pontos (unidade do react-pdf).
|
||||||
|
|
||||||
|
**Estrutura de slides:**
|
||||||
|
|
||||||
|
| Slide | Componente | Dados |
|
||||||
|
|-------|-----------|-------|
|
||||||
|
| Capa | `SlideCover` | `data.title`, `client`, `date`, `company` |
|
||||||
|
| Diagnóstico | `SlideProblem` | `context.description`, `context.diagnosis` |
|
||||||
|
| Descomplicar 360° | `Slide360` | `educationSections` com `label:"Descomplicar 360°"` |
|
||||||
|
| Educação | `SlideEducation` | restantes `educationSections` |
|
||||||
|
| Soluções | `SlideService360` | `service360.areas` |
|
||||||
|
| Previsão de leads | `SlideLeadForecast` | `leadForecast` |
|
||||||
|
| Preços | `SlidePricing` | `plans` |
|
||||||
|
| Roadmap | `SlideRoadmap` | `roadmap` |
|
||||||
|
| Contacto | `SlideContact` | `company`, `client.contact` |
|
||||||
|
|
||||||
|
**Helper components internos (PDFPresentation.jsx):**
|
||||||
|
- `GoldLine` — linha dourada decorativa
|
||||||
|
- `Tag` — label uppercase dourado (fontSize 13)
|
||||||
|
- `SlideTitle` — título principal do slide (fontSize 52 default)
|
||||||
|
- `SlideBody` — corpo do slide (fontSize 19)
|
||||||
|
- `Card` — caixa de conteúdo com border esquerda dourada (title 16, body 14)
|
||||||
|
- `CardGrid` — wrapper flexWrap para cards
|
||||||
|
|
||||||
|
**Tamanhos de referência para legibilidade em sala:**
|
||||||
|
- Tag: 13pt | SlideTitle: 42-58pt | SlideBody: 19pt
|
||||||
|
- Card title: 16pt | Card body: 14pt
|
||||||
|
- Cover logo: height 120 (3× maior que header normal)
|
||||||
|
|
||||||
|
**Separação Slide360 vs SlideEducation:**
|
||||||
|
```jsx
|
||||||
|
const slide360 = educationSections?.find(s => s.label?.toLowerCase().includes("360"))
|
||||||
|
const otherSections = educationSections?.filter(s => !s.label?.toLowerCase().includes("360"))
|
||||||
|
```
|
||||||
|
|
||||||
|
**Botão no App.jsx:**
|
||||||
|
```jsx
|
||||||
|
<PDFDownloadLink
|
||||||
|
document={<PDFPresentation data={currentProposal} />}
|
||||||
|
fileName={`apresentacao-descomplicar-${...}.pdf`}
|
||||||
|
>
|
||||||
|
{({ loading }) => <button>Apresentação 16:9</button>}
|
||||||
|
</PDFDownloadLink>
|
||||||
|
```
|
||||||
|
|
||||||
|
**PROIBIÇÕES específicas do 16:9:**
|
||||||
|
- NÃO usar `gap` em `flexWrap` (mesmo bug do A4)
|
||||||
|
- NÃO usar `rgba()` em `borderColor`
|
||||||
|
- Manter `hyphenationCallback` no `<Document>` do PDFPresentation também
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Protocolo
|
## Protocolo
|
||||||
@@ -342,6 +412,7 @@ rm -f /tmp/propostas-dist.tar.gz
|
|||||||
|------|---------|------|------|
|
|------|---------|------|------|
|
||||||
| `ljm-360-61a8aecc` | A Loja da Maria | 360° (mensal) | 2026-03-20 |
|
| `ljm-360-61a8aecc` | A Loja da Maria | 360° (mensal) | 2026-03-20 |
|
||||||
| `ccv-bookeo-a3f7c1d2` | Carvoeiro Caves | Migração técnica (único) | 2026-03-23 |
|
| `ccv-bookeo-a3f7c1d2` | Carvoeiro Caves | Migração técnica (único) | 2026-03-23 |
|
||||||
|
| `pbk-autoridade-local-2026` | Equipa Sérgio Oliveira e Paula Barros · KW Portugal | SEO + conteúdo hiperlocal (mensal) | 2026-04-27 |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -366,12 +437,26 @@ rm -f /tmp/propostas-dist.tar.gz
|
|||||||
- Checklist pré-build e teste PDF obrigatório
|
- Checklist pré-build e teste PDF obrigatório
|
||||||
- Condições comerciais em página PDF separada
|
- Condições comerciais em página PDF separada
|
||||||
|
|
||||||
|
### v2.2.0 (2026-04-27)
|
||||||
|
- Formato 16:9 documentado: `PDFPresentation.jsx` + `PDFSlide.jsx`
|
||||||
|
- Regra 8 adicionada: estrutura de slides, dimensões, helper components, tamanhos de referência
|
||||||
|
- Separação Slide360 vs SlideEducation por label
|
||||||
|
- Botão "Apresentação 16:9" no App.jsx documentado
|
||||||
|
- Proibições específicas 16:9 adicionadas
|
||||||
|
|
||||||
|
### v2.1.0 (2026-04-27)
|
||||||
|
- Novos bugs react-pdf documentados: `width:"100%"` em flex, paths absolutos em imagens, `borderBottom` duplicado
|
||||||
|
- Hifenização: `hyphenationCallback` no `<Document>`
|
||||||
|
- Padrão de ícones: `PDFIcons.jsx` para PDF, lucide-react para web, fallback por índice
|
||||||
|
- Proposta `pbk-autoridade-local-2026` adicionada ao registo
|
||||||
|
- Healing Log com 5 erros reais corrigidos
|
||||||
|
|
||||||
### v1.0.0 (2026-03-23)
|
### v1.0.0 (2026-03-23)
|
||||||
- Versão inicial
|
- Versão inicial
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Versão:** 2.0.0 | **Data:** 2026-03-23
|
**Versão:** 2.2.0 | **Data:** 2026-04-27
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -380,7 +465,11 @@ rm -f /tmp/propostas-dist.tar.gz
|
|||||||
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
|
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
|
||||||
|
|
||||||
```jsonl
|
```jsonl
|
||||||
{"date":"","issue":"","fix":"","source":"user|auto"}
|
{"date":"2026-04-27","issue":"Barras de gráfico invisíveis no PDF","fix":"width:'100%' não funciona em flex containers — substituir por alignSelf:'stretch' no container e na barra","source":"user"}
|
||||||
|
{"date":"2026-04-27","issue":"Linha dourada duplicada no topo das páginas","fix":"PDFPage tinha borderBottomWidth no header E os componentes filhos tinham borderTopWidth — remover borderBottom do header, manter apenas borderTopWidth:2","source":"user"}
|
||||||
|
{"date":"2026-04-27","issue":"Foto do gestor de conta não aparece no PDF","fix":"react-pdf não carrega paths absolutos do filesystem — copiar para public/assets/ e referenciar sem / inicial","source":"user"}
|
||||||
|
{"date":"2026-04-27","issue":"Border verde em vez de dourado no PDF","fix":"rgba() em borderColor renderiza verde — usar hex sólido (#D4A020)","source":"user"}
|
||||||
|
{"date":"2026-04-27","issue":"Hifenização indesejada no PDF","fix":"Adicionar hyphenationCallback={(word) => [word]} ao <Document>","source":"user"}
|
||||||
```
|
```
|
||||||
|
|
||||||
*Adicionar nova linha após cada erro corrigido.*
|
*Adicionar nova linha após cada erro corrigido.*
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# AGENTS.md — design-media
|
||||||
|
|
||||||
|
Directrizes específicas deste projecto para agentes IA.
|
||||||
|
|
||||||
|
## Referências obrigatórias
|
||||||
|
|
||||||
|
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
|
||||||
|
- `PROC-DEV-STANDARD` — D7-SIS-006
|
||||||
|
- `PROC-AUDIT-STANDARD` — D7-SIS-007
|
||||||
|
|
||||||
|
## Protocolo de sessão
|
||||||
|
|
||||||
|
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
|
||||||
|
|
||||||
|
## Convenções específicas
|
||||||
|
|
||||||
|
- (a definir)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# CHANGELOG — design-media
|
||||||
|
|
||||||
|
## 0.1.0 — 2026-06-30
|
||||||
|
### Adicionado
|
||||||
|
- Estrutura padrão (PROC-DEV-STANDARD)
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# MEMORY.md — design-media
|
||||||
|
|
||||||
|
## 2026-06-30
|
||||||
|
- Estrutura padrão aplicada via propagate-structure.sh
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# design-media
|
||||||
|
|
||||||
|
Subprojecto design-media do ecossistema Descomplicar.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# STATUS.md — design-media
|
||||||
|
|
||||||
|
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
|
||||||
|
|
||||||
|
## Estado actual
|
||||||
|
- Em curso: —
|
||||||
|
- Bloqueios: —
|
||||||
|
- Próximos passos: —
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# AGENTS.md — agents
|
||||||
|
|
||||||
|
Directrizes específicas deste projecto para agentes IA.
|
||||||
|
|
||||||
|
## Referências obrigatórias
|
||||||
|
|
||||||
|
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
|
||||||
|
- `PROC-DEV-STANDARD` — D7-SIS-006
|
||||||
|
- `PROC-AUDIT-STANDARD` — D7-SIS-007
|
||||||
|
|
||||||
|
## Protocolo de sessão
|
||||||
|
|
||||||
|
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
|
||||||
|
|
||||||
|
## Convenções específicas
|
||||||
|
|
||||||
|
- (a definir)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# CHANGELOG — agents
|
||||||
|
|
||||||
|
## 0.1.0 — 2026-06-30
|
||||||
|
### Adicionado
|
||||||
|
- Estrutura padrão (PROC-DEV-STANDARD)
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# MEMORY.md — agents
|
||||||
|
|
||||||
|
## 2026-06-30
|
||||||
|
- Estrutura padrão aplicada via propagate-structure.sh
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# agents
|
||||||
|
|
||||||
|
Subprojecto agents do ecossistema Descomplicar.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# STATUS.md — agents
|
||||||
|
|
||||||
|
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
|
||||||
|
|
||||||
|
## Estado actual
|
||||||
|
- Em curso: —
|
||||||
|
- Bloqueios: —
|
||||||
|
- Próximos passos: —
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user