Skip to content
Open
Show file tree
Hide file tree
Changes from 4 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
Loading