Marketplace
Browse and install pre-built agents, plugins, and skill packs from the DorkOS community.
Marketplace

The DorkOS Marketplace is a curated catalog of pre-built agents, plugins, skill packs, and adapters. Install one with a single command and it runs locally, on your machine, under the same permission model as the rest of DorkOS.
What is the marketplace?
The marketplace is the public face of the dorkos-community GitHub organization. The community maintains a registry of vetted packages. A few examples:
- Agents that review your PRs
- Plugins that surface Linear issues in your sidebar
- Skill packs for security auditing or release automation
- Adapters that connect messaging services like Discord
- Shapes that set up your whole workspace for a job in one click
Browse the full catalog at dorkos.ai/marketplace without installing anything.
Every entry in the registry is a real GitHub repository. You can read the source before you install it, fork it, or submit improvements upstream. Nothing is hosted, executed, or transformed by a third party: DorkOS fetches the package directly from its repo and validates its manifest (a small file describing what the package needs and what permissions it wants) against the same schemas as your local extensions.
Installing a package
You can install a package from the command line or from inside DorkOS.
Find a package
Browse dorkos.ai/marketplace to find a package name. There's no search command in the CLI yet, so the web catalog is the fastest way to look.
Install it
dorkos install code-review-suiteDorkOS fetches the package, verifies its manifest, shows you the requested permissions, and asks for confirmation before writing any files.
Manage it
dorkos update code-review-suite # check for an update
dorkos update --apply # apply every available update
dorkos uninstall code-review-suiteThere's no CLI command that lists everything you've installed. For that, open the Installed panel in DorkOS (see the other tab).
Most people stop here. Read on if you want to manage installs across multiple agents, add a private source, or publish your own package.
Browsing in DorkOS
Marketplace is the in-product browse experience. It mirrors the public catalog but adds the install machinery, so you can go from "interesting package" to "running on my machine" without leaving the app.

The browse surface has three sections:
- Featured rail: a curated row of agents the maintainers have highlighted. Rotates monthly, so it's not the same three agents forever.
- Package grid: every package in every registered marketplace, ranked by featured weight and install count.
- Detail sheet: opens when you click a package. Shows the permission preview, install instructions, and related packages.
The install confirmation dialog always shows you exactly what the package wants to do (which files it will write, which network hosts it needs to reach, which permissions it will request) before any state changes. You can deny at any point and DorkOS leaves your installation untouched.
Managing installed packages
A package can be installed in more than one place: globally, and separately on individual agents. When you open the detail sheet for a package you've installed, the Installed panel lists every installation, one row per scope:

