https://github.com/enulus/OpenPackage
The open, universal, coding agent skills, agents, rules, and commands organizer and package manager.
https://github.com/enulus/OpenPackage
agents ai cli coding commands openpackage opkg package-manager plugins rules skills
Last synced: 1 day ago
JSON representation
The open, universal, coding agent skills, agents, rules, and commands organizer and package manager.
- Host: GitHub
- URL: https://github.com/enulus/OpenPackage
- Owner: enulus
- License: apache-2.0
- Created: 2025-10-15T03:07:47.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-26T09:28:09.000Z (about 1 month ago)
- Last Synced: 2026-03-01T21:54:24.657Z (27 days ago)
- Topics: agents, ai, cli, coding, commands, openpackage, opkg, package-manager, plugins, rules, skills
- Language: TypeScript
- Homepage: https://openpackage.dev
- Size: 5 MB
- Stars: 386
- Watchers: 3
- Forks: 17
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
The package manager for coding agent configs.
Follow @hyericlee on X for updates · Join the OpenPackage Discord for help and questions.
# OpenPackage
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.
## Why OpenPackage?
Modern AI coding tools are powerful and efficient when rules, commands, subagents, and skills are properly setup. Unfortunately, these files remain difficult to organize and manage.
OpenPackage provides a centralized and universal interface for installing, uninstalling, and packaging coding agent config files for simplified management and distribution.
- **Simplified config management** - Install & uninstall rules, commands, agents, skills and MCPs with a single command
- **Consistent dependencies** - Declare and package sets of config files for organization and reuse
- **Universal compatability** - Built in cross-platform conversions and install target resolutions
- **Community driven** - Compose packages together to create powerful workflows that continuously evolve
## Use cases
- Install Agents, Skills, and Claude Plugins to any coding platform
- Sync rules, commands, agents, skills, and MCPs across platforms
- Reuse files and configs across multiple codebases
- Simplified, modular management and install/uninstall of configs and specs
## How it works
At its core, OpenPackage is a lightweight CLI package manager that performs installs and uninstalls of config files, with the ability to keep track of file sources and dependencies, plus packaging capabilities.
It's basically a much more powerful, universal, and open source version of Vercel Skills and Claude Code Plugins.
## Install OpenPackage
npm
```bash
npm install -g opkg
```
## Quick start
### Install resources
```bash title="Terminal"
opkg install
```
Installs all files from a specified resource into the codebase at cwd, formatted and converted to per platform conventions and into their respective dirs.
#### Install resources (packages, plugins, rules, commands, agents, and skills)
```bash title="Terminal"
# OpenPackage local or remote packages
opkg install
# Github repos
opkg install gh@/
# GitHub URLs
opkg install https://github.com///
# Local path to package or Claude Plugin
opkg install
# Git URLs
opkg install git@:.git
# Examples
opkg install essentials
opkg install gh@anthropics/claude-code --plugins code-review
opkg install gh@wshobson/agents --plugins ui-design --agents ui-designer
opkg install gh@wshobson/agents/plugins/ui-design/agents/ui-designer
opkg install gh@vercel-labs/agent-skills --skills react-best-practices
opkg install https://github.com/anthropics/claude-code/tree/main/plugins/code-review
opkg install https://github.com/wshobson/agents/tree/main/plugins/ui-design/agents/ui-designer.md
opkg install https://github.com/vercel-labs/agent-skills/tree/main/skills/react-best-practices
```
#### Options
| Option | Description |
| --- | --- |
| `-g, --global` | Install to home directory (~/) instead of current workspace |
| `-s, --skills ` | Install specific skills by name |
| `-a, --agents ` | Install specific agents by name |
| `-c, --commands ` | Install specific commands by name |
| `-r, --rules ` | Install specific rules by name |
| `--plugins ` | Install specific plugins by name |
| `--platforms ` | Install to specific platforms (e.g., cursor claudecode opencode) |
| `-i, --interactive` | Interactively select resources to install |
| `--dev` | Add resource to dev-dependencies |
| `--remote` | Pull and install from remote registry, ignoring local versions |
| `--local` | Resolve and install using only local registry versions |
### List installed resources
```bash title="Terminal"
opkg list # Lists resources installed to workspace at cwd
opkg list # Lists installed files for specified resource
```
Use the list command to show an overview of packages and files installed.
#### Options
| Option | Description |
| --- | --- |
| `-s, --scope ` | Workspace scope: project or global (default: both) |
| `--flat` | List packages at root level without nesting |
| `-f, --files` | Show individual file paths |
| `-t, --tracked` | Show only tracked resources (skip untracked scan) |
| `-u, --untracked` | Show only untracked resources |
| `--platforms ` | Filter by specific platforms (e.g., cursor, claude) |
### Uninstall packages
```bash title="Terminal"
opkg uninstall
```
Removes all files for a package from the codebase at cwd.
#### Options
| Option | Description |
| --- | --- |
| `-g, --global` | Uninstall from home directory (~/) instead of current workspace |
| `-i, --interactive` | Interactively select items to uninstall |
> [!TIP]
> Learn more by heading over to the [official docs](https://openpackage.dev/docs).
### Compose packages
```bash title="Terminal"
opkg new
```
#### Options
| Option | Description |
| --- | --- |
| `--scope ` | Package scope: root, project, or global (default: global) |
| `--path ` | Custom path for package directory (overrides scope) |
Then manually add/update/remove files to and from the package following this structure:
```txt title="Structure"
│
│ # Package files
├── openpackage.yml # The OpenPackage manifest, required
├── README.md # LICENSE.md, CONTRIBUTING.md, etc.
│
│ # Content files
├── rules/ # Rule files
├── commands/ # Command files (slash commands)
├── agents/ # Agent files (subagents)
├── skills/ # Skill files (skills)
├── root/ # Any other root dirs or files (Ex: specs/, docs/, tests/, etc.)
├── AGENTS.md # Platform root file
├── mcp.jsonc # MCP config file
│
│ # Custom files
└── # Customizable via `platforms.jsonc` overrides/extensions
```
You can also use the `add` and `remove` commands to add/remove files to/from a package.
```bash title="Terminal"
opkg add --to # Interactively select files from cwd to add to package
opkg add .cursor/commands/clean.md --to # Adds workspace file or dir to package
opkg remove --from # Interactively select files from package to remove
opkg remove commands/clean.md --from # Removes file or dir from package
```
#### `add` options
| Option | Description |
| --- | --- |
| `--to ` | Target package (for dependency: which manifest; for copy: which package source) |
| `--dev` | Add to dev-dependencies instead of dependencies |
| `--copy` | Force copy mode (copy files instead of recording dependency) |
| `--platform-specific` | Save platform-specific variants for platform subdir inputs |
#### `remove` options
| Option | Description |
| --- | --- |
| `--from ` | Source package name (defaults to workspace package) |
> [!TIP]
> Learn more about packages from the [packages doc](https://openpackage.dev/docs/packages) on our official docs.
## Supported Platforms & Files
OpenPackage performs installation and platform sync of files for supported AI coding platforms outlined by the table below.
| Platform | Directory | Root file | Rules | Commands | Agents | Skills | MCP |
| --- | --- | --- | --- | --- | --- | --- | --- |
| AdaL | .adal/ | | | | | skills/ | settings.json |
| Amp | .agents/ | | checks/ | | | skills/ | .amp/settings.json |
| Antigravity | .agent/ | | rules/ | workflows/ | | skills/ | |
| Augment Code | .augment/ | | rules/ | commands/ | | skills/ | |
| Claude Code | .claude/ | CLAUDE.md | rules/ | commands/ | agents/ | skills/ | .mcp.json (root) |
| Claude Code Plugin | .claude-plugin/ | | rules/ | commands/ | agents/ | skills/ | .mcp.json (root) |
| Cline | .cline/ | | | | | skills/ | cline_mcp_settings.json |
| CodeBuddy | .codebuddy/ | | rules/ | | | skills/ | |
| Codex CLI | .codex/ | | | prompts/ | | skills/ | config.toml |
| Command Code | .commandcode/ | | | commands/ | agents/ | skills/ | |
| Continue | .continue/ | | rules/ | prompts/ | | skills/ | |
| Crush | .config/crush/ | | | | | skills/ | crush.json (root) |
| Cursor | .cursor/ | | rules/ | commands/ | agents/ | skills/ | mcp.json |
| Factory AI | .factory/ | | | commands/ | droids/ | skills/ | settings/mcp.json |
| GitHub Copilot | .github/ | | | | agents/ | skills/ | |
| Goose | .goose/ | | | | | skills/ | config.yaml |
| iFlow CLI | .iflow/ | IFLOW.md | | commands/ | agents/ | skills/ | settings.json |
| Junie | .junie/ | | | | | skills/ | |
| Kilo Code | .kilocode/ | | rules/ | workflows/ | | skills/ | mcp.json |
| Kimi Code CLI | .agents/ | | | | | skills/ | .kimi/mcp.json |
| Kiro | .kiro/ | | steering/ | | | skills/ | settings/mcp.json |
| Kode | .kode/ | | | | | skills/ | |
| MCPJam | .mcpjam/ | | | | | skills/ | |
| Mistral Vibe | .vibe/ | | | | | skills/ | |
| Mux | .mux/ | | | | | skills/ | |
| Neovate | .neovate/ | | | | | skills/ | mcp.json |
| OpenClaw | .openclaw/ | | | | | skills/ | |
| OpenCode | .opencode/ | | | commands/ | agents/ | skills/ | opencode.json |
| OpenHands | .openhands/ | | | | | skills/ | mcp.json |
| Pi-Mono | .pi/ | | | agent/prompts/ | | agent/skills/ | |
| Pochi | .pochi/ | | | | | skills/ | |
| Qoder | .qoder/ | | rules/ | commands/ | agents/ | skills/ | |
| Qwen Code | .qwen/ | QWEN.md | | | agents/ | skills/ | settings.json |
| Replit | .agents/ | replit.md | | | | skills/ | |
| Roo Code | .roo/ | | | commands/ | | skills/ | mcp.json |
| Trae | .trae/ | | rules/ | | | skills/ | |
| Trae CN | .trae-cn/ | | rules/ | | | skills/ | |
| Warp | .warp/ | WARP.md | | | | | |
| Windsurf | .windsurf/ | | rules/ | | | skills/ | |
| Zencoder | .zencoder/ | | | | | skills/ | |
The built-in `platforms.jsonc` defines supported platforms, but can be overridden by user configs:
- Global: `~/.openpackage/platforms.jsonc` (`.json`)
- Workspace: `/.openpackage/platforms.jsonc` (`.json`)
Deep-merged (local > global > built-in) for per-project customization.
## Contributing
We would love your help building a more open source and universally compatible agentic coding ecosystem.
Feel free to create [PRs](https://github.com/enulus/OpenPackage/pulls) and [Github issues](https://github.com/enulus/OpenPackage/issues) for:
- Bugs
- Feature requests
- Support for new platforms
- Missing standard behavior
- Documentation
## Links
- [Official Website and Registry](https://openpackage.dev)
- [Documentation](https://openpackage.dev/docs)
- [Discord](https://discord.gg/W5H54HZ8Fm)
- [Creator X (Twitter)](https://x.com/hyericlee)