Skip to content

Commit 4c4dd3e

Browse files
okurucanclaude
andcommitted
Initial commit
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0 parents  commit 4c4dd3e

File tree

117 files changed

+19344
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+19344
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
build/bin
2+
node_modules
3+
frontend/dist

README.md

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
<p align="center">
2+
<img src="build/appicon.png" width="128" height="128" alt="Shannon" />
3+
</p>
4+
5+
<h1 align="center">Shannon</h1>
6+
7+
<p align="center">
8+
<em>A personal orchestration tool for Claude Code agents</em>
9+
</p>
10+
11+
<p align="center">
12+
<img src="https://img.shields.io/badge/Claude_Code-CLI-blue?style=flat-square" alt="Claude Code" />
13+
<img src="https://img.shields.io/badge/Go-1.23-00ADD8?style=flat-square&logo=go&logoColor=white" alt="Go" />
14+
<img src="https://img.shields.io/badge/React-18.2-61DAFB?style=flat-square&logo=react&logoColor=black" alt="React" />
15+
<img src="https://img.shields.io/badge/Wails-v2-red?style=flat-square" alt="Wails" />
16+
<img src="https://img.shields.io/badge/hobby_project-purple?style=flat-square" alt="Hobby Project" />
17+
</p>
18+
19+
---
20+
21+
Shannon is a desktop app that lets you manage **multiple Claude Code instances** working together on your projects. Instead of running one Claude at a time, you create agents with different roles, organize them into teams, and let them tackle tasks in parallel — then review everything before it touches your codebase.
22+
23+
Named after [Claude Shannon](https://en.wikipedia.org/wiki/Claude_Shannon), the father of information theory. The connection felt right.
24+
25+
> **Note:** This is a hobby project. Built for personal use, shared in case others find it useful.
26+
27+
## What it does
28+
29+
**The core loop is simple:** Plan tasks → Assign agents → Execute → Review changes → Apply.
30+
31+
Shannon sits between you and your Claude Code CLI. You define agents with specific system prompts and tool permissions, group them into teams, then point them at your project. Shannon handles the rest — spinning up isolated workspaces, managing execution order, and presenting you with a clean diff review before anything changes.
32+
33+
### Agents & Teams
34+
35+
Create agents with different specializations. A frontend agent, a backend agent, a test writer — each with their own system prompt, model preference, and allowed tools. Then organize them into teams with one of three execution strategies:
36+
37+
- **Parallel** — all agents work simultaneously
38+
- **Sequential** — agents chain one after another
39+
- **Custom** — you draw the execution graph on a visual canvas
40+
41+
### Planning
42+
43+
Describe what you want to accomplish. Shannon uses Claude to break your goal into concrete tasks, figures out dependencies, and assigns them to your agents. You can edit everything before hitting start.
44+
45+
There's also a prompt improver that helps refine agent system prompts — useful when you're not sure how to describe a specialization.
46+
47+
### Execution & Monitoring
48+
49+
Once a session starts, Shannon creates isolated workspace copies of your project for each task. You can watch execution in real-time through a DAG visualization that shows task status, dependencies, and progress. A live chat view streams Claude's output as it works.
50+
51+
### Code Review
52+
53+
This is where Shannon earns its keep. Every change goes through a diff review:
54+
55+
- **Hunk-level** — accept or reject individual code chunks
56+
- **File-level** — approve or reject entire files
57+
- **Feedback loop** — reject with a reason, and Shannon sends your feedback back to Claude for iteration
58+
- **Inline editing** — modify workspace files directly in the built-in Monaco editor
59+
60+
Nothing touches your project until you explicitly approve it.
61+
62+
### MCP Integration
63+
64+
Browse and install MCP servers from the [Smithery](https://smithery.ai/) registry, or configure your own. Attach them to agents to extend their capabilities — web browsing, database access, API integrations, whatever you need.
65+
66+
## Tech Stack
67+
68+
| Layer | Tech |
69+
|-------|------|
70+
| Desktop shell | [Wails v2](https://wails.io/) (Go + WebView) |
71+
| Backend | Go 1.23, SQLite (GORM) |
72+
| Frontend | React 18, TypeScript, Tailwind CSS |
73+
| Code editor | Monaco Editor |
74+
| Graph viz | React Flow (XYFlow) + Dagre |
75+
| State | Zustand |
76+
| AI engine | Claude Code CLI |
77+
78+
## Prerequisites
79+
80+
- [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code) installed and authenticated
81+
- [Wails v2](https://wails.io/docs/gettingstarted/installation) development environment
82+
- Go 1.23+
83+
- Node.js 18+
84+
85+
## Getting Started
86+
87+
```bash
88+
# Clone
89+
git clone https://github.com/yourusername/shannon.git
90+
cd shannon
91+
92+
# Install frontend dependencies
93+
cd frontend && npm install && cd ..
94+
95+
# Run in development mode
96+
wails dev
97+
98+
# Build for production
99+
wails build
100+
```
101+
102+
## Project Structure
103+
104+
```
105+
shannon/
106+
├── backend/
107+
│ ├── claude/ # Claude Code CLI integration
108+
│ ├── config/ # App configuration
109+
│ ├── models/ # Data models (Agent, Team, Session, Task...)
110+
│ ├── services/ # Business logic (TaskEngine, Planner, DiffTracker...)
111+
│ └── store/ # SQLite database operations
112+
├── frontend/
113+
│ ├── src/
114+
│ │ ├── assets/ # Logo, fonts
115+
│ │ ├── components/# Shared UI components
116+
│ │ ├── pages/ # Dashboard, Agents, Teams, Sessions, Workspace...
117+
│ │ ├── stores/ # Zustand state stores
118+
│ │ └── types/ # TypeScript type definitions
119+
│ └── index.html
120+
├── build/ # App icons and build assets
121+
├── app.go # Wails bindings (all exposed methods)
122+
└── main.go # Entry point
123+
```
124+
125+
## How it works, roughly
126+
127+
```
128+
You
129+
130+
├─ Define agents (system prompt, model, tools, MCP servers)
131+
├─ Create a team (parallel / sequential / custom graph)
132+
├─ Start a session on a project
133+
134+
├─ Shannon plans tasks (or you write them manually)
135+
├─ Each task gets an isolated workspace (copy of your project)
136+
├─ Claude Code CLI runs in each workspace
137+
138+
├─ You review diffs (hunk by hunk or file by file)
139+
├─ Reject with feedback → Claude iterates
140+
└─ Accept → changes applied to your project
141+
```
142+
143+
## Limitations
144+
145+
- Requires Claude Code CLI — this is not a standalone AI tool
146+
- Workspace copies can use significant disk space for large projects
147+
- No remote/cloud mode — it's a local desktop app
148+
- Hobby project — expect rough edges
149+
150+
## License
151+
152+
MIT
153+
154+
---
155+
156+
<p align="center">
157+
<sub>Built with curiosity and too many Claude API calls.</sub>
158+
</p>

0 commit comments

Comments
 (0)