npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ralphctl

v0.1.3

Published

Sprint and task management CLI for AI-assisted coding

Readme

npm version npm downloads CI License: MIT TypeScript Node.js code style: prettier ESLint PRs Welcome Claude Code GitHub Copilot Built with Donuts

  🍩 ██████╗  █████╗ ██╗     ██████╗ ██╗  ██╗ ██████╗████████╗██╗     🍩
     ██╔══██╗██╔══██╗██║     ██╔══██╗██║  ██║██╔════╝╚══██╔══╝██║
     ██████╔╝███████║██║     ██████╔╝███████║██║        ██║   ██║
     ██╔══██╗██╔══██║██║     ██╔═══╝ ██╔══██║██║        ██║   ██║
     ██║  ██║██║  ██║███████╗██║     ██║  ██║╚██████╗   ██║   ███████╗
     ╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝  ╚═╝ ╚═════╝   ╚═╝   ╚══════╝

Sprint and task management CLI for AI-assisted coding with Claude Code or GitHub Copilot.

"I'm helping!" — Ralph Wiggum

[!NOTE] Early access. RalphCTL is under active development. Things work, but expect rough edges and breaking changes before 1.0. Read the blog post for the backstory.

You write tickets, your AI buddy (Claude or Copilot) refines the requirements, then breaks them into tasks and executes them. RalphCTL keeps track of the state so nothing gets lost between sessions. Ralph Wiggum personality included because why not.


Install

npm install -g ralphctl

This installs the ralphctl command globally.

Prerequisites

2-Minute Quick Start

# 1. Register a project (points to your repo)
ralphctl project add

# 2. Create a sprint
ralphctl sprint create --name "my-first-sprint"

# 3. Add a ticket
ralphctl ticket add --project my-app --title "Add user authentication"

# 4. Let AI refine requirements, plan tasks, and execute
ralphctl sprint refine
ralphctl sprint plan
ralphctl sprint start

Or just run ralphctl with no arguments for an interactive menu that walks you through everything.


Table of Contents


Features

  • Two-phase planning — clarify requirements first (what), then generate tasks (how), with a human approval gate between them
  • Multi-repo sprints — a single sprint can track tickets across multiple repositories
  • Task dependenciesblockedBy references with topological sort; tasks run in the right order
  • Interactive or headless — pair with Claude in a session, or let it run unattended
  • Sprint lifecycle — state machine (draft -> active -> closed) with file locking for concurrent safety
  • Parallel execution — one task per repo at a time, with automatic rate limit backoff and session resume
  • Menu mode — run ralphctl with no arguments for an interactive menu

CLI Overview

Getting Started

| Command | Description | | ------------------------------------------------ | ----------------------------------- | | ralphctl | Interactive menu mode (recommended) | | ralphctl doctor | Check environment health | | ralphctl config set provider <claude\|copilot> | Set AI provider | | ralphctl config show | Show current configuration | | ralphctl completion install | Enable shell tab-completion |

Project & Sprint Setup

| Command | Description | | ------------------------ | -------------------------------- | | ralphctl project add | Register a project and its repos | | ralphctl sprint create | Create a new sprint (draft) | | ralphctl sprint list | List all sprints | | ralphctl sprint show | Show current sprint details | | ralphctl sprint switch | Quick sprint switcher | | ralphctl ticket add | Add a work item to a sprint |

AI-Assisted Planning

| Command | Description | | ------------------------------ | --------------------------------------- | | ralphctl sprint refine | Clarify requirements with AI (WHAT) | | ralphctl sprint plan | Generate tasks from requirements (HOW) | | ralphctl sprint ideate | Quick single-session refine + plan | | ralphctl sprint requirements | Export refined requirements to markdown |

Execution & Monitoring

| Command | Description | | ------------------------ | --------------------------------- | | ralphctl sprint start | Execute tasks with AI | | ralphctl sprint health | Diagnose blockers and stale tasks | | ralphctl dashboard | Sprint overview with progress bar | | ralphctl task list | List tasks in the current sprint | | ralphctl task next | Show the next unblocked task | | ralphctl sprint close | Close an active sprint | | ralphctl sprint delete | Delete a sprint permanently |

Run ralphctl <command> --help for details on any command.


AI Provider Configuration

RalphCTL supports Claude Code and GitHub Copilot as AI backends. Both use the same prompt templates and workflow.

ralphctl config set provider claude      # Use Claude Code
ralphctl config set provider copilot     # Use GitHub Copilot

Auto-prompts on first AI command if not set. Both CLIs must be in your PATH and authenticated.

Provider Differences

| Feature | Claude Code | GitHub Copilot | | --------------------------- | ------------------------------------ | -------------------------------------------------------------------- | | Status | GA | Public preview | | Headless execution | -p --output-format json | -p -s --autopilot --no-ask-user | | Session IDs | In JSON output (session_id) | Captured via --share output file | | Session resume (--resume) | Full support | Supported when session ID is available | | Per-tool permissions | Settings files + --permission-mode | --allow-all-tools (all-or-nothing by default) | | Fine-grained tool control | allow/deny in settings files | --allow-tool, --deny-tool flags (not yet used) | | Rate limit detection | Validated patterns | Borrowed from Claude — not yet validated against real Copilot errors |


Documentation

| Document | Description | | ----------------------------------------------------------- | ---------------------------------------------- | | REQUIREMENTS.md | Acceptance criteria and feature requirements | | ARCHITECTURE.md | Data models, file storage, and error reference | | CLAUDE.md | Developer guide and Claude Code project config | | CONTRIBUTING.md | How to contribute | | CHANGELOG.md | Version history | | Blog post | Background and motivation |


Data Directory

RalphCTL stores all data in ~/.ralphctl/ by default. Override with RALPHCTL_ROOT:

export RALPHCTL_ROOT="/path/to/custom/data-dir"

Development

git clone https://github.com/lukas-grigis/ralphctl.git
cd ralphctl
pnpm install
pnpm dev --help          # Run CLI in dev mode (tsx, no build needed)
pnpm build               # Compile for npm distribution (tsup)
pnpm typecheck           # Type check
pnpm test                # Run tests
pnpm lint                # Lint

Contributing

Contributions are welcome! Please open an issue first to discuss what you'd like to change.

See CONTRIBUTING.md for the full guide — dev setup, code style, PR process, and releasing.

This project follows the Contributor Covenant code of conduct.


Security

To report a vulnerability, use GitHub's private reporting. See SECURITY.md for details.


License

MIT — see LICENSE for details.