- All agents (global): installed globally, active everywhere.
- A specific agent, shown by name: installed only for that agent's sessions. If the same package is also installed globally, the agent row is marked Overrides global, meaning that for that agent, the agent's copy takes precedence.
Each row manages its own installation independently:
- Reinstall re-runs the install for exactly that scope. The confirmation dialog opens already pointed at the same agent (or global), so you never reinstall into the wrong place.
- Uninstall removes just that installation. It asks for a quick confirm first, and the confirmation message names the scope ("Uninstalled flow from Release Bot") so it's clear which copy went away. Uninstalling one agent's copy never touches the global install or any other agent's.
To add the package to another scope (for example, you have it globally and want a pinned copy on one agent), use Install… at the bottom of the panel to open the dialog and pick the new target.
A plugin is the package; an extension is one of the things a plugin can ship. A plugin may bundle skills, commands, hooks, and extensions (custom UI or automation that runs in your browser), so every extension arrives inside a plugin, but not every plugin ships an extension. That distinction matters here because the pieces have different scopes: extensions are enabled globally, not per agent. If a package ships extensions, installing it to a single agent still affects every agent, and uninstalling it from one agent disables those extensions everywhere. Skills and commands, by contrast, do respect scope: an agent-scoped install's skills and commands only run for that agent. DorkOS warns you in the install dialog whenever the global-extensions caveat applies.
Marketplace sources
The default registry is dorkos-community, but you can add your own. Personal marketplaces are useful for sharing internal packages across a team without publishing them to the public registry.
# Add a marketplace source
dorkos marketplace add https://github.com/my-team/marketplace --name my-team
# List configured sources
dorkos marketplace list
# Remove a source
dorkos marketplace remove my-teamA source address is either an https:// link to a git repository, or a folder on this machine
written as file:///path/to/folder. Nothing else works: DorkOS reads a marketplace's listing over
the web, so SSH-style addresses like git@github.com:org/repo have no listing to read. Anything
else is turned down when you add it, with a note saying so — which also keeps out the exotic
addresses git accepts that run a command instead of fetching a repository.
You can also manage sources in DorkOS, at /marketplace/sources on your own DorkOS address. On the default port that is http://localhost:4242/marketplace/sources; if you changed the port, or the desktop app had to move off 4242, Settings → Server shows the address to use. Sources are merged into a single browse surface: packages from your team's marketplace appear alongside community packages, with the source clearly labeled on each card.
Adding and removing a source is yours to do, not your agents'. A source is a place DorkOS will download and run code from, so an agent that asks to add or remove one is turned down flat. There is no card and no way to say yes, the same as the settings in Settings your agents cannot change. An agent that needs a package from somewhere new will tell you the line to run and wait for you.
Your own terminal is unaffected: dorkos marketplace add and dorkos marketplace remove work as
they always have. The same honest limit applies as everywhere else, though. With Require login
off, which is the default, a program on your computer that hides the fact it is an agent looks
exactly like you, and DorkOS has nothing left to tell the two apart. Turning on Require login
does not close this one either, because the command line signs in with a key rather than a
password, and refusing keys here would lock you out of your own terminal.
A marketplace source is just a GitHub repo with a marketplace.json at its root. The schema is
documented in the dorkos-community CONTRIBUTING
guide.
Telemetry consent
DorkOS can report anonymous install events to dorkos.ai to power the public install counts and ranking on the marketplace browse page. This is opt-in: the channel is off by default, and DorkOS never reports anything until you turn it on in the Privacy & Data settings tab or with dorkos telemetry enable --channel install.
When telemetry is on, each successful install sends a single event containing:
- The package name and marketplace source
- The package type (
agent,plugin,skill-pack,adapter) - The outcome (
success,failure,cancelled) and duration - A random per-install UUID, not tied to you or your machine
- The DorkOS version, for compatibility analytics
No IP addresses, no user identifiers, no package contents, no file paths. Your address is used for one thing only: our server counts how many requests come from it in the last few minutes, so nobody can flood the endpoint. That count lives in memory for a few minutes and then it is gone. Your address is never saved, never written to a log, and never passed to anyone else. The full privacy contract, including what we store, who can access it, and how to opt out, is documented at dorkos.ai/marketplace/privacy.
To enable telemetry:
dorkos telemetry enable --channel installOr toggle the Help improve the marketplace switch in the Marketplace settings panel.
Submitting a package
The marketplace is community-driven. If you've built something useful (an agent that automates a workflow, a plugin that integrates a new service, a skill pack that codifies your team's conventions), you can submit it to the registry via a PR. See Publishing a package for the full walkthrough. The short version:
Build your package
Scaffold a new package with the CLI:
dorkos package init my-package --type agentDevelop locally, then validate before submitting:
dorkos package validatePush to GitHub
Push your package to a public GitHub repo. The repo must include a README.md, a LICENSE (MIT or Apache-2.0), and a .dork/manifest.json that passes validation.
Open a PR
Open a PR against dorkos-community/marketplace adding your package to marketplace.json. The full submission checklist and PR template are in the CONTRIBUTING guide. A maintainer will review within 7 days.
GitHub Actions automatically runs dorkos marketplace validate against your submission. PRs that fail validation cannot be merged, so make sure dorkos package validate passes locally before opening the PR.