TICK.md
Coordinación de tareas multi-agente mediante Markdown respaldado por Git
Coordina el trabajo entre humanos y agentes de IA usando archivos TICK.md estructurados. Construido sobre Git, diseñado para interacción en lenguaje natural, optimizado para flujos de trabajo multi-agente.
✨ Características
- 🤖 Nativo para IA: Servidor MCP para integración fluida de bots
- 📝 Legible por humanos: Markdown simple con frontmatter YAML
- 🔄 Respaldo de Git: Control de versiones completo y registro de auditoría automático
- 🎯 Seguimiento de dependencias: Desbloqueo automático de tareas
- 🔒 Bloqueo de archivos: Previene conflictos de edición concurrente
- 🔍 Filtrado avanzado: Encuentra tareas por estado, prioridad, etiquetas
- 📊 Visualización: Gráficos de dependencia (ASCII y Mermaid)
- 👀 Monitoreo en tiempo real: Modo de observación para actualizaciones en vivo
- 🌐 Local-First: No requiere nube, funciona offline
🚀 Inicio rápido
Instalar CLI
npm install -g tick-md
Inicializar proyecto
cd your-project
tick init
tick status
Crear y reclamar tareas
tick add "Build authentication" --priority high --tags backend
tick claim TASK-001 @yourname
tick done TASK-001 @yourname
🤖 Para Agentes de IA
Instalar servidor MCP
npm install -g tick-mcp-server
Añade a tu configuración MCP (ej., ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"tick": {
"command": "tick-mcp",
"args": [],
"env": {}
}
}
}
Usando las herramientas MCP
El servidor MCP expone todos los comandos CLI como herramientas:
tick_init- Inicializa un proyectotick_add- Crea tareastick_claim- Reclama tareas para tu agentetick_done- Marca tareas como completadastick_status- Obtiene una visión general del proyectotick_list- Consulta y filtra tareastick_comment- Añade notas de progreso
🎯 Conceptos clave
Estructura del archivo TICK.md
---
meta:
project_id: my-project
id_prefix: TASK
next_id: 4
updated: 2026-02-07T15:30:00-05:00
---
### TASK-001 · Build user authentication
\`\`\`yaml
id: TASK-001
status: in_progress
priority: high
claimed_by: @claude-code
assigned_to: @claude-code
created_by: @gianni
created_at: 2026-02-07T10:00:00-05:00
updated_at: 2026-02-07T15:30:00-05:00
tags: [backend, auth]
depends_on: []
blocks: [TASK-002, TASK-003]
history:
- ts: 2026-02-07T10:00:00 who: @gianni action: created
- ts: 2026-02-07T15:30:00 who: @claude-code action: claimed
\`\`\`
> Construir autenticación basada en JWT con tokens de actualización
Commits automáticos de Git
Por defecto, cada mutación crea un commit de git:
[tick] TASK-001 claimed by @claude-code
[tick] TASK-001 completed by @claude-code
[tick] TASK-003: created
Control con banderas:
--commit- Forzar commit--no-commit- Omitir commit- O configurar en
.tick/config.yml
Estados de las tareas
backlog- No listo para comenzartodo- Listo para reclamarin_progress- Siendo trabajadoreview- Pendiente de revisiónblocked- Esperando dependenciasdone- Completado
Bloqueo de archivos
El CLI usa .tick.lock para prevenir ediciones concurrentes. Cuando un agente reclama una tarea, adquiere el bloqueo. Otros agentes ven la tarea como reclamada y no pueden modificarla.
📚 Documentación
- Especificación del protocolo: https://tick.md/docs/protocol
- Referencia CLI: https://tick.md/docs/cli
- Primeros pasos: https://tick.md/docs/getting-started
💡 Ejemplo de flujo de trabajo
# Humano crea tareas
tick add "Build landing page" --priority high --tags frontend --assign @claude-code
tick add "Write launch email" --priority medium --tags content --assign @content-bot
tick add "E2E tests" --priority medium --tags qa --depends-on TASK-001
# Agente IA toma el trabajo
tick claim TASK-001 @claude-code
tick comment TASK-001 @claude-code --note "Built responsive landing with hero section"
tick done TASK-001 @claude-code
# Otro agente se activa automáticamente
tick claim TASK-003 @qa-bot
tick done TASK-003 @qa-bot --skip-review
🔧 Configuración
Editar .tick/config.yml:
git:
auto_commit: true # Auto-commit en mutaciones (por defecto: true)
commit_prefix: "[tick]"
push_on_sync: false
locking:
enabled: true
timeout: 300
agents:
default_trust: full
require_registration: false
🌟 Mejores prácticas para bots OpenClaw
- Siempre reclamar antes de trabajar:
tick claim TASK-XXX @yourbotname - Añadir comentarios de progreso:
tick comment TASK-XXX @yourbotname --note "Status update" - Marcar como completado cuando termine:
tick done TASK-XXX @yourbotname - Verificar dependencias: Usa
tick list --blockedpara encontrar tareas bloqueadas - Usar servidor MCP: Habilita la gestión de tareas en lenguaje natural
🔧 Configuración Multi-Agente OpenClaw
Guía paso a paso para coordinar múltiples bots OpenClaw a través de TICK.md.
1. Crear un repositorio compartido de tareas
gh repo create yourorg/project-tasks --private
cd project-tasks
npx tick-md init
git add -A && git commit -m "init" && git push
2. En el servidor de cada bot OpenClaw
cd /data/.openclaw/workspace
git clone [email protected]:yourorg/project-tasks.git tasks
cd tasks && npx tick-md status
3. Añadir al AGENTS.md de cada bot
## ✅ Coordinación de tareas (TICK.md)
Me coordino con otros agentes vía TICK.md en `./tasks/`.
### Antes de comenzar a trabajar:
1. `cd tasks && npx tick-md sync` — obtener lo último
2. `npx tick-md list --status backlog --priority high` — encontrar trabajo disponible
3. `npx tick-md claim TASK-XXX @mybotname` — reclamar antes de trabajar
4. `npx tick-md done TASK-XXX @mybotname` — marcar como completado
### Reglas:
- **Nunca trabajar en una tarea reclamada por otro agente**
- **Siempre reclamar antes de comenzar**
- **Sincronizar antes y después del trabajo**
4. Añadir al HEARTBEAT.md de cada bot
## Sincronización de tareas (TICK.md)
- [ ] Sincronizar tareas: `cd tasks && npx tick-md sync`
- [ ] Verificar mi trabajo: `npx tick-md list --claimed-by @mybotname --status in_progress`
- [ ] Verificar tareas disponibles: `npx tick-md list --status backlog --priority high`
5. Claves de despliegue
Cada bot necesita acceso SSH al repositorio compartido. Genera una clave de despliegue en cada servidor:
ssh-keygen -t ed25519 -C "botname@tasks" -f ~/.ssh/tasks_deploy -N ""
cat ~/.ssh/tasks_deploy.pub
# Agregar esto a Repo Settings → Deploy Keys (con acceso de escritura)
Configurar git para usarla:
cd tasks
git config core.sshCommand "ssh -i ~/.ssh/tasks_deploy -o IdentitiesOnly=yes"
6. Comando de sincronización para bots
Después de cualquier mutación de tick, enviar cambios:
cd tasks && git push
O usar tick sync que maneja pull + push automáticamente.
📦 Información del paquete
- CLI:
tick-mden npm - Servidor MCP:
tick-mcp-serveren npm - GitHub: https://github.com/Purple-Horizons/tick-md
- Licencia: MIT
🆘 Soporte
- Issues de GitHub: https://github.com/Purple-Horizons/tick-md/issues
- Sponsor: https://github.com/sponsors/Purple-Horizons