KittyClaw

agent
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 6 GitHub stars
Code Gecti
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested
Purpose
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.
SUMMARY

A kanban board for managing projects with tickets, columns, labels, and activity tracking — designed to be driven by AI agents via its API.

README.md

KittyClaw

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

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:

  1. Create the project registry entry + per-project SQLite DB.
  2. Copy the agent template (.agents/preamble.md, .agents/{agent}/SKILL.md, empty memory.md, automations.json) into <workspace>/.agents/.
  3. Run git init if the workspace is not already a git repo (skipped if git isn't installed).
  4. Create a member for each agent slug found in the template.
  5. 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 registry
  • projects/{slug}.db — per-project database (tickets, comments, labels, columns, members)
  • uploads/ — uploaded images
  • runs/{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:

  1. 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.
  2. Identify yourself — use "agent:{your-name}" as the author / createdBy field (e.g. "agent:claude"). The human user is "owner".
  3. Discover the board — call GET /api/projects first, then GET /api/projects/{slug}/columns to learn the workflow stages and GET /api/projects/{slug}/members for assignable members.
  4. Use the right status — ticket statuses must match existing column names. Fetch columns before moving tickets.
  5. Track your work — add comments on tickets to explain what you did or what you need. Use @mentions to notify members and #id to reference other tickets.
  6. Labels & priority — use GET /api/projects/{slug}/labels to discover available labels, and set priority to Idea, NiceToHave, Required, or Critical.
  7. Check mentions — call GET /api/projects/{slug}/mentions/{your-handle} to find tickets that mention you.
  8. Sub-tickets — set parentId when creating a ticket to make it a child. Use PUT /api/projects/{slug}/tickets/{id}/parent to reparent, or DELETE it 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 @mention and #ticket reference 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 in runAgent.agent / runAgent.concurrencyGroup resolves from the firing ticket's assignedTo.
  • Every runAgent should be followed by commitAgentMemory to auto-commit the agent's memory.md changes.

More Projects & Contact

Check out my other projects at ekioo.com.

Follow me on X: @DamienHOFFSCHIR

Yorumlar (0)

Sonuc bulunamadi