Skip to content

BradGroux/veritas-kanban

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

676 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

βš–οΈ Veritas Kanban

Veritas in actis β€” Truth in action.

Local-first task management and AI agent orchestration platform.

Built for developers who want a visual Kanban board that works with autonomous coding agents.

CI License: MIT Version TypeScript PRs Welcome

Veritas Kanban β€” Board Overview

🎬 Watch the full demo video (MP4)

⭐ If you find this useful, star the repo β€” it helps others discover it!

Quickstart Β· Features Β· Why VK Β· All Features Β· Docs Β· Troubleshooting Β· API Β· Agent Integration Β· MCP Server Β· Contributing Β· Changelog


Created by Brad Groux β€” CEO of Digital Meld, and host of the Start Small, Think Big podcast Β· LinkedIn Β· Twitter Β· YouTube


⚑ Quickstart

Want to take the easy way out? Ask your agent (like OpenClaw):

Clone and set up veritas-kanban locally. Install dependencies with pnpm, copy the .env.example, and start the dev server. Verify it's running at localhost:3000.

Want to do it yourself? Get up and running in under 5 minutes:

git clone https://github.com/BradGroux/veritas-kanban.git
cd veritas-kanban
pnpm install
cp server/.env.example server/.env   # Edit to change VERITAS_ADMIN_KEY
pnpm dev

Open http://localhost:3000 β€” that's it. The board auto-seeds with example tasks on first run so you can explore right away.

Want a clean slate? Delete the example tasks: rm tasks/active/task_example_*.md and refresh. Want to re-seed? Run pnpm seed to restore the example tasks (only works when the board is empty).

Note: Never commit .env files. Use .env.example as a template β€” it contains safe placeholder values and documentation for every variable.


πŸ“š Documentation Map

⚠️ Agentic AI Safety

Caution

AI agents can write code, execute commands, and modify your system. While tools like Veritas Kanban make agentic workflows powerful, they can also cause real damage without proper guardrails. Read this before giving any AI agent access to your environment.

Best Practices for Agentic AI

  1. Run locally first. Keep your board and agents on your own machine until you fully understand the behavior. Never expose an unauthenticated instance to the internet. Veritas Kanban does not include rate limiting β€” if you deploy publicly, add a reverse proxy (nginx, Caddy, Cloudflare) with rate limiting in front of it.

  2. Never trigger agents from uncontrolled inputs. Don't let inbound emails, webhooks from third parties, or public form submissions automatically spawn agent work. An attacker who can craft an input can control your agent.

  3. Principle of least privilege. Give agents the minimum permissions they need. Use the agent role (not admin) for API keys. Restrict file system access. Don't run agents as root.

  4. Review before merge. Agents can write code β€” that doesn't mean the code is correct or safe. Always review agent-generated code before merging to production branches. Use the built-in code review workflow.

  5. Set boundaries on destructive actions. Agents should not have unsupervised access to rm, git push --force, database drops, or production deployments. Require human approval for irreversible operations.

  6. Monitor and audit. Use time tracking and activity logs to understand what agents are doing. Review agent-completed tasks. Check git diffs before pushing.

  7. Rotate credentials regularly. If an agent has access to API keys, tokens, or secrets, rotate them on a schedule. Don't embed real credentials in task descriptions or prompts.

  8. Isolate environments. Run agents in containers, VMs, or sandboxed environments when possible. Keep agent workspaces separate from sensitive data.

The bottom line: Agentic AI is transformational, but it amplifies both your capabilities and your mistakes. Plan accordingly, start small, and add autonomy gradually as you build confidence in your guardrails.


✨ Feature Highlights

πŸ›‘οΈ Agent Governance (New in v4.0)

Policy Engine β€” Define what agents can and can't do. Configurable tool/action policies with allow, deny, and require-approval guard rules. Every policy decision is logged. Decision Audit Trail β€” Log agent decisions with confidence scores, supporting evidence, and stated assumptions. Record outcomes afterward to see whether assumptions held. Behavioral Drift Detection β€” Set metric baselines and thresholds; get alerted when an agent's behavior deviates. User Feedback Loop β€” Collect feedback on agent outputs with sentiment tagging and category analytics. Output Evaluation β€” Score agent outputs against weighted criteria profiles (regex, keyword, numeric range, custom expressions).

πŸ€– Agent Orchestration

Spawn autonomous coding agents on tasks. Track them in real-time with the multi-agent dashboard β€” status indicators, expandable agent cards, model attribution. Squad Chat gives agents a shared communication channel with system lifecycle events (spawned, completed, failed). Assign multiple agents per task, set permission levels (Intern/Specialist/Lead), and let them coordinate.

Agent orchestration

πŸ“Š Customizable Dashboard (New in v4.0)

Draggable & Resizable Widget Grid β€” Rearrange and resize dashboard widgets via drag-and-drop. Layouts persist across sessions. Add widgets from the library or remove ones you don't need. Global System Health Bar β€” Persistent header status bar with five health levels (stable β†’ alert) across three signal categories: system resources, agent availability, and operation success rate.

πŸ“ Prompt Template Registry (New in v4.0)

Version-controlled prompt templates with variable extraction, full version history with rollback, usage tracking, and preview rendering with sample variable injection. Manage your prompt library the same way you manage code.

⚑ Workflow Engine

Define multi-step agent pipelines as version-controlled YAML. Sequential steps, parallel fan-out/fan-in, loop iteration over collections, gate approvals with human-in-the-loop, and retry routing. Think GitHub Actions β€” but for AI agents. Live execution view with step-by-step progress. Monitoring dashboard with success rates, active runs, and per-workflow health metrics.

πŸ“‹ Task Intelligence

Not just cards on a board. Tasks have dependency graphs with cycle detection, crash-recovery checkpointing (auto-sanitizes secrets), observational memory with importance scoring, time tracking, and full activity logs. Enforcement gates (review gates, delegation enforcement, auto-telemetry) add production guardrails β€” all optional, all toggleable.

Task detail features demo

πŸ”€ Git-Native Development

Isolated worktrees per task β€” no branch switching, no conflicts. Built-in code review with unified diff viewer and inline comments. Approval workflows (approve, request changes, reject). Visual merge conflict resolution. Create GitHub PRs directly from the task detail panel. Bidirectional GitHub Issues sync with label mapping.

πŸ“ Zero Infrastructure

Tasks are markdown files. Settings are JSON. Workflows are YAML. No database, no Docker, no Redis. Clone, pnpm install, pnpm dev β€” done. Everything is grep-friendly, version-controllable, and human-readable. Back up your entire board with git push.

πŸ”Œ Three Integration Surfaces

  • MCP Server β€” 33+ tools across 7 categories via Model Context Protocol (v4.0 adds project management and comment CRUD)
  • CLI β€” vk begin <id> / vk done <id> "summary" replaces 6 API calls with 2 commands
  • REST API β€” Full lifecycle management. If it can make HTTP calls, it can drive the board.

πŸ“‹ Full feature reference with every config option: docs/FEATURES.md

πŸ“‹ Complete Feature List

Core Board

  • Drag-and-drop Kanban β€” Move tasks across To Do, In Progress, Blocked, Done
  • Markdown storage β€” Human-readable task files with YAML frontmatter
  • Dark/light mode β€” Toggle between dark and light themes in Settings

Code Workflow

  • Git worktrees β€” Isolated branches per task, automatic cleanup
  • Code review β€” Unified diff viewer with inline comments
  • Approval workflow β€” Approve, request changes, or reject
  • Merge conflicts β€” Visual conflict resolution UI
  • GitHub PRs β€” Create pull requests directly from task detail

AI Agents

  • Agent orchestration β€” Spawn autonomous coding agents on tasks
  • Custom agents β€” Add your own agents with any name and command; not limited to built-in types
  • Platform-agnostic API β€” REST endpoints work with any agentic platform
  • Built-in OpenClaw support β€” Native integration with OpenClaw
  • Squad Chat β€” Real-time agent-to-agent communication with WebSocket updates, system lifecycle events, model attribution per message, and configurable display names
  • @Mention notifications β€” @agent-name parsing in comments, thread subscriptions
  • Broadcast Notifications β€” Priority-based persistent notifications with read receipts and agent-specific delivery
  • Squad Chat Webhook β€” Configurable webhooks (generic HTTP or OpenClaw Direct) for external agent integration
  • Agent registry β€” Service discovery with heartbeat tracking, capabilities, and live status
  • Multi-agent dashboard β€” Real-time sidebar with expandable agent cards, status indicators
  • Multi-agent task assignment β€” Assign multiple agents per task with color-coded chips
  • Permission levels β€” Intern / Specialist / Lead tiers with approval workflows
  • Error learning β€” Structured failure analysis with similarity search
  • Task lifecycle hooks β€” 7 built-in hooks, 8 events, custom hooks API
  • Task Deliverables β€” First-class deliverable objects with type/status tracking (code, documentation, data, etc.)
  • Efficient Polling β€” /api/changes?since=... endpoint with ETag support for optimized agent polling
  • Approval Delegation β€” Vacation mode with scoped approval delegation and automatic routing
  • OpenClaw Integration β€” Direct gateway wake for real-time squad chat notifications and agent orchestration
  • Reverse Proxy Ready β€” Deploy behind nginx, Caddy, Traefik, or any reverse proxy with TRUST_PROXY
  • Multiple attempts β€” Retry with different agents, preserve history
  • Running indicator β€” Visual feedback when agents are working

Workflow Engine

  • YAML workflow definitions β€” Define multi-step agent orchestration pipelines as version-controlled YAML files
  • Visual execution β€” Live run view with step-by-step progress, status indicators, and output preview
  • Sequential & advanced step types β€” Agent steps, loop iteration, gate approval, parallel fan-out/fan-in
  • Loop steps β€” Iterate over collections with configurable completion policies (all_done, any_done, first_success)
  • Gate steps β€” Conditional blocking with human approval, timeout escalation, and expression-based conditions
  • Parallel steps β€” Execute multiple sub-steps concurrently with completion criteria (all, any, N-of-M)
  • Run state management β€” Persistent run state survives server restarts, retry with exponential backoff, resume blocked runs
  • Tool policies β€” Role-based tool restrictions (5 default roles: planner, developer, reviewer, tester, deployer) with custom role CRUD
  • Session isolation β€” Each workflow step runs in a fresh OpenClaw session with configurable context injection
  • Monitoring dashboard β€” Summary cards, live active runs table, recent history, per-workflow health metrics
  • Real-time updates β€” WebSocket-primary with polling fallback; 75% reduction in API calls when connected
  • Workflow API β€” 9 CRUD endpoints for workflow definitions, runs, and control
  • Enhanced acceptance criteria β€” Regex patterns, JSON path equality checks, substring matching for step validation
  • Security hardening β€” ReDoS protection, expression injection prevention, parallel DoS limits, gate approval validation
  • Progress file tracking β€” Shared progress.md per run for context passing between steps
  • Audit logging β€” Every workflow change logged to .veritas-kanban/workflows/.audit.jsonl
  • RBAC β€” Role-based access control for workflow execution, editing, and viewing

Enforcement Gates

  • squadChat β€” Auto-post task lifecycle events to squad chat
  • reviewGate β€” Require 4x10 review scores before task completion
  • closingComments β€” Require deliverable summary (β‰₯20 chars) before completion
  • autoTelemetry β€” Auto-emit run.started/run.completed on status changes
  • autoTimeTracking β€” Auto-start/stop timers on status changes
  • orchestratorDelegation β€” Warn when orchestrator does implementation work instead of delegating

Visibility & Automation

  • GitHub Issues sync β€” Bidirectional sync between GitHub Issues and your board
  • Activity page β€” Status history with clickable task navigation, color-coded badges, and daily summary
  • Daily standup summary β€” Generate standup reports via API or CLI (vk summary standup)
  • Task Templates β€” Create reusable templates with defaults, subtasks, and multi-task blueprints
  • Documentation freshness β€” Steward workflow with freshness headers and automated staleness detection
  • Cost prediction β€” Multi-factor cost estimation for tasks

Dashboard

  • Where Time Went β€” Time breakdown by project from telemetry data
  • Activity Clock β€” 24-hour donut chart showing agent work patterns
  • Hourly Activity β€” Bar chart with event counts per hour
  • Wall Time Toggle β€” Total agent time + average run duration
  • Session Metrics β€” Session count, success rate, completion tracking
  • Markdown rendering β€” Rich markdown in task descriptions and comments
  • Timezone-aware metrics β€” Server reports local timezone; clients can request metrics in any timezone via ?tz=
  • Analytics API β€” Timeline visualization and aggregate metrics (parallelism, throughput, lead time)

Organization

  • Subtasks β€” Break down complex work with progress tracking
  • Task dependencies β€” Bidirectional dependency graph with cycle detection, recursive tree API, and visual badges
  • Crash-recovery checkpointing β€” Save/resume/clear agent state with auto-sanitization of secrets
  • Observational memory β€” Per-task observations with importance scoring, full-text search, timeline view
  • Sprint management β€” Full sprint CRUD from CLI and MCP with suggestions engine
  • Archive β€” Searchable archive with one-click restore
  • Time tracking β€” Start/stop timer or manual entry
  • Activity log β€” Full history of task events

Settings & Customization

  • Modular settings β€” 8 focused tabs (General, Board, Tasks, Agents, Data, Notifications, Security, Manage)
  • Security hardened β€” XSS prevention, path traversal blocking, prototype pollution protection
  • WCAG 2.1 AA β€” Full accessibility with ARIA labels, keyboard navigation
  • Error boundaries β€” Crash isolation per tab with recovery options
  • Performance β€” Lazy-loaded tabs, memoized components, debounced saves
  • Import/Export β€” Backup and restore all settings with validation

Integration

  • CLI β€” vk command for terminal workflows
  • MCP Server β€” 33+ tools across 7 categories via Model Context Protocol
  • Notifications β€” Teams integration for task updates

πŸ› οΈ Tech Stack

Layer Technology Version
Frontend React, Vite, Tailwind CSS, Shadcn UI React 19, Vite 7.3, Tailwind 4.2
Backend Express, WebSocket Express 5.2
Language TypeScript (strict mode) 5.7
Storage Markdown files with YAML frontmatter gray-matter
Git simple-git, worktree management β€”
Testing Playwright (E2E), Vitest (unit) Playwright 1.58, Vitest 4
Runtime Node.js 22+
Package Manager pnpm 9+

πŸ† Why Veritas Kanban?

Most agentic AI tools fall into one of two camps: orchestration frameworks that are powerful but invisible (CrewAI, AutoGen, LangGraph) β€” or project boards that look nice but have zero agent awareness (Jira, Linear, Notion).

Veritas Kanban is neither. It's the visual command center for agentic work β€” where you can see what your agents are doing, what they've done, and what they're about to do, with full audit trails and production guardrails.

What makes VK different

Veritas Kanban CrewAI / AutoGen / LangGraph Jira / Linear / Plane
Visual task board βœ… Drag-and-drop Kanban ❌ Code-only, no UI βœ… Board UI
AI agent orchestration βœ… Native, multi-model βœ… Core purpose ❌ No agent story
YAML workflow pipelines βœ… Loops, gates, parallel ⚠️ Code-defined only ❌
Real-time agent dashboard βœ… Status, model attribution ❌ ❌
Agent communication βœ… Squad Chat with lifecycle events ⚠️ Internal only ❌
MCP server βœ… 33+ tools ❌ ❌
CLI βœ… Full lifecycle ❌ ⚠️ Limited
Git worktrees + code review βœ… Built-in ❌ ❌
Task persistence βœ… Markdown files ❌ In-memory βœ… Database
Enforcement gates βœ… 6 configurable gates ❌ ❌
Time + cost tracking βœ… Per-task, per-model ❌ ⚠️ Basic
No database required βœ… Files on disk βœ… ❌ Requires DB
Open source βœ… MIT ⚠️ Varies ⚠️ Varies
Platform-agnostic βœ… Any agent, any model ⚠️ Framework-locked N/A

The bottom line: Orchestration frameworks give you agent execution without visibility. Project boards give you visibility without agent execution. Veritas Kanban gives you both β€” plus the guardrails, telemetry, and audit trails that production agentic work demands.

Built and battle-tested with OpenClaw. Works with any platform that can make HTTP calls.


πŸ”„ How It Works

  Any AI Agent / CLI / MCP Client
           β”‚
           β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚      REST API + WebSocket    β”‚
β”‚    http://localhost:3001     β”‚
β”‚                              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚ Tasks β”‚  β”‚ Workflows β”‚    β”‚
β”‚  β”‚  API  β”‚  β”‚   Engine  β”‚    β”‚
β”‚  β””β”€β”€β”€β”¬β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜    β”‚
β”‚      β”‚            β”‚          β”‚
β”‚      β–Ό            β–Ό          β”‚
β”‚   Markdown    YAML Workflows β”‚
β”‚    Files       + Run State   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           β”‚
           β–Ό
   React 19 + Vite Frontend
   http://localhost:3000

The board is the source of truth. Agents interact via the REST API β€” create tasks, start workflows, update status, track time, submit completions. Workflows orchestrate multi-step agent pipelines with loops, gates, and parallel execution. The frontend reflects everything in real time over WebSocket. No vendor lock-in: if it can make HTTP calls, it can drive the board.


πŸ—οΈ Architecture

veritas-kanban/                  ← pnpm monorepo
β”‚
β”œβ”€β”€ web/                         ← React 19 + Vite frontend
β”‚   └── src/
β”‚       β”œβ”€β”€ components/          ← UI components (Shadcn + custom)
β”‚       β”œβ”€β”€ hooks/               ← React Query hooks, WebSocket
β”‚       └── lib/                 ← Utilities, API client
β”‚
β”œβ”€β”€ server/                      ← Express + WebSocket API
β”‚   └── src/
β”‚       β”œβ”€β”€ routes/              ← REST endpoints (/api/v1/*)
β”‚       β”œβ”€β”€ services/            ← Business logic
β”‚       └── middleware/          ← Auth, rate limiting, security
β”‚
β”œβ”€β”€ shared/                      ← TypeScript types & contracts
β”‚   └── src/types/               ← Shared between web & server
β”‚
β”œβ”€β”€ cli/                         ← `vk` CLI tool
β”œβ”€β”€ mcp/                         ← MCP server for AI assistants
β”œβ”€β”€ docs/                        ← Sprint & audit documentation
β”‚
β”œβ”€β”€ tasks/                       ← Task storage (Markdown files)
β”‚   β”œβ”€β”€ active/                  ← Current tasks (.gitignored)
β”‚   β”œβ”€β”€ archive/                 ← Archived tasks (.gitignored)
β”‚   └── examples/                ← Seed tasks for first-run
β”‚
└── .veritas-kanban/             ← Runtime config & data
    β”œβ”€β”€ config.json
    β”œβ”€β”€ workflows/               ← YAML workflow definitions
    β”œβ”€β”€ workflow-runs/           ← Run state & step outputs
    β”œβ”€β”€ tool-policies/           ← Role-based tool restrictions
    β”œβ”€β”€ worktrees/
    β”œβ”€β”€ logs/
    └── agent-requests/

Data flow: Web ↔ REST API / WebSocket ↔ Server ↔ Markdown/YAML files on disk


πŸ“– API Versioning

All API endpoints support versioned paths. The current (and default) version is v1.

Path Description
/api/v1/tasks Canonical versioned endpoint
/api/tasks Backwards-compatible alias (same as v1)

Every response includes an X-API-Version: v1 header. Clients may optionally request a specific version:

curl -H "X-API-Version: v1" http://localhost:3001/api/tasks
  • Non-breaking changes (new fields, new endpoints) are added to the current version.
  • Breaking changes will introduce a new version (v2). The previous version remains available during a deprecation period.
  • The unversioned /api/... alias always points to the latest stable version.

πŸ’» CLI

πŸ“– Comprehensive CLI guide: docs/CLI-GUIDE.md β€” installation, every command, scripting examples, and tips.

Manage your entire task lifecycle with two commands.

# Install globally
cd cli && npm link

Setup & Onboarding

vk setup                         # Guided environment check + sample task
vk setup --skip-task             # Check only, no sample task
vk setup --json                  # Machine-readable output

Validates Node version, server health, API auth, and optionally creates a welcome task to get you started.

Workflow Commands

The vk begin and vk done commands replace multi-step API workflows with single commands. Inspired by Boris Cherny's (Claude Code creator) philosophy: "automate everything you do twice."

Before (6 separate curl calls):

curl -X PATCH http://localhost:3001/api/tasks/<id> -H "Content-Type: application/json" -d '{"status":"in-progress"}'
curl -X POST http://localhost:3001/api/tasks/<id>/time/start
curl -X POST http://localhost:3001/api/agent/status -H "Content-Type: application/json" -d '{"status":"working","taskId":"<id>","taskTitle":"Title"}'
# ... work happens ...
curl -X POST http://localhost:3001/api/tasks/<id>/time/stop
curl -X PATCH http://localhost:3001/api/tasks/<id> -H "Content-Type: application/json" -d '{"status":"done"}'
curl -X POST http://localhost:3001/api/tasks/<id>/comments -H "Content-Type: application/json" -d '{"author":"agent","text":"summary"}'

After (2 commands):

vk begin <id>                    # β†’ in-progress + timer + agent working
vk done <id> "Added OAuth"       # β†’ timer stop + done + comment + agent idle
Command What It Does
vk begin <id> Sets in-progress + starts timer + agent status β†’ working
vk done <id> "summary" Stops timer + sets done + adds comment + agent status β†’ idle
vk block <id> "reason" Sets blocked + adds comment with reason
vk unblock <id> Sets in-progress + restarts timer

Basic Task Management

vk list                          # List all tasks
vk list --status in-progress     # Filter by status
vk show <id>                     # Task details
vk create "Title" --type code    # Create task
vk update <id> --status review   # Update task

Time Tracking

vk time start <id>               # Start time tracker
vk time stop <id>                # Stop time tracker
vk time entry <id> 3600 "desc"   # Add manual entry (seconds)
vk time show <id>                # Display time summary

Comments

vk comment <id> "Fixed the bug"           # Add comment
vk comment <id> "Done" --author Veritas    # With author

Agent Status

vk agent status                  # Show current agent status
vk agent working <id>            # Set to working (auto-fetches title)
vk agent idle                    # Set to idle
vk agent sub-agent 3             # Set sub-agent mode with count

Project Management

vk project list                  # List all projects
vk project create "my-app" --color "#7c3aed" --description "Main app"

GitHub Sync

vk github sync                   # Trigger manual sync
vk github status                 # Show sync status
vk github config                 # View/update configuration
vk github mappings               # List issue↔task mappings

Agent Commands

vk agents:pending                # List pending agent requests
vk agents:status <id>            # Check if agent running
vk agents:complete <id> -s       # Mark agent complete

Utilities

vk summary                       # Project stats
vk summary standup               # Daily standup summary
vk notify:pending                # Check notifications

All commands support --json for scripting and machine consumption.


πŸ€– Agent Integration

Veritas Kanban works with any agentic platform that can make HTTP calls. The REST API covers the full task lifecycle β€” create, update, track time, complete.

Built and tested with OpenClaw (formerly Clawdbot/Moltbot), which provides native orchestration via sessions_spawn. The built-in agent service targets OpenClaw β€” PRs welcome for adapters to other platforms.

How It Works

  1. Start Agent β€” Click "Start Agent" in the UI on a code task (or hit the API directly)
  2. Request Created β€” Server writes to .veritas-kanban/agent-requests/
  3. Agent Picks Up β€” Your agent reads the request and begins work
  4. Work Happens β€” Agent updates task status, tracks time, commits code
  5. Completion β€” Agent calls the completion endpoint with results
  6. Task Updates β€” Status moves to Review, notifications sent

Any Platform (REST API)

πŸ’‘ Using the CLI? Skip the curl commands β€” vk begin <id> and vk done <id> "summary" handle the full lifecycle in one shot. See the CLI Guide for details.

# Create a task
curl -X POST http://localhost:3001/api/tasks \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $YOUR_KEY" \
  -d '{"title": "Implement feature X", "type": "code", "status": "in-progress"}'

# Start time tracking
curl -X POST http://localhost:3001/api/tasks/<id>/time/start \
  -H "X-API-Key: $YOUR_KEY"

# Mark complete
curl -X POST http://localhost:3001/api/agents/<id>/complete \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $YOUR_KEY" \
  -d '{"success": true, "summary": "What was done"}'

GitHub Issues Sync

# Trigger a manual sync
curl -X POST http://localhost:3001/api/github/sync \
  -H "X-API-Key: $YOUR_KEY"

# Check sync status
curl http://localhost:3001/api/github/sync/status \
  -H "X-API-Key: $YOUR_KEY"

Issues with the kanban label are imported as tasks. Status changes push back (done β†’ close, reopen on todo/in-progress/blocked). Labels like priority:high and type:story map to task fields. Configure in .veritas-kanban/integrations.json.

OpenClaw (Native)

# Check for pending agent requests
vk agents:pending

# OpenClaw sub-agents use sessions_spawn to execute work,
# then call the completion endpoint automatically.

πŸ”— MCP Server

33+ tools across 7 categories (tasks, agents, automation, notifications, summaries, sprints, projects) via Model Context Protocol.

β†’ Full MCP documentation β€” architecture, quickstart, tool catalog with examples, security model, and troubleshooting.

Quick config (Claude Desktop / Cursor / OpenClaw):

{
  "mcpServers": {
    "veritas-kanban": {
      "command": "node",
      "args": ["/path/to/veritas-kanban/mcp/dist/index.js"],
      "env": {
        "VK_API_URL": "http://localhost:3001"
      }
    }
  }
}

After adding the config, restart OpenClaw:

openclaw gateway restart

Verify discovery with openclaw mcp list. See Troubleshooting if the server doesn't appear.

Troubleshooting MCP connection issues:

  • Always restart OpenClaw after MCP config changes β€” MCP servers are discovered at startup
  • Verify tools are available: Run openclaw mcp list to confirm 26 Veritas Kanban tools appear
  • When reporting issues, provide:
    • OpenClaw version (openclaw --version)
    • VK version and health (curl http://localhost:3001/api/health)
    • MCP logs (~/.openclaw/logs/mcp.log on macOS/Linux)
    • API accessibility test (curl -H "X-API-Key: your-key" http://localhost:3001/api/tasks)

See full MCP troubleshooting guide for details.

πŸ“„ Task Format

Tasks are markdown files with YAML frontmatter:

---
id: 'task_20260126_abc123'
title: 'Implement feature X'
type: 'code'
status: 'in-progress'
priority: 'high'
project: 'rubicon'
git:
  repo: 'my-project'
  branch: 'feature/task_abc123'
  baseBranch: 'main'
---

## Description

Task details here...

πŸ§‘β€πŸ’» Development

pnpm dev        # Start dev servers (web + API concurrently)
pnpm build      # Production build
pnpm typecheck  # TypeScript strict check
pnpm lint       # ESLint
pnpm test       # Unit tests (Vitest)
pnpm test:e2e   # E2E tests (Playwright)

πŸ“š Documentation

Document Description
Features Complete feature reference
API Reference Auth, endpoints, WebSocket docs
CLI Guide Comprehensive CLI usage guide
Self-Hosting Guide Production deployment, reverse proxy, Docker
Deployment Docker, bare metal, env config
Troubleshooting Common issues & solutions
Contributing How to contribute, PR guidelines
Security Policy Vulnerability reporting
Code of Conduct Community guidelines
Changelog Release history
Sprint Docs Sprint planning & audit reports

πŸ“Έ Screenshots

Click to expand screenshots

Board Overview

Main board view Board with tasks
Board columns Board dark mode

Task Management

New task dialog Task details panel
Task details list view Apply task template

Task Extras

Task metrics Task attachments
Activity log Archive

Metrics & Dashboard

Metrics overview Token usage
Failed runs Export metrics

Settings

General settings Board settings
Task settings Agent settings
Data settings Notification settings
Security settings Manage settings

Menus & Activity

Agent activity WebSocket activity
Keyboard shortcuts Security menu

πŸ—ΊοΈ Roadmap

See the open issues for what's next. Community contributions welcome!

Shipped in v4.0.0

  • #178 β€” Agent Policy & Guard Engine β€” Configurable tool/action policies with allow/deny/require-approval guard rules
  • #179 β€” Decision Audit Trail with Assumption Tracking β€” Log decisions with confidence scores, evidence, and outcome tracking
  • #180 β€” Agent Output Evaluation & Scoring Framework β€” Weighted criteria profiles with composite scoring
  • #181 β€” Behavioral Drift Detection & Alerting β€” Metric baselines with configurable alert thresholds
  • #182 β€” User Feedback Loop with Sentiment Analytics β€” Feedback collection with sentiment tagging and aggregate analytics
  • #183 β€” Draggable & Resizable Dashboard Widget Grid β€” Drag-and-drop layout with persistence
  • #184 β€” Prompt Template Registry with Version Control β€” Versioned templates with rollback and usage tracking
  • #185 β€” Global System Health Status Bar β€” Five health levels across system, agents, and operations signals
  • #186 β€” Upgrade to shadcn/ui CLI v4.0 β€” All components updated with Tailwind v4 integration

Backlog

Shipped in v3.3.x

  • Task Dependencies Graph β€” Bidirectional dependency model with cycle detection, recursive tree API, visual badges
  • Crash-Recovery Checkpointing β€” Save/resume/clear agent state with auto-sanitization of secrets, 1MB limit, 24h expiry
  • Observational Memory β€” Per-task observations with importance scoring (1-10), full-text search, timeline view
  • Agent Filter β€” Query tasks by agent name with ?agent=name parameter
  • Sprint Management CLI + MCP β€” Full sprint CRUD from command line and MCP (list, create, update, delete, close, suggestions)
  • Task↔Agent State Sync β€” Bi-directional sync engine keeping task state consistent with agent execution
  • Orchestrator Delegation Enforcement β€” Full enforcement gate with delegation violation reporting
  • Express 5 + Vite 7 + Tailwind 4 + Zod 4 migration β€” Major dependency upgrades
  • SSRF Webhook Protection β€” Server-side request forgery safeguards
  • WebSocket Broadcast Batching β€” Prevents event loop blocking under high-frequency updates

Shipped in v3.2.0

  • Markdown Editor β€” Rich editing toolbar, live preview, keyboard shortcuts (Ctrl+B/I/K) for task descriptions and comments
  • Shared Resources Registry β€” Reusable resources (prompts, guidelines, templates) mountable across projects
  • Documentation Freshness β€” Staleness tracking with freshness scores, alerts, and auto-review task creation
  • Docker Auth Persistence β€” Fixed auth state wiped on container rebuild; added automatic migration

Shipped in v2.1.2

  • Docker Path Resolution β€” Fixed WORKDIR resolution for .veritas-kanban directory in containerized deployments

Shipped in v2.1.1

  • Reverse Proxy Support β€” Added TRUST_PROXY environment variable for nginx, Caddy, Traefik, and other reverse proxies
  • Prompts Registry β€” Centralized prompt templates with versioning and agent-specific customization

Shipped in v2.0.0

Shipped in v1.6.0

Shipped in v1.1.0–v1.3.0


πŸ’¬ Support

All support and feature requests go through GitHub:

Note: Support is not provided via email or social media. GitHub is the single source of truth for all project communication.


πŸ™ Acknowledgments

Special thanks to Peter Steinberger and OpenClaw (formerly Clawdbot/Moltbot) β€” the platform that inspired this project and made autonomous agent orchestration feel like magic.


πŸ“œ License

MIT Β© 2026 Digital Meld


Made in Texas with πŸ’œ

Originally built for OpenClaw. Works with any agentic platform.

About

The unfiltered truth about where your project stands. Lightweight orchestration platform built for the agentic AI era.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors