Ronne AI Marketplace
An open-source, self-hosted, curated registry of AI capabilities: skills, agents, rules, commands, hooks, MCP servers and more.
Today those files live in personal dotfiles. They drift between teammates, nobody reviewed them, and each AI tool wants its own format. The marketplace gives a team one reviewed catalogue that installs into each tool's own files.
$ rmk install @scope/nameAt a glance
- Version
- 0.1.1
- Licence
- MIT
- Databases
- SQLite, PostgreSQL 15+, MySQL 8.4+, MariaDB 10.11+
- Installs into
- Claude Code, Codex, Cursor
- Runtime
- Node.js 24 (22.12+ works)
- Docker image
- ronneai/marketplace (opens in a new tab)
From dotfiles to a catalogue
What changes when the team's AI configuration has one reviewed home.
In personal dotfiles
- Each person keeps their own prompts, rules and MCP settings, and they drift apart.
- Nobody reviewed what a hook or an MCP server can do before it ran.
- The same rule is rewritten for Claude Code, Codex and Cursor, three times.
In the marketplace
- Items live under scopes such as
@team/code-review, and someone who isn't the author approves each one. - One canonical manifest,
ronne.yaml, is rendered into each tool's own files at install time. - A committed
rmk.lockwith checksums means every teammate and CI job gets the same files.
What you can publish
Eleven kinds of item, each written once in a tool-neutral form.
- Skillskill
- A SKILL.md folder, in the Agent Skills standard.
- Agentagent
- A sub-agent with its own instructions.
- Rulerule
- Steering instructions for a project or a domain.
- Commandcommand
- A slash command.
- Hookhook
- Runs at a point in the session: before a tool, after a prompt, on stop.
- MCP servermcp-server
- A server configuration; secrets are referenced by environment variable, never stored.
- Permission policypermission-policy
- What a tool may do, allowed and denied.
- Output styleoutput-style
- How the assistant writes. Claude Code only.
- Status linestatusline
- The status line of the terminal tool.
- LSP serverlsp-server
- A language server the tool can use.
- Bundlebundle
- Several items installed together.
Hooks, permission policies and MCP servers are flagged as high-risk in review. Output styles exist only in Claude Code; where a tool has no place for a type, rmk warns and skips it.
How a change gets in
Every item goes through the same steps before anyone can install it.
- 1DraftWritten in the web app: a form, a file editor, or a .zip import. Private until submitted.
- 2SubmittedWaiting in the review queue. It can be withdrawn until it is approved.
- 3ReviewDiff, comments and risk flags. Changes can be requested, then resubmitted.
- 4ApprovedBy one moderator or root who isn't the author. The content is frozen.
- 5ReleasedA semver version with a dist-tag, packed with a sha256 checksum.
Versions are immutable once published. latest is the default tag and pre-releases go under next. A version can be deprecated (still installs, with a warning) or yanked (new installs can't resolve it; existing lockfiles still can). Change proposals show a diff against a base version and go stale if a newer version ships first.
Three roles: root, created at install; moderators, who review, approve and release; and users, who browse, install and propose. Users are created only in the web app.
From the registry to your tools
Two ways to install: a command line, or from inside the AI tool.
The rmk command line
rmk installs approved items into your AI coding tools and keeps them current. It resolves the tree, downloads the tarballs, verifies each sha256, renders each tool's files and writes rmk.lock, which is meant to be committed.
- login
- logout
- whoami
- platforms
- search
- info
- list
- install
- update
- outdated
- remove
- mcp-setup
It never overwrites a file or setting you made by hand, never stores secret values, and answers in JSON with --json. On npm as @ronneai/rmk; the command is rmk.
The registry MCP server
rmk-mcp lets the assistant search the marketplace, read items, and install, update or remove them from the conversation. It first shows a plan of every file it would change, and only then applies exactly that plan.
- search_items
- get_item
- list_installed
- check_outdated
- plan_install
- plan_update
- plan_remove
- apply_plan
A plan lasts 10 minutes and is applied once. rmk mcp-setup registers the server with each tool. On npm as @ronneai/mcp.
Installs into today: Claude Code, Codex, Cursor. Planned: GitHub Copilot (planned), Gemini CLI (planned), Antigravity CLI (planned), Devin (planned).
Run it
Two ways to start. Neither installs a database server for you: SQLite needs nothing, and for the others you create an empty database first.
With Docker
The image is on Docker Hub. It has Node.js, and SQLite needs no server. Whatever you run it with, it needs the same three settings:
- Image
- ronneai/marketplace
- Port to publish
- 3000
- Volume, mounted at
- /app/data
- Docker Desktop. Search for the image, pull it and run it. In the optional settings, set the host port and add a volume for the path above.
- Portainer. Add a container with the image name, publish the port and map a volume to the path above.
Command line. The first line pulls the image and starts it. The other two are the setup described below.
$ docker run -d --name ronne-marketplace -p 3000:3000 -v ronne-data:/app/data ronneai/marketplace $ docker exec -it ronne-marketplace pnpm run setup $ docker restart ronne-marketplace
Set it up, once. Open a terminal in the container (the Exec tab in Docker Desktop, Console in Portainer), run pnpm run setup and restart the container. Setup asks for the database, the public address and the root account. Then open http://localhost:3000.
Your data lives in the volume; back it up. To upgrade, pull the image again and recreate the container with the same volume. Pending database migrations run when the container starts.
From a clone
You need Node.js 24 (22.12 or later works) and pnpm, installed directly rather than through Corepack.
pnpm run setup asks which database to use, writes .env, creates the tables and the root account. Running it again is safe.
$ git clone https://github.com/ronneai/ronne-marketplace.git
$ cd ronne-marketplace
$ pnpm install
$ pnpm run setup
$ pnpm build && pnpm startDatabases: SQLite, PostgreSQL 15+, MySQL 8.4+, MariaDB 10.11+. Reverse proxies, setup without prompts and the root password reset are in the README. (opens in a new tab)
Open source, early
The marketplace is MIT-licensed and built in the open. The design, the feature index and every decision are in the repository.
It is in early development, at version 0.1.1. Planned next: renderers for GitHub Copilot, Gemini CLI, Antigravity CLI and Devin, a visual composer for authoring, and a web setup wizard.
- Repository (opens in a new tab)
- Issues (opens in a new tab)
- Design document (opens in a new tab)
- Feature index (opens in a new tab)
Try it, open an issue, or send a pull request.