Tree-structured AI coding assistant with git worktree isolation
Project description
CodeFission
Tree-structured AI coding assistant. Each conversation node is an isolated git worktree — branch conversations to explore alternative approaches, and each branch gets its own filesystem sandbox.
Prerequisites
- Claude Code — AI backend (spawned as subprocess). Install:
npm install -g @anthropic-ai/claude-code - uv — Python package manager. Install:
curl -LsSf https://astral.sh/uv/install.sh | sh - Node.js 18+ — frontend build. Install via system package manager or nvm
- git — worktree isolation. Usually pre-installed.
Authenticate Claude Code before first use:
claude login
Quick start
Option A: Let Claude do it
If you already have Claude Code installed:
claude -p "git clone <repo-url> codefission && cd codefission && ./run.sh"
Option B: Manual
git clone <repo-url> codefission
cd codefission
./run.sh
On first run, run.sh will:
- Install Python dependencies via
uv(creates.venv/automatically) - Install npm packages and build the frontend
- Start the server on
http://localhost:8080
Subsequent runs skip steps 1-2 (unless dependencies or source changed).
To use a different port: ./run.sh 3000
How it works
Create a tree in the sidebar, type a message, and CodeFission spawns a Claude Code session in an isolated git worktree. Branch any node to explore alternatives — each branch forks the conversation context and the filesystem state.
[root]
/ \
[add auth] [add auth] <- same prompt, different approaches
| |
[fix tests] [add logging] <- independent follow-ups
Every node tracks its git branch, commit, and Claude session. Child nodes fork from the parent's prompt cache so context carries over without re-sending history.
Authentication
Configurable in the Settings panel (gear icon in sidebar):
- CLI (OAuth) — default. Uses your
claude loginsession. No API key needed. - API Key — provide an Anthropic API key in settings. Useful for headless/remote setups.
Both modes require the Claude Code CLI binary to be installed.
Configuration
Open Settings (gear icon) to configure:
- Global defaults — provider, model, max turns, auth mode. Applies to all trees.
- Per-tree overrides — provider, model, max turns. Leave as "Default" to inherit global settings.
Settings persist in the backend database across sessions and devices.
Development
Run tests:
uv run --group dev pytest
Frontend dev server (hot reload):
cd frontend
npm run dev
Data is stored in ~/.codefission/ (SQLite database, git worktrees). Override with CODEFISSION_DATA_DIR env var.
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 codefission-0.1.0.tar.gz.
File metadata
- Download URL: codefission-0.1.0.tar.gz
- Upload date:
- Size: 803.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.5 cpython/3.12.0 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb65b6db56991a1569822ba8098e4be7b342e9e910ff83a7df25f02bf882ce2e
|
|
| MD5 |
b0ea621055b48d6db5c05f294a5c1ab1
|
|
| BLAKE2b-256 |
74ec17beccfaf1515f0762aa3757079a7a7d64c39acba0e0d5ae5448e37e6264
|
File details
Details for the file codefission-0.1.0-py3-none-any.whl.
File metadata
- Download URL: codefission-0.1.0-py3-none-any.whl
- Upload date:
- Size: 615.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.5 cpython/3.12.0 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77e3d1e85b0d2df622e5337c8af576224a7805bd2a4c12776ba3782ad33232a0
|
|
| MD5 |
c27bf92cdeddef8bcb5eac2878fcc810
|
|
| BLAKE2b-256 |
6db1249d82b353e5ebb37638477fc6807669e9f8b4a596747105e7d5a2916bc4
|