Claude Code UI-native autonomous development system with git-first architecture
Project description
Flow-Claude (Flow for Claude Code)
Flow-Claude is for Claude Code users working on long development tasks.
- Break down requirements into parallel tasks,
- execute them simultaneously without stopping,
- auto-commit every change to Git,
- and merge results automatically.
Related Paper
Niu, B., Song, Y., Lian, K., Shen, Y., Yao, Y., Zhang, K., & Liu, T. Flow: Modularized Agentic Workflow Automation. ICLR 2025
Design 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.
Contributing
Submit a GitHub issue or contact yu.yao@sydney.edu.au
Installation
Prerequisites
Claude Code must be installed first:
npm install -g @anthropic-ai/claude-code
See Claude Code Setup for more details.
Install Flow-Claude From PyPI
pip install flow-claude
Verify Installation:
flow --help
On Windows, if flow is not in your PATH, use:
python -m flow_claude.commands.flow_cli --help
Quick Start and Tips
1. Initialize Your Project
Navigate to your git repository and initialize Flow-Claude:
Linux / macOS
cd /path/to/your/project
flow
Windows
On Windows, if flow is not in your PATH, use:
cd /path/to/your/project
python -m flow_claude.commands.flow_cli
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
2. Launch Claude Code
claude
If you want to avoid frequent permission approval, use:
claude --dangerously-skip-permissions
3. Prompt Claude to use Flow-Claude
Because the current Claude model does not reliably invoke Skills automatically, you need to append a reminder at the end of your prompt.
For example:
Build a REST API for blog posts with CRUD operations. Remember to use your SKILLs.
4. Resume
When you return to a project after a break or session interruption, prompt Claude to understand the current state before continuing.
Step 1: Use the resume command to restore your previous conversation:
/resume
Select the past conversation from the list.
Step 2: Prompt Claude to check the current state and continue. For example:
Check the current plan and task branch status, then continue the unfinished task. Remember to use Skills.
5. Commit Manual Changes
If you make local changes on the flow branch and want workers to use them, commit your changes first:
git add . && git commit -m "Your commit message"
Workers pull from the flow branch, so uncommitted changes won't be visible to them.
6. Delete Unwanted Branches
After a plan is finished and all tasks passed, you may want to clean up the created branches. Use a prompt like:
Delete the plan/<plan-name> branch and all its related task branches.
For example: Delete the plan/blog-api-crud branch and all its related task branches.
6. Commands
| Command | Description |
|---|---|
\auto |
Toggle autonomous mode (ON = no approval needed) |
\parallel N |
Set max parallel workers (1-10, default: 3) |
MCP Servers and Skills
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
License
MIT License - see LICENSE for details.
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.1.tar.gz.
File metadata
- Download URL: flow_claude-1.0.1.tar.gz
- Upload date:
- Size: 45.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab2f32d84300a656905f6ad886b6b0d32922adaf0ac1a813f32fc4a0ab9f387c
|
|
| MD5 |
cc1da992196ce4e6795bc35a088c107e
|
|
| BLAKE2b-256 |
ab025a96291a7f26f3c77cd04772eddfa1c650d861491c6ffdbd9c780eae6979
|
Provenance
The following attestation bundles were made for flow_claude-1.0.1.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.1.tar.gz -
Subject digest:
ab2f32d84300a656905f6ad886b6b0d32922adaf0ac1a813f32fc4a0ab9f387c - Sigstore transparency entry: 772045979
- Sigstore integration time:
-
Permalink:
a5507203/flow-claude@08eb9d1c7faf4a6a312a8b3e340e827343547ff8 -
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@08eb9d1c7faf4a6a312a8b3e340e827343547ff8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file flow_claude-1.0.1-py3-none-any.whl.
File metadata
- Download URL: flow_claude-1.0.1-py3-none-any.whl
- Upload date:
- Size: 57.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 |
90495c40aabe82580d902580e19e3a7bcd25778d48f1ffe5d66e5951b015962e
|
|
| MD5 |
29b5d05382324375631f1d8d10ec5f60
|
|
| BLAKE2b-256 |
fbda758e1b0415dea141c5da1c78a6b28cc8366f339583dd74467e67e61d8464
|
Provenance
The following attestation bundles were made for flow_claude-1.0.1-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.1-py3-none-any.whl -
Subject digest:
90495c40aabe82580d902580e19e3a7bcd25778d48f1ffe5d66e5951b015962e - Sigstore transparency entry: 772045980
- Sigstore integration time:
-
Permalink:
a5507203/flow-claude@08eb9d1c7faf4a6a312a8b3e340e827343547ff8 -
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@08eb9d1c7faf4a6a312a8b3e340e827343547ff8 -
Trigger Event:
push
-
Statement type: