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

@tomagranate/corsa

v1.1.2

Published

A Terminal User Interface (TUI) for running multiple local development servers and tools simultaneously

Readme

corsa

A Terminal User Interface (TUI) for managing multiple local development processes. View real-time logs, monitor status, and control all your dev servers from a single dashboard.

Built with OpenTUI.

Why corsa?

When working on a full-stack project, you often need to run multiple processes simultaneously—a frontend dev server, a backend API, database containers, workers, etc. corsa gives you:

  • Single dashboard for all your processes with tabbed log viewing
  • Real-time logs with search and ANSI color support
  • Status monitoring to see at a glance what's running, stopped, or crashed
  • Health checks to monitor service availability
  • AI integration via MCP to let your IDE assistant read logs and control processes

Installation

Homebrew (macOS and Linux)

brew install tomagranate/tap/corsa

NPM

npm install -g @tomagranate/corsa

curl (macOS and Linux)

curl -fsSL https://raw.githubusercontent.com/tomagranate/corsa/main/install.sh | bash

Manual Download

Download the latest binary for your platform from Releases.

| Platform | Download | |----------|----------| | macOS (Apple Silicon) | corsa-darwin-arm64.tar.gz | | macOS (Intel) | corsa-darwin-x64.tar.gz | | Linux (x64) | corsa-linux-x64.tar.gz | | Linux (ARM64) | corsa-linux-arm64.tar.gz | | Windows (x64) | corsa-windows-x64.zip |

Quick Start

  1. Create a config file in your project:
corsa init
  1. Edit corsa.config.toml to add your processes:
[[tools]]
name = "frontend"
command = "npm"
args = ["run", "dev"]
cwd = "./frontend"

[[tools]]
name = "backend"
command = "python"
args = ["-m", "uvicorn", "main:app", "--reload"]
cwd = "./backend"
  1. Start the dashboard:
corsa

CLI Reference

Commands

| Command | Description | |---------|-------------| | corsa | Start the TUI dashboard | | corsa init | Create a sample config file in the current directory | | corsa mcp | Start the MCP server for AI agent integration |

Options

| Option | Description | |--------|-------------| | -c, --config <path> | Path to config file (default: corsa.config.toml) | | -h, --help | Show help message |

Examples

# Start with default config
corsa

# Use a custom config file
corsa --config ./configs/dev.toml
corsa -c ./configs/dev.toml

# Create a new config file
corsa init

# Start MCP server for AI integration
corsa mcp

Configuration

corsa is configured via a TOML file. By default, it looks for corsa.config.toml in the current directory.

Minimal Example

[[tools]]
name = "server"
command = "npm"
args = ["run", "dev"]

Full Example

[home]
enabled = true
title = "My Project"

[ui]
theme = "mist"
showTabNumbers = true

[mcp]
enabled = true

[[tools]]
name = "web"
command = "npm"
args = ["run", "dev"]
cwd = "./web"
description = "Next.js frontend"

[tools.ui]
label = "Open App"
url = "http://localhost:3000"

[tools.healthCheck]
url = "http://localhost:3000/api/health"
interval = 5000

[[tools]]
name = "api"
command = "cargo"
args = ["watch", "-x", "run"]
cwd = "./api"
description = "Rust API server"
cleanup = ["pkill -f 'target/debug/api'"]

[tools.env]
RUST_LOG = "debug"

For a complete reference of all configuration options, see the sample config file.

Themes

corsa includes several built-in themes. Set in your config:

[ui]
theme = "mist"

Available themes: default (Moss), mist, cappuccino, synthwave, terminal (auto-detect from your terminal).

MCP Integration

corsa can expose an HTTP API for AI agents (Cursor, Claude, etc.) via the Model Context Protocol.

Enable in Config

[mcp]
enabled = true
port = 18765

Configure Your IDE

Add to your MCP configuration (e.g., ~/.cursor/mcp.json):

{
  "mcpServers": {
    "corsa": {
      "command": "corsa",
      "args": ["mcp"]
    }
  }
}

Available MCP Tools

| Tool | Description | |------|-------------| | list_processes | List all processes with status, health, and last 20 log lines | | get_logs | Get recent logs (supports search and line limits) | | stop_process | Stop a running process | | restart_process | Restart a process | | clear_logs | Clear logs for a process | | send_keys | Send virtual keypresses to an interactive process | | reload_config | Reload config file and restart all processes |

Contributing

See the Contributing Guide for development setup and guidelines.

License

MIT