An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          






OpenPackage logo


The package manager for coding agent configs.




Npm package for OpenPackage


License: Apache-2.0


OpenPackage Discord





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)