avinyc:warp-bootstrap
Warp Rails Bootstrap
Configure Warp terminal for optimal Rails development with colored tabs.
Critical Rules
READ THESE FIRST. VIOLATIONS WILL BREAK THE CONFIG.
- MUST use AskUserQuestion - Do NOT generate the config until user selects their tabs
- MUST use
bin/dev- Ifbin/devexists, use it. Do NOT parse Procfile.dev for individual commands - MUST use lowercase color names - Only valid:
red,green,yellow,blue,magenta,cyan - MUST use
exec:for commands - Format:- exec: bin/devNOT- "bin/dev" - MUST use absolute paths - Never use
~or relative paths incwdfield - MUST start YAML with
---- The document separator is required - MUST read reference docs - Before generating YAML, read @./references/launch-config-schema.md
Workflow
Execute these steps IN ORDER. Do not skip steps.
Step 1: Verify Rails Project
Run this command:
test -f config/application.rb && echo "RAILS PROJECT" || echo "NOT RAILS"
If NOT RAILS, stop and tell user to run from a Rails directory.
Step 2: Gather Project Context
Run these commands and store the results:
# Get absolute path (REQUIRED for cwd)
pwd
# Get project name from directory
basename "$(pwd)"
# Check for bin/dev
test -f bin/dev && echo "HAS_BIN_DEV=true" || echo "HAS_BIN_DEV=false"
# Check for background job processor
grep -l "sidekiq\|good_job\|solid_queue" Gemfile 2>/dev/null && echo "HAS_JOBS=true" || echo "HAS_JOBS=false"
IMPORTANT:
- If
HAS_BIN_DEV=true, the dev command isbin/dev. Period. Do NOT look inside Procfile.dev. - If
HAS_BIN_DEV=false, the dev command isbin/rails server.
Step 3: STOP - Ask Tab Configuration
You MUST use AskUserQuestion here. Do NOT proceed until user responds.
Ask: "Which tabs do you want in your Warp launch configuration?"
Use multi-select with these options:
| Label | Description |
|---|---|
| Server (green) | Run dev server (bin/dev or rails server) |
| Claude (blue) | Start Claude Code session |
| Shell (yellow) | Empty terminal for commands |
| Console (magenta) | Rails console |
| Logs (cyan) | Tail log/development.log |
If HAS_JOBS=true, also include: | Jobs (red) | Background job processor |
WAIT FOR USER RESPONSE BEFORE CONTINUING.
Step 4: Read Reference Documentation
Before writing ANY YAML, read the schema reference:
Read @./references/launch-config-schema.md
This ensures you use the correct format.
Step 5: Generate Launch Configuration
Create the launch configuration file.
File location: ~/.warp/launch_configurations/{project-name}.yaml
EXACT FORMAT TO USE:
---
name: {project-name}
windows:
- tabs:
- title: Server
color: green
layout:
cwd: {ABSOLUTE_PATH_FROM_PWD}
commands:
- exec: bin/dev
- title: Claude
color: blue
layout:
cwd: {ABSOLUTE_PATH_FROM_PWD}
commands:
- exec: claude
- title: Shell
color: yellow
layout:
cwd: {ABSOLUTE_PATH_FROM_PWD}
FORMAT RULES:
- File MUST start with
---(YAML document separator) colorMUST be lowercase:green,blue,yellow,magenta,cyan,redcolorMUST NOT be capitalized or an object with r/g/b valuescommandsMUST useexec:prefix:- exec: bin/devcommandsMUST NOT be plain strings like- "bin/dev"cwdMUST be the absolute path frompwdcommand (no quotes needed)cwdMUST NOT use~or relative paths
Step 6: Display Summary
Show the user what was created:
Warp launch configuration created for {project-name}!
Location: ~/.warp/launch_configurations/{project-name}.yaml
How to use:
Keyboard: Ctrl-Cmd-L → select "{project-name}"
Direct URL: warp://launch/{project-name}.yaml
Tabs configured:
{list each tab with color and command}
Common Mistakes to Avoid
| Wrong | Right |
|---|---|
color: Green |
color: green |
color: { r: 34, g: 197, b: 94 } |
color: green |
commands: ["bin/dev"] |
commands: [- exec: bin/dev] |
cwd: ~/project |
cwd: /Users/avi/project |
cwd: . |
cwd: /Users/avi/project |
Missing --- at start |
Start file with --- |
| Parsing Procfile.dev for commands | Just use bin/dev |
| Skipping AskUserQuestion | MUST ask and wait for response |
Reference Files
- @./references/launch-config-schema.md - Launch configuration YAML format
More from aviflombaum/claude-code-in-avinyc
ux-ui
UX/UI design principles for clean, intuitive interfaces. Use when designing layouts, improving usability, planning information architecture, or ensuring accessibility. Triggers on "user experience", "usability", "information architecture", "accessibility", "interaction design".
12interview
Interview about a plan file to refine it through in-depth questioning. Use when you have a plan that needs validation, refinement, or deeper exploration before implementation. Triggers on "interview me about", "refine this plan", "question this spec".
9tailwind
Tailwind CSS patterns, utilities, and component styling for Rails. Use when styling with Tailwind, creating responsive layouts, or building UI components. Triggers on "tailwind", "style with", "css classes", "responsive layout".
9write
Write technical blog posts, tutorials, and documentation in Flatiron School's engaging style. Use for explaining code patterns, debugging stories, or turning complex topics into clear narratives. Triggers on "write a blog post", "tutorial about", "explain how", "technical writing".
8hotwire
Hotwire, Turbo, and Stimulus patterns for Rails. Use when implementing JavaScript interactions, Turbo Frames/Streams, or Stimulus controllers. Triggers on "stimulus controller", "turbo frame", "turbo stream", "hotwire", "rails javascript".
8write-test
Writes comprehensive RSpec tests for Rails applications. Use when writing model specs, request specs, system specs, job specs, mailer specs, channel specs, or storage specs. Triggers on "write tests for", "add specs to", "test the User model", "create request specs", "write RSpec", "add test coverage".
8