🪜 Ladder
Track every branch, stage, and alternative path in your AI pair-programming sessions.
When pair-programming with AI, every decision presents multiple paths. You pick one. The others vanish into scrollback. Three hours later, you realize you needed that other path too.
Ladder captures every branch, stages them by effort, and lets you climb back to any rung.
Install
pip install ladder-cli
Quick Start
# 1. Initialize a ladder in your project
cd my-project
ladder init --project "My API"
# 2. Paste the system prompt into your AI assistant
ladder prompt
# 3. Start building — the AI populates the ladder automatically
# 4. Check your progress anytime
ladder status
How It Works
Ladder uses a Markdown + YAML file (.ladder/ladder.md) that both you and your AI can read and write:
---
project: My API
version: 1
---
## foundation
- [x] **R001** — Project scaffold → *small*
- Context: Setting up the repo
- Why: Everything builds on this
## core
- [ ] **R003** — User authentication → *medium*
- Context: REST API auth
- Why: Everything else depends on this
- [x] JWT with refresh tokens
- [ ] Session-based with Redis
- [ ] OAuth2 social login
- Blocked by: ~none~
Why this format wins:
- ✅ Git-friendly — clean diffs, full history
- ✅ AI-friendly — any LLM reads/writes markdown natively
- ✅ Human-friendly — open in any editor, understand in 30 seconds
- ✅ CLI-friendly — trivial to parse and render
Commands
| Command | Description |
|---|---|
ladder init |
Create a new ladder in the current directory |
ladder status |
Show the full project ladder |
ladder show R003 |
Detailed info for a specific rung |
ladder do R003 |
Mark a rung as in-progress |
ladder complete R003 |
Mark a rung as done |
ladder abandon R003 --reason "deprecated" |
Mark a rung as abandoned |
ladder tree |
Show dependencies as an ASCII tree |
ladder prompt |
Print the system prompt for your AI |
Why Ladder?
- Works with any AI — Claude, GPT-4, Cursor, Copilot, whatever
- No lock-in — your data is plain Markdown in your repo
- Auto-commits — optionally commits ladder changes to git
- Dependency aware — knows when a rung is blocked by another
- Effort-weighted — small/medium/large so you can plan sprints
Contributing
- Fork the repo
pip install -e ".[dev]"pytest- Open a PR
License
MIT
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 ladder_cli-0.1.1.tar.gz.
File metadata
- Download URL: ladder_cli-0.1.1.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
202d64e8d84df8501cf923d5629105b6ce9de13e3675423700398866cf849d8e
|
|
| MD5 |
62fa6434bd841f31d8835d22e1bbae13
|
|
| BLAKE2b-256 |
727b4def7d884df4669a2c0b14d9109964ca5f97f4208e0ca3a90f823202d185
|
File details
Details for the file ladder_cli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: ladder_cli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ee1a9e8dba8ea6a7a2df409581c26863afcfb23ef25e51929f08f318d2600c3
|
|
| MD5 |
fe0e2e31133bdfb4d91340c4f4357c6b
|
|
| BLAKE2b-256 |
40d9181693c6bc7caf623520594e5fc30cfe3846b51b32b45fb542554bcaaffb
|