KittyClaw
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
This tool is a kanban board designed to orchestrate AI-driven software projects. It manages tickets and workflow stages by dispatching AI agents as local background subprocesses to handle tasks like programming, testing, and code review.
Security Assessment
Overall Risk: Medium. The application actively spawns external shell subprocesses, explicitly requiring both the Claude Code CLI and Git to be available on the system PATH. It maps workspaces to local folders and automatically executes git commands within them. No hardcoded secrets were found in the scanned code, and it does not request dangerous overarching system permissions. However, the inherent nature of allowing an automated system to execute CLI commands and modify local files via AI agents introduces significant execution risks.
Quality Assessment
The codebase is relatively small and very new, reflected by its low community visibility (only 6 GitHub stars). Despite the low visibility, the project is actively maintained, having received updates as recently as today. It benefits from an approved MIT license, a clear description, and the provided README is highly detailed and transparent about its requirements and local data storage architecture.
Verdict
Use with caution — the code itself is clean, transparent, and seemingly safe, but granting an automated AI agent the ability to spawn CLI subprocesses and modify local files carries inherent execution risks that require strict oversight.
A kanban board for managing projects with tickets, columns, labels, and activity tracking — designed to be driven by AI agents via its API.
KittyClaw
A kanban board that orchestrates agentic projects. Each column is a workflow stage (Backlog, Todo, InProgress, Review, Done, Blocked). Each project has members that can be human owners or LLM agents (programmer, groomer, producer, qa-tester, committer, code-janitor, evaluator). A background AutomationEngine dispatches these agents based on triggers (column changes, comments, intervals, git commits, …), running them as claude CLI subprocesses whose output streams into an in-app drawer.
Tech Stack
- .NET 10 / Blazor Server (interactive SSR)
- SQLite via Entity Framework Core (one DB per project)
- OpenAPI with auto-generated Markdown docs
- External: Claude Code CLI + Git (required on PATH for agent dispatch and auto-commits)
Getting Started
Prerequisites
- .NET 10 SDK
- Claude Code CLI —
claudeon your PATH - Git —
giton your PATH
On first launch an onboarding popup detects whether claude and git are available. You can continue without them, but agent runs and auto-commits will fail until they are installed and on the PATH.
Run
From the repo root:
run.bat (Windows)
./run.sh (macOS / Linux)
Both wrap dotnet watch --project KittyClaw.Web --non-interactive and serve the app at http://localhost:5230 with hot reload enabled.
Creating a project
From the home page, type a name and click Create. A popup asks you to set a workspace folder (absolute path to a repo/folder) and offers to create it if missing. Click Initialize to:
- Create the project registry entry + per-project SQLite DB.
- Copy the agent template (
.agents/preamble.md,.agents/{agent}/SKILL.md, emptymemory.md,automations.json) into<workspace>/.agents/. - Run
git initif the workspace is not already a git repo (skipped ifgitisn't installed). - Create a member for each agent slug found in the template.
- Navigate to the board.
The workspace folder itself is never deleted by KittyClaw, even when you delete a project.
Data Storage
All KittyClaw data is stored locally in %APPDATA%/KittyClaw/:
registry.db— project registryprojects/{slug}.db— per-project database (tickets, comments, labels, columns, members)uploads/— uploaded imagesruns/{runId}.json— agent run snapshots (events, status, exit code)settings.json— language + onboarding flag
Per-project agent state lives in the workspace: <workspace>/.agents/{agent}/memory.md, <workspace>/.agents/channel/ (session state), etc.
Project Structure
| Project | Description |
|---|---|
| KittyClaw.Core | Domain models, EF Core contexts, services, automation engine, embedded .agents/ template |
| KittyClaw.Core.Tests | xUnit tests (conditions, triggers, signals, JSON polymorphism) |
| KittyClaw.Web | Blazor Server UI + REST API |
API
All endpoints are under /api. The documentation is auto-generated from the live OpenAPI spec:
- Human-readable Markdown:
GET http://localhost:5230/api/docs - Machine-readable JSON:
GET http://localhost:5230/openapi/v1.json
For AI Agents
This app is designed to be operated by AI agents through its REST API. Here's how to get started:
- Read the live API docs at
http://localhost:5230/api/docs— every endpoint, request/response example, and schema, always up to date with the running server. - Identify yourself — use
"agent:{your-name}"as theauthor/createdByfield (e.g."agent:claude"). The human user is"owner". - Discover the board — call
GET /api/projectsfirst, thenGET /api/projects/{slug}/columnsto learn the workflow stages andGET /api/projects/{slug}/membersfor assignable members. - Use the right status — ticket statuses must match existing column names. Fetch columns before moving tickets.
- Track your work — add comments on tickets to explain what you did or what you need. Use
@mentionsto notify members and#idto reference other tickets. - Labels & priority — use
GET /api/projects/{slug}/labelsto discover available labels, and set priority toIdea,NiceToHave,Required, orCritical. - Check mentions — call
GET /api/projects/{slug}/mentions/{your-handle}to find tickets that mention you. - Sub-tickets — set
parentIdwhen creating a ticket to make it a child. UsePUT /api/projects/{slug}/tickets/{id}/parentto reparent, orDELETEit to detach. List sub-tickets with?parentId={id}.
Conventions
- Author format:
"owner"for the human user,"agent:{name}"for AI agents - Priority levels:
Idea,NiceToHave,Required,Critical - Default column:
Backlog
UI Features
- Onboarding popup on first launch with Claude Code + Git detection
- Project creation popup with workspace selection + one-click agent template initialization
- Kanban board with drag-and-drop
- Ticket detail panel with comments and activity timeline
- Live agent run drawer (SSE stream of Claude Code output, steer + stop controls)
- New-instruction chat drawer to send an ad-hoc prompt to an agent
- Automations page: list, enable/disable, edit (triggers / conditions / actions), reload from disk, re-initialize agent template
- Markdown rendering with
@mentionand#ticketreference support - Advanced search syntax:
#42,@owner,>date,priority:critical,label:bug,by:owner - Sub-tickets with parent/child relationships and progress tracking
- Column management (create, reorder, customize colors)
- Label and member management
- Image upload in descriptions and comments
Automation model
- Triggers:
interval,ticketInColumn,statusChange,subTicketStatus,ticketCommentAdded,gitCommit,boardIdle,agentInactivity. - Conditions:
ticketInColumn,ticketCountInColumn,fieldLength,priority,labels,assignedTo,hasParent,allSubTicketsInStatus,ticketAge. - Actions:
runAgent,moveTicketStatus,setLabels,assignTicket,addComment,commitAgentMemory,executePowerShell. {assignee}placeholder inrunAgent.agent/runAgent.concurrencyGroupresolves from the firing ticket'sassignedTo.- Every
runAgentshould be followed bycommitAgentMemoryto auto-commit the agent'smemory.mdchanges.
More Projects & Contact
Check out my other projects at ekioo.com.
Follow me on X: @DamienHOFFSCHIR
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found