Introducing ccpkg: A Universal Packaging Format for AI Coding Assistant Extensions #11
zircote
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Introducing ccpkg: A Cross-Tool Packaging Format for AI Coding Assistant Extensions
Hey everyone,
I wanted to share a project I've been working on and get feedback while the spec is still in draft.
The Problem
If you use more than one AI coding assistant (Claude Code, GitHub Copilot, Gemini CLI, Codex, OpenCode), you've probably noticed that each tool has its own way of handling extensions. Skills go in one directory, MCP servers get configured in a different JSON file, hooks wire up differently, and instruction files have different names. A useful skill you built for Claude Code doesn't just work in Gemini CLI without manual porting.
Fragmentation aside, the current setup has other problems:
What ccpkg Is
ccpkg is a packaging format -- a self-contained ZIP archive (
.ccpkg) that bundles skills, agents, commands, hooks, MCP servers, LSP servers, and instructions into one archive.A package looks like this:
Installation is deterministic: extract, configure, register. No post-install scripts, no network fetches, no build steps.
How Cross-Tool Portability Works
Each AI coding assistant gets an adoption specification -- a JSON document that maps the ccpkg format to host-specific conventions. It tells the installer where each component type goes on disk, how hook events translate between the canonical names and the host's names, which instruction filename the assistant expects, and how extensions register themselves.
When you install a ccpkg package, the installer reads the adoption spec for your assistant, places everything in the right location, translates event names, and wires up configuration. The package author writes one manifest and the adoption spec handles the rest.
We currently have adoption specs for five assistants:
~/.claudeCLAUDE.md~/.copilot.github/copilot-instructions.md~/.codexAGENTS.md~/.geminiGEMINI.md~/.config/opencodeAGENTS.mdDesign Decisions
Some decisions worth calling out:
What Exists Today
This is a developing specification, not production software. Here's what's in the repo right now:
There is no CLI installer yet. The spec is intentionally being written first so that any implementation (official or community-built) has a solid, validated contract to build against.
What I'm Looking For
Feedback. Specifically:
Links
This is early-stage work and everything is open to change. If cross-tool extension packaging sounds useful, I'd appreciate your thoughts.
Beta Was this translation helpful? Give feedback.
All reactions