Skip to content

Conversation

@rubenmarcus
Copy link
Member

Summary

Consolidates 9 PRs into a single release branch for the upcoming stable release v0.2.0. All features have been tested together — build passes, 143/143 tests pass.

Replaces #163 (branch renamed from staging/pre-conference to staging/v0.2.0)

What's Included

New Features

Bug Fixes

  • CodeRabbit review fixes: empty batch guard, retry logic for transient polling errors, extracted taskCustomId helper, pricing caveat for non-Sonnet models
  • Build error fixes after multi-PR merge (import deduplication, conflict resolution)

Test Plan

  • pnpm build passes
  • pnpm test:run — 143/143 tests pass
  • Manual testing of CLI output
  • Verify MCP server starts correctly (ralph-starter mcp)

🤖 Generated with Claude Code

rubenmarcus and others added 30 commits February 5, 2026 05:20
Closes github#80

Generated by ralph-starter auto mode
Closes github#79

Generated by ralph-starter auto mode
Strip numbered list prefixes, bullet markers, HTML tags, markdown
links, and collapse whitespace in task names for cleaner display.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Increase completed task name limit from 25 to 50 chars and loop
header task name limit from 40 to 60 chars so task context is
preserved in the CLI output.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace hardcoded truncation limits with terminal-width-aware
helpers. Task names now adapt to the available terminal space
instead of cutting at arbitrary character counts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Show a compact icon (GitHub, Linear, Figma, Notion, etc.) next
to task names in the loop header so users can quickly identify
where tasks originated from.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the per-character color cycling shimmer effect with a
subtle slow pulse between white and cyan. Much more readable
and accessible while still providing visual feedback.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add box.ts with drawBox(), drawSeparator(), and renderProgressBar()
helpers. Update ProgressRenderer with iteration tracking, progress
bar display, and live cost indicator.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace plain separator lines with box-drawing UI throughout the
executor. Adds a startup config summary box, per-iteration header
boxes with agent/iteration info, and a clean completion banner
with stats. Wire progress bar with iteration and cost tracking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Show a status separator between iterations with iteration count,
task progress, cost, and elapsed time. Replace verbose validation
error output with a compact one-line summary.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…s support

- Add .agents/skills/ directory scanning (multi-agent skill sharing)
- Support subdirectories with SKILL.md inside (not just flat .md files)
- Parse YAML frontmatter for skill name and description
- Parse npx add-skill commands from skills.sh
- Add findSkill() helper for looking up skills by name
- Refactor directory scanning into reusable scanSkillsDir()

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add 6 curated skill entries across 4 categories (agents, development, testing, design)
- Group skills by category in list output with visual separators
- Add 'info' action to show installed skill details
- Search now matches against categories
- Add interactive browse with categorized choices

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Read version dynamically from package.json instead of hardcoding '0.1.0'.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add ralph_list_presets tool to discover all 19 workflow presets by category
- Add ralph_fetch_spec tool to preview specs from GitHub, Linear, Notion, and
  Figma without running the full coding loop
- Improve all existing tool descriptions with detailed context for LLM clients
- ralph_fetch_spec supports Figma modes (spec, tokens, components, content, assets)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add figma_to_code prompt for Figma design-to-code workflow with framework
  and mode selection (spec, tokens, components, content)
- Add batch_issues prompt for processing multiple GitHub/Linear issues
  automatically with auto mode
- Update fetch_and_build prompt to include Figma as a source option
- Update fetch_and_build to use ralph_fetch_spec for preview before building

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add .ralph/activity.md as a readable MCP resource so Claude Desktop
and other MCP clients can access loop execution history, timing data,
and cost information.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Introduces a context builder that progressively narrows the prompt sent to
agents across loop iterations. Iteration 1 gets full context (spec + skills +
plan), iterations 2-3 get trimmed plan context, and iterations 4+ get minimal
context with just the current task. Validation feedback is compressed to reduce
token waste. Adds --context-budget flag for optional token budget enforcement.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replaces raw fetch calls to Anthropic API with the official @anthropic-ai/sdk,
enabling prompt caching via cache_control on system messages. Cache reads are
90% cheaper than regular input tokens. Adds cache-aware pricing to cost tracker
with savings metrics displayed in CLI output and activity summaries. Also adds
system message support and usage tracking for OpenAI/OpenRouter providers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds --batch flag to ralph-starter auto command that submits tasks via the
Anthropic Batch API instead of running agent loops. Batch requests are processed
asynchronously at 50% cost reduction. Includes polling with exponential backoff,
progress display, and cost savings summary. Note: batch mode uses the API
directly (no tool use), best for planning, code generation, and review tasks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix batch_issues prompt: use ralph_run with auto mode instead of
  incorrectly referencing ralph_fetch_spec for listing issues
