@yangocean/runway-cli
v0.1.1
Published
CLI-first 'last 20%' completion tool for indie developers. Ship the final stretch.
Maintainers
Readme
Runway
Ship the last 20%.
The AI coding agent that turns your 80%-done project into a launched product.
Claude Code · OpenCode · Gemini CLI · Codex CLI
Why I Built This
Every indie developer knows the feeling. You've been building for weeks. The core features work. The happy path is smooth. And then... you stop.
Not because you can't code. You have Claude Code / Cursor / Copilot — writing code has never been easier. You stop because the remaining work isn't exciting. It's error handling for edge cases nobody's hit yet. It's writing tests for code that "obviously works." It's figuring out CI/CD. It's writing a landing page. It's the 47 other things between "it works on my machine" and "people are using it."
80% of indie projects die here. Not from lack of skill. From lack of direction.
I built Runway because AI coding agents are incredible at building, but they have no idea what comes after. GSD helps you build features. Runway helps you ship them.
Who This Is For
Developers who vibe-code their way to 80% and then stare at their project thinking "now what?" — whether you use Claude Code, OpenCode, Gemini CLI, or Codex.
If you've ever said "it's basically done, I just need to..." — Runway is for you.
Getting Started
npx @yangocean/runway-cli@latestPick your runtime. Pick global or local. Done.
# Claude Code (recommended)
npx @yangocean/runway-cli@latest -- --claude --global
# OpenCode
npx @yangocean/runway-cli@latest -- --opencode --global
# Gemini CLI
npx @yangocean/runway-cli@latest -- --gemini --global
# Codex CLI
npx @yangocean/runway-cli@latest -- --codex --globalgit clone https://github.com/anthropics/runway-cli.git
cd runway-cli
node bin/install.js --claude --global[!TIP] Recommended: Run your CLI agent with
--dangerously-skip-permissionsfor frictionless automation. Every[auto]task creates an atomic git commit, so any change can be individually reverted withgit revert <hash>. The safety net is git, not permission prompts.
Verify Installation
/runway helpYou should see all 11 commands listed.
How It Works
Step 1: Initialize
/runway initThree questions. That's it.
- What's your goal? — App Store launch, public v1.0, investor demo, or custom
- What should I scan? — Pick from 12 dimensions (error handling, tests, security, SEO, etc.)
- Config — Daily task capacity, deadline, auto mode
Creates RUNWAY.md + .runway/ in your project. Everything lives in your repo, follows git, no external dependencies.
Step 2: Scan
/runway scanRunway reads your codebase and finds what's missing. Not abstractly — specifically.
━━━ Runway Scan Complete ━━━━━━━━━━━━━━━━
Found: 12 tasks (8 auto, 4 you)
Critical: 1
Estimated: ~4 days (at 3 tasks/day)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Every finding becomes a task. Every task is classified:
| Type | Meaning | Example |
|------|---------|---------|
| [auto] | Agent does it. You watch. | Add try-catch to /api/users route |
| [you] | You do it. Agent gives you everything you need. | Post on r/SideProject (draft + link provided) |
Step 3: Execute
/runway next --autoThis is where it gets good.
⟳ Task #1: Add try-catch to /api/users route
✓ Checkpoint: a3f2c1d
✓ Executed — 3 files changed
✓ Committed: runway: add error handling to /api/users (b7e4a2f)
⟳ Task #2: Handle empty state in Dashboard
✓ Checkpoint: b7e4a2f
✓ Executed — 1 file changed
✓ Committed: runway: add empty state to Dashboard (c9d1e3a)
⟳ Task #3: Add 404 page
✓ Checkpoint: c9d1e3a
✓ Executed — 2 files created
✓ Committed: runway: add 404 page (d2f5b4c)
⏸ Task #4: Post on r/SideProject [you]
📋 Draft: .runway/marketing/drafts/reddit-sideproject.md
🔗 Post here: https://www.reddit.com/r/SideProject/submit
━━━━━━━━━━━━━━━━━━━━━
✓ 3 tasks completed in this session
Progress: 3/12 (25%)
Each change is a separate commit — revert any with git revert <hash>[auto] tasks run one after another. Each gets its own atomic git commit. When it hits a [you] task, it stops and gives you everything you need: the draft, the link, the instructions.
Run /runway done 4 when you're done with a [you] task, then /runway next to keep going.
Step 4: Ship
/runway ship━━━ Runway Preflight Check ━━━━━━━━━━━━━━
✓ Error handling — all issues resolved
✓ Tests — 14 tests passing
✓ Deploy — CI green
✗ Marketing — 1 task remaining
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Ship readiness: 92% (tech ready, marketing pending)
Options:
1) Ship now — code is ready, do marketing after launch
2) Complete all — finish remaining tasks firstRunway doesn't block you. Tech ready = ship it. Marketing can happen after launch. Perfection is the enemy of shipping.
🛫 Ready for takeoff!
Commit tagged: v1.0.0-runway
Go ship it. The world is waiting.The Marketing Problem
Most AI tools pretend marketing doesn't exist. Or they tell you to "prepare social media posts" and leave it at that. Useless.
Runway knows that for indie devs, marketing is the scariest part. So it does the heavy lifting:
/runway marketingThis generates a complete launch package:
.runway/marketing/
├── playbook.md # Full launch strategy + timeline
├── drafts/
│ ├── reddit-sideproject.md # Ready-to-post draft + direct link
│ ├── twitter-launch-thread.md # 6-tweet thread + post link
│ ├── hackernews-show.md # Show HN format + submit link
│ ├── producthunt-listing.md # Tagline + description + maker comment
│ └── landing-page-copy.md # Full landing page copy
└── templates/
├── launch-timeline.md # Week-by-week checklist
├── community-intro.md # Community introduction template
└── changelog-announce.md # Post-launch update templateEvery draft includes:
- Full content tailored to your project (not generic templates)
- Direct posting link (click and paste)
- Edit checklist (what to personalize before posting)
- Platform-specific tips (best time, format, tone)
The agent can't post for you. But it can make posting take 5 minutes instead of 5 hours.
All Commands
Core Workflow
| Command | What It Does |
|---------|-------------|
| /runway init | Set goal, pick scan dimensions, configure |
| /runway scan | Analyze codebase, generate task checklist |
| /runway next | Execute next task (confirm first) |
| /runway next --auto | Auto-execute all [auto] tasks |
| /runway ship | Preflight check, tag release |
Progress & Tracking
| Command | What It Does |
|---------|-------------|
| /runway status | Terminal progress bar + stats |
| /runway dashboard | Generate HTML visual report → open in browser |
| /runway done <id> | Mark a [you] task as completed |
Planning & Content
| Command | What It Does |
|---------|-------------|
| /runway marketing | Generate launch playbook + platform drafts |
| /runway idea "desc" | Brainstorm feature → estimate effort → add tasks |
| /runway undo | Revert last [auto] task (git revert) |
Why It Works
Everything Is a File
No database. No server. No account. All state lives in your project:
RUNWAY.md # Goal, progress, config, task index
.runway/
├── checklist.md # All tasks: status, type, commit hash
├── scan-results.md # Detailed findings per dimension
├── marketing/ # Playbook, drafts, templates
├── history/ # Scan snapshots for progress timeline
└── dashboard.html # Generated visual reportIt follows git. Branch it, merge it, revert it. Your project state is your project.
Atomic Commits as Safety Net
Every [auto] task creates exactly one commit:
runway: add error handling to /api/users (a3f2c1d)
runway: add empty state to Dashboard (b7e4a2f)
runway: add 404 page (c9d1e3a)
runway: add unit tests for auth module (d2f5b4c)
runway: add meta tags and sitemap (e8a3b1c)Each independently revertible. git bisect friendly. No monolithic "fix everything" commits.
This is why we recommend --dangerously-skip-permissions. The danger isn't in the changes — it's in not shipping.
Smart Classification
Runway doesn't just find problems — it knows who should fix them:
| If it can be done by editing code... | → [auto] — agent does it |
|---|---|
| If it requires a human action... | → [you] — agent prepares everything |
[auto]: Add error handling, write tests, create 404 page, add meta tags, build landing page.
[you]: Post on Reddit (draft provided), set up Vercel (guide provided), submit to App Store (checklist provided).
12 Scan Dimensions
Not a one-size-fits-all scan. You choose what matters:
| Dimension | What It Finds | |-----------|--------------| | Error handling | Missing try-catch, unhandled promises, no error boundaries | | Test coverage | Untested critical paths, missing E2E flows | | Accessibility | No ARIA labels, missing alt text, keyboard nav gaps | | Performance | Large bundles, no lazy loading, missing caching | | Security | Hardcoded secrets, XSS vectors, missing validation | | Deploy readiness | No CI/CD, missing env docs, no hosting config | | README | Incomplete install/usage/contributing sections | | Landing page | No public-facing page for your project | | SEO | Missing meta tags, no sitemap, no OG tags | | Analytics | No error tracking, no usage analytics | | Legal | No privacy policy, no terms of service | | Platform | Missing App Store requirements, npm package gaps |
Architecture
Runway is purely prompt-based. It's a set of markdown files that instruct your AI coding agent what to do. There's no binary, no runtime, no API calls.
runway-cli/
├── bin/install.js # Copies prompts to your CLI's command directory
├── commands/ # 11 markdown prompt files
│ ├── init.md # → /runway init
│ ├── scan.md # → /runway scan
│ ├── next.md # → /runway next
│ └── ...
├── templates/
│ └── dashboard.html # HTML template for visual reports
└── references/ # Platform-specific notesWhen you run /runway scan, your agent loads scan.md and follows its instructions — reading your code, analyzing dimensions, writing results to .runway/. No middleware. No abstraction. Just well-engineered prompts.
Platform Support
| Platform | Status | Command Format |
|----------|--------|---------------|
| Claude Code | Primary | /runway <command> |
| OpenCode | Supported | runway-<command> |
| Gemini CLI | Supported | /runway <command> |
| Codex CLI | Supported | runway-<command> |
Core prompts are identical across platforms. The installer adapts file locations and naming conventions automatically.
Runway vs GSD
| | GSD | Runway | |---|---|---| | When | Building features (0% → 80%) | Shipping (80% → 100%) | | Focus | Code execution quality | Project completion | | Tasks | Build features efficiently | Fix gaps + marketing + launch | | Marketing | No | Playbook + drafts + links | | Complementary? | Yes — use GSD to build, Runway to ship |
They work great together. GSD builds your project. Runway ships it.
FAQ
Runway works with any AI coding CLI that supports custom commands or prompts: OpenCode, Gemini CLI, Codex CLI. The installer auto-adapts. Claude Code is the primary platform with the best experience.
Only when you tell it to. [auto] tasks modify code, but every change is an atomic git commit. Don't like something? git revert <hash>. [you] tasks never touch your code — they just provide instructions and links.
A one-shot review gives you a wall of text you'll never act on. Runway gives you a sequenced, prioritized checklist where half the items execute themselves. It's the difference between "here are 47 things wrong" and "let me fix 30 of them right now, and here's exactly how to do the other 17."
For codebases with 500+ files, Runway automatically scans only entry points + recently changed files to stay within context limits. Use --full to force a complete scan (warning: token-intensive).
Yes. Runway doesn't care if you've launched or not. Run /runway init, set your goal ("improve v1.1"), scan, and it'll find what needs work. It's a continuous improvement tool, not just a launch tool.
Contributing
PRs welcome. High-impact areas:
- New scan dimensions — more ways to find what's missing
- Marketing templates — better drafts for more platforms
- Platform adapters — improve OpenCode/Gemini/Codex experience
- Translations — help developers worldwide
License
MIT
AI agents are great at building. Runway makes them great at shipping.
