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

runcodingplan

v1.0.0

Published

Switch Claude Code between alternative AI providers — ZAI, Kimi, MiniMax, Alibaba & custom

Downloads

155

Readme

RunCodingPlan

"Run Claude Code with any plan." — Switch Claude Code between alternative AI providers in one command.

  ╦═╗╦ ╦╔╗╔╔═╗╔═╗╔╦╗╦╔╗╔╔═╗╔═╗╦  ╔═╗╔╗╔
  ╠╦╝║ ║║║║║  ║ ║ ║║║║║║║ ╦╠═╝║  ╠═╣║║║
  ╩╚═╚═╝╝╚╝╚═╝╚═╝═╩╝╩╝╚╝╚═╝╩  ╩═╝╩ ╩╝╚╝   v1.0.0

runcodingplan is a zero-dependency NPX CLI that manages per-session Claude Code settings for alternative AI providers. Pick a provider (ZAI / Kimi / MiniMax / Alibaba / custom), pick a model, and launch Claude Code with the right ANTHROPIC_* env vars — without ever touching your original ~/.claude/settings.json.

Quick Start

# 1) Interactive menu
npx runcodingplan

# 2) Save a provider API key
npx runcodingplan -p zai -a sk-xxx...

# 3) Launch with a specific model
npx runcodingplan -p zai -m glm-5.1

# 4) Sync the model registry from GitHub
npx runcodingplan -u

Built-in Providers

| ID | Provider | Signup | |----|----------|--------| | zai | ZAI (Zhipu AI) | https://z.ai/subscribe | | kimi | Kimi (Moonshot AI) | https://kimi.com/code | | minimax | MiniMax | https://platform.minimax.io/subscribe/token-plan | | alibaba | Alibaba DashScope Coding Plan | https://www.alibabacloud.com/en/campaign/ai-scene-coding |

Run npx runcodingplan -l to see all models.

🎁 Referral / Affiliate Links

Full disclosure: the links below are my personal referral codes. If you subscribe through them you get a discount / signup bonus, and I get a small referral credit at no extra cost to you. Using the plain signup URLs in the table above works exactly the same — use whichever you prefer.

| Provider | Affiliate Link | What you get | |----------|----------------|--------------| | ZAI — GLM Coding Plan | bit.ly/4tJ4GLP | Full Claude Code / Cline support, plans from $18/mo | | MiniMax — Token Plan | bit.ly/4tgh1rh | 10% off + API vouchers |

These codes are also embedded in the app (shown with a 🎁 icon + (affiliate) tag whenever a provider has no API key). They're served from registry/models.json so running npx runcodingplan -u pulls the latest links — if a code ever expires, the repo is the source of truth.

Usage

Interactive

npx runcodingplan

Shows a status box of every provider, lets you pick one, optionally prompts for an API key, then asks for a model, confirms flags, writes a session file and spawns claude with it.

Direct launch

npx runcodingplan -p kimi                              # default model
npx runcodingplan -p kimi -m kimi-k2.6-code-preview    # specific model
npx runcodingplan -p alibaba -m qwen3-coder-plus -sd   # with --dangerously-skip-permissions

Custom providers

Any Anthropic-compatible endpoint works:

# Interactive
npx runcodingplan --add-custom

# One-shot
npx runcodingplan --add-custom \
  --name "DeepSeek" \
  --url "https://api.deepseek.com/anthropic" \
  -a sk-xxx \
  -m deepseek-r3

# Launch it
npx runcodingplan -p deepseek

Remove one:

npx runcodingplan --remove-custom deepseek

User-added models

Add a model to any built-in provider without waiting for a registry update:

npx runcodingplan -p zai --add-model glm-6 --set-default
npx runcodingplan -p zai --remove-model glm-6

User-added models show with (*). When you run npx runcodingplan -u and the registry now contains that model, it is auto-promoted out of userModels.

Everything else

npx runcodingplan --list            # list providers + models
npx runcodingplan --list-custom     # only custom
npx runcodingplan --status          # config, keys, sessions
npx runcodingplan --clean           # remove session files >24h old
npx runcodingplan -p zai --remove-key
npx runcodingplan --no-launch -p zai    # write session file only
npx runcodingplan --dry-run -p zai      # print session JSON to stdout

CLI flags

| Flag | Alias | Value | Description | |------|-------|-------|-------------| | --provider | -p | id | zai, kimi, minimax, alibaba, or custom | | --model | -m | id | Model name | | --apikey | -a | string | Set/update API key | | --skip-dangerous | -sd | | Add --dangerously-skip-permissions | | --statusline | -sl | | Include statusLine config | | --update | -u | | Pull registry from GitHub | | --list | -l | | List all providers | | --list-custom | | | List only custom providers | | --status | | | Show current config | | --remove-key | | | Remove provider API key | | --add-custom | | | Add custom provider (interactive or flags) | | --remove-custom | | id | Remove custom provider | | --add-model | | id | Add a model to provider | | --remove-model | | id | Remove user-added model | | --set-default | | | Make added/selected model the default | | --name | | string | Custom provider name (with --add-custom) | | --url | | url | Custom provider base URL (with --add-custom) | | --clean | | | Delete stale session files | | --no-launch | | | Write session file, don't launch | | --dry-run | | | Print session JSON to stdout | | --version | -v | | Show version | | --help | -h | | Show help |

How it works

runcodingplan never modifies ~/.claude/settings.json. For every launch it:

  1. Resolves the provider (built-in registry + user-added models, or custom).
  2. Decrypts the API key from ~/.claude/.runcodingplan/keys.json.
  3. Writes a one-off ~/.claude/runcodingplan-<provider>-<timestamp>.json with the right ANTHROPIC_* env vars and (optionally) a statusLine.
  4. Spawns claude --settings <that-file> with your stdio attached.
  5. Old session files (>24h) are cleaned up next time you run.

File layout

~/.claude/
├── settings.json                    # your original settings — UNTOUCHED
├── runcodingplan-zai-<ts>.json            # per-launch session file
└── .runcodingplan/
    ├── config.json                  # provider defaults, user models, custom providers
    ├── keys.json                    # AES-256-GCM encrypted API keys
    └── registry.json                # cached model registry from GitHub

Security

API keys are encrypted with AES-256-GCM. The key is derived with PBKDF2 from hostname + username + salt, so copying keys.json to another machine will fail to decrypt. Not a hardware-backed keystore — good enough to prevent casual plaintext exposure, and your cleartext key only lives inside the per-session JSON file (which you can purge with --clean).

Requirements

  • Node.js ≥ 18
  • Claude Code installed (claude on $PATH / claude.cmd on Windows)

Development

pnpm install
pnpm test
pnpm build
node dist/index.js --help

🔗 Also by @ersinkoc

If runcodingplan saved you time, you might like these too:

🏗️ project-architect

An Agent Skill for documentation-first project planning. Transforms a project idea into implementation-ready blueprints and a single-shot coding agent prompt.

Describe what you want to build → get a full spec, folder layout, and an agent-ready prompt. Ship the plan, not vibes.

🛡️ security-check

Your AI becomes a Security Team. Every Language. Every Layer. Zero Tools.

npx skills add ersinkoc/security-check

No scanners, no subscriptions — drop the skill into your agent and it audits your codebase for OWASP, auth, crypto, injection, secrets, and config issues end-to-end.


License

MIT © Ersin Koc