- Fix handleListPresets category filter: use strict equality instead of
  substring match to prevent unintended matches
- handleFetchSpec already passes path to fetchFromIntegration (linter fix)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Normalize framework casing in figma_to_code prompt (consistent display name)
- Guard undefined args in handleListPresets with fallback to empty object
- Enforce non-empty path in ralph_fetch_spec schema (.min(1)) and always
  assign path to options instead of truthiness check

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ns (#133)

- Dynamic task name truncation based on terminal width
- Source icons for GitHub, Linear, Notion, Figma tasks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ut (#134)

- Box-drawing characters for structured terminal output
- Animated progress bar for loop iterations
- Shimmer effect for active task display
- Improved readability of all CLI output
- Merged with source icons from #133

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Intelligent context trimming based on iteration progress
- Reduces token usage by focusing on relevant context per loop
- New context-builder module for structured prompt assembly

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Enhanced MCP tools and prompts for better agent integration
- Improved resource definitions for Claude Desktop
- Figma-to-code MCP prompt support

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Enhanced skill detection for project tech stacks
- Improved skill registry with better search
- Better skill matching for coding agents

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Restore drawSeparator import in executor.ts
- Remove conflicting getPackageVersion import in server.ts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Merge PR #139 - adds prompt caching via Anthropic SDK beta header
for reduced latency and cost on repeated API calls.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Merge PR #140 - adds --batch flag to auto mode that submits tasks
via the Anthropic Batch API for 50% cost savings. Includes polling
with exponential backoff and progress display.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add empty requests guard in submitBatch
- Add retry logic for transient errors in polling loop
- Extract taskCustomId helper to avoid duplicated pattern
- Add pricing caveat for non-Sonnet models

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
rubenmarcus and others added 8 commits February 10, 2026 01:18
Merge PR #122 - adds pause/resume commands and session state
management for recovering from rate limits gracefully.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add `stable-release` label support to prepare-release workflow.
When a PR with this label is merged to main, the workflow strips
the prerelease suffix and applies a proper semver bump instead
of incrementing the beta number.

Example: 0.1.1-beta.16 + feat PR + stable-release → 0.2.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Update pnpm-lock.yaml to include @anthropic-ai/sdk dependency
- Remove duplicate rate-limits.md doc (rate-limiting.md already exists)
- Use 'release' label instead of 'stable-release' in workflow

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Loop HTML tag removal to prevent incomplete sanitization bypass
- Replace TOCTOU existsSync+readFileSync with try/catch
- Remove unused fullTask variable in context-builder

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove statSync+readFileSync TOCTOU pattern entirely. Instead of
checking file type then reading, try reading directly and catch
errors. This eliminates the race window between stat and read.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The --force-with-lease push fails when the automation branch already
exists remotely because the local checkout has no knowledge of the
remote ref. Adding a fetch first resolves the stale info rejection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

github-actions bot commented Feb 11, 2026

⚠️ Bundle Size Analysis

Metric Value
Base 1542.88 KB
PR 1705.70 KB
Diff 162.82 KB (10.00%)
Bundle breakdown
156K	dist/auth
28K	dist/automation
4.0K	dist/cli.d.ts
4.0K	dist/cli.d.ts.map
16K	dist/cli.js
12K	dist/cli.js.map
420K	dist/commands
28K	dist/config
4.0K	dist/index.d.ts
4.0K	dist/index.d.ts.map
4.0K	dist/index.js
4.0K	dist/index.js.map
536K	dist/integrations
84K	dist/llm
656K	dist/loop
172K	dist/mcp
32K	dist/presets
92K	dist/setup
28K	dist/skills
392K	dist/sources
76K	dist/ui
44K	dist/utils
328K	dist/wizard

Staging branches must use semver version numbers (e.g. staging/v0.2.0)
instead of arbitrary names.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@eacet
Copy link
Member

eacet commented Feb 11, 2026

@greptile review

rubenmarcus and others added 2 commits February 11, 2026 12:52
initCommand has interactive prompts (git init confirmation, agent
selection) and agent detection that blocks when called from the wizard
since the wizard's spinner consumes stdout. Added nonInteractive flag
to skip prompts, auto-init git, and skip agent detection when called
from the wizard context.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

github-actions bot commented Feb 11, 2026

🔗 Docs Preview

Preview URL: https://staging-v0-2-0.ralph-starter-docs.pages.dev

This preview was deployed from the latest commit on this PR.

@rubenmarcus rubenmarcus added the release Release PR label Feb 12, 2026
@rubenmarcus rubenmarcus merged commit 4a4e14f into main Feb 12, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants