dev-tools 5 min read

OpenPackage - Universal Plugin Manager for AI Coding Agents

OpenPackage is an open-source CLI package manager for AI coding agent configs — install and sync rules, commands, agents, skills, and MCPs across any platform.

By
Share: X in
OpenPackage - Universal plugins for coding agents

TL;DR

TL;DR: OpenPackage is an open-source npm package (opkg) that lets you install, manage, and share AI coding agent configs — rules, commands, agents, skills, and MCPs — across any platform from a single CLI.

Source and Accuracy Notes

What Is OpenPackage?

Modern AI coding tools — Claude Code, Cursor, Windsurf, Kiro, Roo Code, and dozens of others — each store agent configuration in different directories with different formats. A rule set for code review lives in .claude/rules/ on Claude Code, but in .cursor/rules/ on Cursor. A slash command that works on one platform is a plain markdown file somewhere else. Managing these configs by hand means copy-pasting the same files into four different directory structures every time you want to add a new skill.

OpenPackage solves this with a npm-published CLI called opkg. It packages AI coding configs as versioned modules you can install from a central registry, GitHub repos, or any git URL — and automatically reformats and places files into the right directories for your target platform.

From the README:

OpenPackage enables simple, modular management of coding agent configs, providing unified installation, management, and packaging of rules, commands, agents, skills, and MCPs for any platform, any codebase.

The tool supports 38 platforms out of the box, including Claude Code, Cursor, Windsurf, Roo Code, Kiro, Kilo Code, Qwen Code, Factory AI, OpenCode, Antigravity, and Codex — with the ability to add custom platform mappings via a platforms.jsonc override file.

Setup

Install the CLI with npm:

npm install -g opkg

Verify it is working:

opkg --version

Core Workflows

Installing a package

Install a named package from the OpenPackage registry:

opkg install essentials

Install from a GitHub repo:

opkg install gh@anthropics/claude-code --plugins code-review
opkg install gh@wshobson/agents --plugins ui-design --agents ui-designer

Install from a Git URL:

opkg install https://github.com/anthropics/claude-code/tree/main/plugins/code-review
opkg install [email protected]:owner/repo.git#main

Creating a package

Initialize a new package in the current directory:

opkg init

This creates an openpackage.json manifest file. Add files to it:

opkg add --to my-package           # interactive file picker
opkg add commands/clean.md --to my-package   # add a specific file

Remove files:

opkg remove --from my-package
opkg remove commands/clean.md --from my-package

Supported file types per platform

OpenPackage maps input files to platform-specific output directories. The supported types are:

| Type | Description | |---|---| | rules/ | Instruction rule files that guide agent behavior | | commands/ | Slash commands available in the agent’s terminal | | agents/ | Sub-agent definitions (personas, specialized assistants) | | skills/ | Capability modules the agent can call on | | MCP | Model Context Protocol server configurations |

A single opkg install can wire up rules for Claude Code, skills for Cursor, and MCP servers for Windsurf simultaneously — each going to the right directory in the right format.

Platform Compatibility

OpenPackage ships a built-in platforms.jsonc that defines the directory mapping for 38 platforms. For example:

| Platform | Config root | |---|---| | Claude Code | .claude/ | | Cursor | .cursor/ | | Windsurf | .windsurf/ | | Roo Code | .roo/ | | Kiro | .kiro/ | | Factory AI | .factory/ | | Qwen Code | .qwen/ | | OpenCode | .opencode/ |

You can override or extend this with your own platforms.jsonc at the global level (~/.openpackage/platforms.jsonc) or workspace level (<cwd>/.openpackage/platforms.jsonc). The merging order is local > global > built-in, so per-project customizations always win.

Security Notes

OpenPackage runs entirely locally. It has no telemetry, requires no API key, and does not make outbound network requests beyond npm install for the package itself and optional registry lookups when installing from named packages. Config files written to your project directory are plain text — review them before installation the same way you would any npm postinstall script.

FAQ

Q: Does OpenPackage support MCP servers? A: Yes. MCP server definitions (URLs, command arguments) are one of the supported file types. The tool writes them to each platform’s native MCP config location, such as .mcp.json for Claude Code or mcp.json for Cursor.

Q: How is this different from Claude Code Plugins? A: Claude Code Plugins are scoped to Claude Code alone. OpenPackage installs the same logical package into multiple platforms simultaneously, and the format is converted automatically. It is also fully open source under Apache-2.0.

Q: Can I use this without a registry account? A: Yes. opkg install gh@owner/repo works directly from any GitHub repository without publishing to the OpenPackage registry. Registry accounts are only needed for publishing named packages.

Q: What happens if a platform is not supported? A: You can add a custom platform mapping via platforms.jsonc. You can also submit a pull request to have the platform added to the built-in mapping in packages.jsonc.

Conclusion

OpenPackage fills a real gap in the AI coding tool ecosystem: the lack of a standard, cross-platform package manager for agent configuration files. If you use more than one AI coding tool, or if you want to share a skill or rule set with your team without manually porting it to each platform’s format, opkg is purpose-built for exactly that. Install it with npm install -g opkg and browse the public registry at openpackage.dev.