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

@monolithia/monoplane

v0.1.0

Published

CLI for Plane project management — works with Plane Cloud and self-hosted instances

Readme

monoplane

CLI for Plane project management — works with Plane Cloud and self-hosted instances.

Install

npm install -g monoplane

Or download a binary from GitHub Releases.

Quick Start

# 1. Register your Plane instance
monoplane instance add

# 2. Verify authentication
monoplane me

# 3. Start managing projects
monoplane project list
monoplane issue list <project-id>
monoplane issue create <project-id> -n "Fix login bug" -p high

Configuration

Config is stored at ~/.config/monoplane/config.toml.

Multi-Instance Support

Manage multiple Plane instances (cloud + self-hosted):

# Add instances
monoplane instance add -n work -u plane.mycompany.com -k plane_api_xxx -w my-workspace
monoplane instance add -n cloud -u api.plane.so -k plane_api_yyy -w my-cloud-ws

# Switch between them
monoplane instance switch cloud
monoplane instance list

Output Format

# Default is table; switch to JSON globally
monoplane config set defaults.output json

# Or per-command
monoplane project list --json

Commands

Auth & Config

| Command | Description | |---------|-------------| | monoplane auth login | Set API key for active instance | | monoplane auth status | Show authentication status | | monoplane me | Show current user | | monoplane instance add | Register a new Plane instance | | monoplane instance list | List all configured instances | | monoplane instance switch <name> | Switch active instance | | monoplane instance remove <name> | Remove an instance | | monoplane instance update <name> | Update instance settings | | monoplane config set <key> <value> | Set a config value | | monoplane config get [key] | Show config values |

Projects

monoplane project list
monoplane project create -n "My Project" -i PROJ
monoplane project view <project-id>
monoplane project update <project-id> -n "New Name"
monoplane project delete <project-id>
monoplane project archive <project-id>
monoplane project unarchive <project-id>

Work Items (Issues)

monoplane issue list <project-id>
monoplane issue create <project-id> -n "Fix bug" -p high -a <user-id>
monoplane issue view <project-id> <issue-id>
monoplane issue update <project-id> <issue-id> -p medium -s <state-id>
monoplane issue delete <project-id> <issue-id>
monoplane issue search <project-id> -q "login"

States & Labels

monoplane state list <project-id>
monoplane state create <project-id> -n "In Review" -c "#f39c12" -g started
monoplane label list <project-id>
monoplane label create <project-id> -n "bug" -c "#ff0000"

Cycles & Modules

monoplane cycle list <project-id>
monoplane cycle create <project-id> -n "Sprint 1" --start-date 2024-01-01 --end-date 2024-01-14
monoplane cycle add-issue <project-id> <cycle-id> -i <issue-id-1> <issue-id-2>

monoplane module list <project-id>
monoplane module create <project-id> -n "Auth Module" -s in-progress
monoplane module add-issue <project-id> <module-id> -i <issue-id>

Comments & Activity

monoplane comment list <project-id> <issue-id>
monoplane comment create <project-id> <issue-id> -m "Looks good!"
monoplane activity list <project-id> <issue-id>

Pages

monoplane page list                          # Workspace pages
monoplane page list --project <project-id>   # Project pages
monoplane page create -n "Meeting Notes"

Members & Invitations

monoplane member list
monoplane member list --project <project-id>
monoplane invitation list
monoplane invitation create -e [email protected] -r 15

Customers

monoplane customer list
monoplane customer create -n "Acme Corp" -e [email protected]

Custom Properties & Types

monoplane property list
monoplane property create -n "Severity" -t select
monoplane type list

Estimates

monoplane estimate list <project-id>
monoplane estimate create <project-id> -n "Story Points" -t points

Intake Issues

monoplane intake list <project-id>
monoplane intake create <project-id> -n "Feature request from customer"
monoplane intake update <project-id> <intake-id> -s 1   # Accept

Attachments

monoplane attachment list <project-id> <issue-id>
monoplane attachment upload <project-id> <issue-id> ./screenshot.png
monoplane attachment delete <project-id> <issue-id> <attachment-id>

Shell Completions

# Bash
eval "$(monoplane completion bash)"

# Zsh
eval "$(monoplane completion zsh)"

# Fish
monoplane completion fish > ~/.config/fish/completions/monoplane.fish

Self-Hosted Instances

Monoplane works with any Plane deployment. Just provide your domain:

monoplane instance add -n selfhosted -u plane.internal.company.com -k <key> -w <workspace>

The CLI auto-detects the protocol (tries HTTPS first, falls back to HTTP) and appends the API path (/api/v1).

Global Flags

| Flag | Description | |------|-------------| | --json | Output as JSON (overrides config default) | | --cursor <cursor> | Pagination cursor for list commands | | --per-page <n> | Results per page (1-100) | | -h, --help | Show help | | -V, --version | Show version |

MCP Server (Model Context Protocol)

Monoplane includes a built-in MCP server so Claude (and other LLM clients) can manage your Plane instance directly.

Setup with Claude Code

Add to your Claude Code MCP config (~/.claude/claude_desktop_config.json or project .mcp.json):

{
  "mcpServers": {
    "monoplane": {
      "command": "monoplane-mcp"
    }
  }
}

Or if using npx without global install:

{
  "mcpServers": {
    "monoplane": {
      "command": "npx",
      "args": ["-y", "monoplane", "monoplane-mcp"]
    }
  }
}

Prerequisites

Before using the MCP server, configure at least one Plane instance via the CLI:

monoplane instance add -n work -u plane.mycompany.com -k <api-key> -w <workspace-slug>

The MCP server reads the same config file (~/.config/monoplane/config.toml) as the CLI.

Available Tools (64 total)

| Category | Tools | |----------|-------| | Auth | plane_get_me | | Projects | plane_list_projects, plane_create_project, plane_get_project, plane_update_project, plane_delete_project, plane_archive_project, plane_unarchive_project | | Issues | plane_list_issues, plane_create_issue, plane_get_issue, plane_update_issue, plane_delete_issue, plane_search_issues | | States | plane_list_states, plane_create_state, plane_update_state, plane_delete_state | | Labels | plane_list_labels, plane_create_label, plane_update_label, plane_delete_label | | Cycles | plane_list_cycles, plane_create_cycle, plane_get_cycle, plane_update_cycle, plane_delete_cycle, plane_add_issues_to_cycle, plane_remove_issue_from_cycle | | Modules | plane_list_modules, plane_create_module, plane_get_module, plane_update_module, plane_delete_module, plane_add_issues_to_module, plane_remove_issue_from_module | | Comments | plane_list_comments, plane_create_comment, plane_update_comment, plane_delete_comment | | Activity | plane_list_activity | | Pages | plane_list_pages, plane_create_page, plane_get_page | | Members | plane_list_members | | Invitations | plane_list_invitations, plane_create_invitation, plane_delete_invitation | | Customers | plane_list_customers, plane_create_customer, plane_get_customer, plane_update_customer, plane_delete_customer | | Properties | plane_list_properties, plane_create_property, plane_delete_property | | Types | plane_list_issue_types | | Estimates | plane_list_estimates, plane_create_estimate, plane_delete_estimate | | Intake | plane_list_intake_issues, plane_create_intake_issue, plane_update_intake_issue, plane_delete_intake_issue |

Example prompts with Claude

"List all projects in my workspace" "Create a high-priority bug in the Auth project: login fails on Safari" "What issues are in the current sprint?" "Move all unfinished items from Sprint 3 to Sprint 4" "Add a comment to issue X saying the fix is deployed"

License

AGPL-3.0