MCPcopy Index your code
hub / github.com/Kotodian/siege

github.com/Kotodian/siege @v0.3.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.3.1 ↗ · + Follow
762 symbols 1,844 edges 190 files 11 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Siege

AI-Powered Agent Development Tool



<a href="https://github.com/Kotodian/siege/raw/v0.3.1/README_CN.md">中文文档</a>



<em>From design to implementation, all in one place.</em>


Why Siege?

Siege wraps Claude Code / Codex into a full development lifecycle manager with a visual UI:

 Plan  →  Scheme  →  Schedule  →  Execute  →  Review  →  Test
  │         │          │            │           │          │
Describe   AI Gen    Gantt       Claude      Diff View   AI Gen
+ Tags    + Edit    Timeline   Code/Codex   + Findings  + Run
  • Persistent context — Projects, plans, schemes, and execution logs are all stored in SQLite. Pick up where you left off.
  • Structured design — AI generates technical schemes before writing any code. Review and refine via chat.
  • Visual task scheduling — AI breaks work into ordered tasks displayed on a Gantt chart.
  • GitHub PR-style code reviewgit diff with syntax highlighting, file tree, inline AI findings, one-click fix.
  • AI-powered testing — Auto-generate and run test cases based on actual code changes.
  • Multi-provider AI — Anthropic (Claude), OpenAI (GPT), GLM (ZhiPu). Works with API keys, proxy relays, or Claude subscription login.

Screenshots

Projects Project List — Monolith Dark Theme Plan Plan Detail — Sidebar Workflow Navigation
Scheme AI-Generated Technical Scheme Schedule Gantt Chart + Auto-Execute Timeline
Review Code Review — Diff Viewer + Findings Settings AI Provider Configuration

Core Workflow

1. Create Project — Select a local repo. AI auto-detects CLAUDE.md for project context.

2. Create Plan — Describe what you want to build. Organize in folders, tag as feature/bug/refactor.

3. Generate Scheme — AI analyzes code and produces technical proposals. Edit, review, or refine via chat.

4. Generate Schedule — AI breaks confirmed schemes into executable tasks with a Gantt chart timeline.

5. Execute — Auto-execute runs tasks sequentially. Each task uses focused prompts with context from previous tasks.

6. Code Review — View git diff with syntax highlighting, file tree navigation, and inline AI findings.

7. Test — Select completed tasks, AI generates test cases from actual code changes.

Features

AI Integration

  • Multi-provider: Anthropic (Claude), OpenAI (GPT), GLM (ZhiPu)
  • Model selection: Dropdown model picker on every AI action
  • Proxy support: Custom base URL for API relays
  • Claude Code / Codex ACP: Agent Client Protocol, no API key needed
  • Session reuse: Subsequent AI calls resume the session for context continuity

Execution

  • Auto-execute: One click to run all tasks sequentially
  • Skills injection: Select from custom + plugin skills per task
  • File snapshot capture: Per-task incremental diffs for accurate code review

Code Review

  • Git diff viewer with syntax highlighting
  • Task filter: View diffs from a specific task
  • File tree sidebar grouped by task with +/- stats
  • Findings grouped by task: Collapsible panels with unresolved count
  • "Fix All" button: Bulk AI fix for all unresolved findings
  • One-click "AI Fix" — apply suggestions directly to files

Testing

  • Task-based generation: AI generates tests from actual code changes
  • Tests grouped by task: Visual pass/fail per task group
  • Run all with progress: Shows execution status per test

Multi-Source Import

  • Markdown — import plans from .md files
  • Notion — search pages/databases, import with blocks-to-markdown
  • Jira — search Epics/Stories via JQL
  • Confluence — search pages via CQL
  • Feishu — search wiki docs with block-level conversion
  • GitHub Issues / GitLab Issues — search and import issues
  • MCP Server — connect any MCP server, import resources as plans

Design System

  • Monolith — deep obsidian dark theme with tonal surface layering
  • No-border rule — boundaries defined through background color shifts, not lines
  • Space Grotesk + Inter typography for editorial precision
  • Sidebar workflow navigation on plan detail pages

Quick Start

git clone https://github.com/Kotodian/siege.git
cd siege
npm install
npm run dev

Open http://localhost:3000 — the onboarding guide walks you through setup.

Prerequisites

  • Node.js 20+
  • Claude Code (claude CLI) — for ACP engine (recommended)
  • GitHub CLI (gh) — optional, for PR integration

Deploy

Direct

npm run build
PORT=3000 npm start

Docker

docker build -t siege .
docker run -d -p 3000:3000 -v siege-data:/app/data siege

Data

  • Database: ./data/siege.db (SQLite, auto-created)
  • Set DATA_DIR environment variable to change the data directory

Tech Stack

Layer Technology
Framework Next.js 16 (App Router)
Language TypeScript
Database SQLite (Drizzle ORM + better-sqlite3)
Styling Tailwind CSS 4
Design Monolith dark theme
AI SDK Vercel AI SDK + Claude/Codex CLI fallback
i18n next-intl
Charts frappe-gantt
Testing Vitest

Development

npm test              # Run all tests
npm run test:watch    # Watch mode
npm run build         # Production build
npx drizzle-kit generate  # DB migration after schema change

License

MIT

Extension points exported contracts — how you extend this code

GanttTask (Interface)
(no doc)
src/types/frappe-gantt.d.ts
MarkdownEditorProps (Interface)
(no doc)
src/components/markdown/markdown-editor.tsx
StructuredScheme (Interface)
(no doc)
src/lib/scheme-types.ts
Plan (Interface)
(no doc)
src/app/[locale]/projects/[projectId]/plans/[planId]/page.tsx
GanttOptions (Interface)
(no doc)
src/types/frappe-gantt.d.ts
MarkdownRendererProps (Interface)
(no doc)
src/components/markdown/markdown-renderer.tsx
DiffLine (Interface)
(no doc)
src/lib/diff.ts
NavItem (Interface)
(no doc)
src/app/[locale]/projects/[projectId]/plans/[planId]/page.tsx

Core symbols most depended-on inside this repo

getDb
called by 102
src/lib/db/index.ts
parseJsonBody
called by 22
src/lib/utils.ts
sseEncode
called by 20
src/lib/ai/sse.ts
references
called by 17
src/lib/lsp/client.ts
getStepModel
called by 15
src/lib/ai/config.ts
fetchSchedule
called by 13
src/components/schedule/schedule-view.tsx
getSetting
called by 12
src/lib/ai/config.ts
resolveStepConfig
called by 12
src/lib/ai/config.ts

Shape

Function 563
Interface 156
Method 35
Class 8

Languages

TypeScript100%

Modules by API surface

src/components/ui/icons.tsx46 symbols
src/app/[locale]/settings/page.tsx22 symbols
src/components/schedule/schedule-view.tsx21 symbols
src/components/review/review-panel.tsx21 symbols
src/lib/acp/client.ts20 symbols
src/components/test/test-view.tsx19 symbols
src/lib/lsp/client.ts16 symbols
src/components/scheme/scheme-sections.tsx14 symbols
src/components/repo-picker/repo-picker.tsx13 symbols
src/components/plan/plan-list.tsx13 symbols
src/lib/import/mcp-source.ts12 symbols
src/components/plan/import-plan-dialog.tsx12 symbols

For agents

$ claude mcp add siege \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact