Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,7 @@ This creates:
| `ralph-starter fix [task]` | Fix build errors, lint issues, or design problems |
| `ralph-starter auto` | Batch-process issues from GitHub/Linear |
| `ralph-starter task <action>` | Manage tasks across GitHub and Linear (list, create, update, close, comment) |
| `ralph-starter linear` | Interactive Linear issues wizard |
| `ralph-starter integrations <action>` | Manage integrations (list, help, test, fetch) |
| `ralph-starter plan` | Create implementation plan from specs |
| `ralph-starter init` | Initialize Ralph Playbook in a project |
Expand Down
32 changes: 32 additions & 0 deletions docs/docs/sources/linear.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,38 @@ Get your API key from [Linear Settings > API > Personal API keys](https://linear
ralph-starter config set linear.apiKey lin_api_xxxxxxxxxxxx
```

## Interactive Wizard

The easiest way to get started:

```bash
ralph-starter linear
```

This will:
1. Check your authentication (prompt for API key if needed)
2. Let you select a team, then browse projects or issues
3. Start the build loop automatically

You can also paste a Linear issue URL directly when prompted.

### Wizard Options

```bash
ralph-starter linear --commit # Auto-commit after tasks
ralph-starter linear --push # Push commits to remote
ralph-starter linear --pr # Create PR when done
ralph-starter linear --agent claude-code # Use a specific agent
```

### Fallback

If you run `--from linear` without specifying a project, the wizard launches automatically:

```bash
ralph-starter run --from linear # Launches wizard
```

## Usage

```bash
Expand Down
23 changes: 23 additions & 0 deletions src/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { figmaCommand } from './commands/figma.js';
import { fixCommand } from './commands/fix.js';
import { initCommand } from './commands/init.js';
import { integrationsCommand } from './commands/integrations.js';
import { linearCommand } from './commands/linear.js';
import { pauseCommand } from './commands/pause.js';
import { planCommand } from './commands/plan.js';
import { resumeCommand } from './commands/resume.js';
Expand Down Expand Up @@ -159,6 +160,28 @@ program
});
});

// ralph-starter linear - Linear issues wizard
program
.command('linear')
.description('Build from Linear issues with an interactive wizard')
.option('--commit', 'Auto-commit after tasks')
.option('--push', 'Push to remote')
.option('--pr', 'Create PR when done')
.option('--validate', 'Run validation', true)
.option('--no-validate', 'Skip validation')
.option('--max-iterations <n>', 'Max loop iterations')
.option('--agent <name>', 'Agent to use')
.action(async (options) => {
await linearCommand({
commit: options.commit,
push: options.push,
pr: options.pr,
validate: options.validate,
maxIterations: options.maxIterations ? parseInt(options.maxIterations, 10) : undefined,
agent: options.agent,
});
});

// ralph-starter init - Initialize Ralph in a project
program
.command('init')
Expand Down
Loading