Claude Code UI-native autonomous development system with git-first architecture
Project description
Flow-Claude
Flow-Claude: Git-native parallel task orchestration for Claude Code.
Flow-Claude extends Claude Code with git-driven task orchestration. Break down large features into parallel subtasks, execute them simultaneously, and merge results automatically.
Key feature and Benfits
Flow+Claude subagent with GitHub as the version control and information hub (sinlge source of truth).
Claude automatically generates plans and creates both plan branches and task branches:
The plan branch defines the overall workflow and updates automatically whenever a task is completed.
Each task branch is used to execute an individual task. Tasks can run in parallel using Git worktrees.
This setup ensures smooth automation, parallel task execution, and continuous synchronization between planning and execution stages.
Works seamlessly within Claude Code UI
Related paper
To be a conributor
submit an github issue (link) and contact team via yu.yao@sydney.edu.au and discord xxx
Desgin Principle
We design Flow-Claude as a lightweight tool that lives within the Claude CLI. As the Claude code model evolves, the benefits of the framework will also continue to grow.
The framework itself should not become a blocker for future updates of the Claude model. Therefore our primary focus is communication efficiency and parallelism with minimum constraints.
Every new design should smoothly support the Claude CLI.
Workflow
graph TD
A["Your Request"] --> B["Orchestrator"]
B --> C["Worker 1 (task/001)"]
B --> D["Worker 2 (task/002)"]
B --> E["Worker 3 (task/003)"]
C --> F["flow branch (merged results)"]
D --> F
E --> F
Installation
Prerequisites
- Python 3.10+
- Git
- Node.js 18+ (LTS recommended)
- npm 9+ or equivalent package manager
- Windows users: See Windows Installation Guide for special instructions
IMPORTANT: Claude Code must be installed first:
npm install -g @anthropic-ai/claude-codeSee Claude Code Setup for more details.
Install From PyPI
pip install flow-claude
Install From Source
git clone https://github.com/a5507203/flow-claude.git
cd flow-claude
pip install -e .
Verify Installation:
flow --help
Expected output:
Usage: flow [OPTIONS]
Initialize Flow-Claude for Claude Code UI.
Creates .claude/ directory structure with skills, commands, and agents.
Run once per project, then use Claude Code UI for development.
Options:
--help Show this message and exit.
Initialize Your Project
Warning: For existing projects, backup your
.claude/directory andCLAUDE.mdfirst,flowwill overwrite them.
Navigate to your git repository and initialize Flow-Claude:
Linux / macOS
cd /path/to/your/project
flow
Windows
Option 1: Using Python Module (Works Immediately)
cd /path/to/your/project
python -m flow_claude.commands.flow_cli
Option 2: Using flow Command (Requires PATH Setup)
# Find your Python Scripts directory
python -c "import os, sys; print(os.path.join(sys.prefix, 'Scripts'))"
# Add to PATH (PowerShell - current session)
$env:PATH += ";C:\Users\YourUsername\AppData\Roaming\Python\Python3XX\Scripts"
# Or add permanently via System Environment Variables
# Step1: Press `Win + R`
# Step2: Type `sysdm.cpl`
# Step3: Switch to `Advanced`
# Step4: Clip `Environment Variables` to add
Then run:
flow
What happens during initialization:
- Creates
flowbranch from your main branch - Creates
.claude/directory with skills, commands, agents - Creates/updates
CLAUDE.mdwith Flow-Claude instructions - Commits all changes to
flowbranch
Directory Structure
your-project/
├── .claude/ # Flow-Claude skills, commands, agents, settings
├── .worktrees/ # Git worktrees for worker branches (auto-created, ignored by git)
├── CLAUDE.md # Flow-Claude instructions prepended to the repo
|-- Original Projects Content...
Example Usage
Flow-Claude can orchestrate large features with parallel workers or keep things simple when the request is tiny.
Usage Workflow
# Initialize
cd my-project
flow
# Open Claude Code
claude --dangerously-skip-permissions
# Ask:
"Read the SILLs, then Build a REST API for blog posts with CRUD operations"
# Flow-Claude creates:
# - plan/session-20250121-143000 (execution plan)
# - task/001-create-post-model
# - task/002-implement-crud-service
# - task/003-create-api-endpoints
# Workers execute in parallel, merge to flow branch
Flow-Claude will:
- Plan - Break the request into parallel tasks (model, CRUD service, API endpoints).
- Execute - Launch workers for the ready tasks, each in its own worktree.
- Merge - Merge completed task branches back into
flowand update the plan.
Small Task Case
When the request is clearly a quick fix (e.g., “Update README typos” or “Bump a config flag”), the main orchestrator handles it directly instead of launching workers:
- Evaluate the request scope; if it only needs one short change, skip plan/task branch creation.
- Work directly on the
flowbranch (or a lightweight scratch branch) and apply the change. - Report back to the user with the diff/summary just like a worker would.
Git Branch Structure
main/master (production)
↑
flow (development base)
├── plan/session-* (execution plans)
├── task/001-*
├── task/002-*
└── task/003-*
Commands
| Command | Description |
|---|---|
\auto |
Toggle autonomous mode (ON = no approval needed) |
\parallel N |
Set max parallel workers (1-10, default: 3) |
MCP Servers and AgentSkills
The main agent can automatically determine which MCP tools and agent skills the worker agents require.
MCP Servers Install
Flow-Claude uses MCP in the same way as Claude Code, except that MCP servers must be installed inside your project directory.
For detailed MCP setup instructions, see:
Example: Adding the Playwright MCP server
claude mcp add playwright -- npx --scope project @playwright/mcp@latest # # Run this command inside your project directory
Or manually add to .mcp.json in your project root folder:
{
"mcpServers": {
"playwright": {
"type": "stdio",
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
Skill Install
Flow-Claude uses Skill in the same way as Claude Code, except that Skill must be added inside your project directory.
For detailed Skill adding instructions, see:
Example: Creating Skills
- Created as
SKILL.mdfiles in specific directories (.claude/skills/)
.claude/skills/processing-pdfs/
└── SKILL.md
Hooks Setup
Get notified when Claude needs attention or completes tasks - useful when running AI in background.
1. Install notification script:
npx claude-code-templates@latest --hook=automation/simple-notifications --yes
Then delete the postToolUse hook added by this command (we only need the notification script it installs).
2. Add hooks via /hooks command:
| Hook Type | Command |
|---|---|
| Stop (task done) | if command -v osascript >/dev/null 2>&1; then osascript -e 'display notification "Task completed successfully" with title "✅ Claude Code Done"'; elif command -v notify-send >/dev/null 2>&1; then notify-send '✅ Claude Code' 'Task completed successfully'; fi |
| Notification (action needed) | if command -v osascript >/dev/null 2>&1; then osascript -e 'display notification "Claude Code needs your input or approval!" with title "🛑 Action Required"'; elif command -v notify-send >/dev/null 2>&1; then notify-send '🛑 Claude Code' 'Action or permission required!'; fi |
Works on macOS (
osascript) and Linux (notify-send).
License
MIT License - see LICENSE for details.
Support
Ready to supercharge your development?
pip install flow-claude && cd your-project && flow
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flow_claude-1.0.0.post1.tar.gz.
File metadata
- Download URL: flow_claude-1.0.0.post1.tar.gz
- Upload date:
- Size: 42.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bfe9628df5c1d19561eb78083b8767c17f1e37a9ea34c3ec61316d93e5685df
|
|
| MD5 |
91651aaab5f062760502381bf5fff607
|
|
| BLAKE2b-256 |
e70f40c668515229cc4ebc0b3ea52ed6b878044c2e32f4a5d2d4609b5f85ef79
|
Provenance
The following attestation bundles were made for flow_claude-1.0.0.post1.tar.gz:
Publisher:
ci-release.yml on a5507203/flow-claude
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flow_claude-1.0.0.post1.tar.gz -
Subject digest:
2bfe9628df5c1d19561eb78083b8767c17f1e37a9ea34c3ec61316d93e5685df - Sigstore transparency entry: 731880924
- Sigstore integration time:
-
Permalink:
a5507203/flow-claude@48043814f4670994fc5776566c1b9ffa7f85c6dc -
Branch / Tag:
refs/heads/main - Owner: https://github.com/a5507203
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-release.yml@48043814f4670994fc5776566c1b9ffa7f85c6dc -
Trigger Event:
push
-
Statement type:
File details
Details for the file flow_claude-1.0.0.post1-py3-none-any.whl.
File metadata
- Download URL: flow_claude-1.0.0.post1-py3-none-any.whl
- Upload date:
- Size: 53.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3bdb4077d7db1d067440d7524708b568d8ee90a3cdd481273273ab369357cf7
|
|
| MD5 |
22ddcb055a2c869383274f0c1aba26ec
|
|
| BLAKE2b-256 |
f556e40dcf308cf41d0655c601cef6608a3cdec49dc5276bd73a2179e25a6b46
|
Provenance
The following attestation bundles were made for flow_claude-1.0.0.post1-py3-none-any.whl:
Publisher:
ci-release.yml on a5507203/flow-claude
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flow_claude-1.0.0.post1-py3-none-any.whl -
Subject digest:
c3bdb4077d7db1d067440d7524708b568d8ee90a3cdd481273273ab369357cf7 - Sigstore transparency entry: 731880925
- Sigstore integration time:
-
Permalink:
a5507203/flow-claude@48043814f4670994fc5776566c1b9ffa7f85c6dc -
Branch / Tag:
refs/heads/main - Owner: https://github.com/a5507203
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-release.yml@48043814f4670994fc5776566c1b9ffa7f85c6dc -
Trigger Event:
push
-
Statement type: