Publish your tool. Keep your code.
This is the directory we intend to build: open to anyone who can ship a kernel and a UI. Put your tool out free, add it to the membership pool and earn from how much people actually use it, or set your own price. Whichever you pick, the source stays yours.
None of it is live yet. Codex Music is a research preview, the directory is not open for submissions, and licensing — ours and the terms we would ask of you — is still to be announced. Read this as the plan, not an offer.
$ npx codex export vst3
$ npx codex publishThree ways to put a tool out.
What “you keep the exit door” actually means.
You own the code. We don't take a copyright assignment, ever. You grant a license to host, compile, and distribute your tool — nothing more.
Non-exclusive. Sell it elsewhere the same day. We won't ask you not to.
Self-hostable. Every published tool builds and runs off this platform with the same commands. The hub is a convenience, not a dependency.
Portable listing. npx codex listing export <slug> gives you your listing as markdown + assets, so a move somewhere else is a copy-paste, not a rewrite.
From your terminal to a live page.
Five steps. Each one is a screen you actually see.
- 1
npx codex publish
Link this machine to your account. Confirm the code shown in your terminal is BRAVO-7QX2, then pick an account. If you don't have one yet, making it here is fine — no card, no questions about your company size.
$ npx codex publish Reading plugin.config.json … ok id music.example.warble name Warble vendor Your Name version 0.1.0 kernel @you/warble-kernel · profiles/warble.profile.json You're not signed in on this machine. Open this link to claim or link an account: https://codexmusic/cli/link?code=BRAVO-7QX2 Waiting… (this code expires in 15 minutes)After linkingLinked as @yourname. Token stored in ~/.codex/credentials (chmod 600). Namespace check … music.example.* is unclaimed → reserved for @yourname Continue in the browser to write your listing: https://codexmusic/hub/listings/warble/editplugin.config.jsonis the source of truth for everything the CLI can know. The listing editor fills the rest and never overwrites the manifest — if you change your name on the site, we tell you to change it in the manifest and re-publish, not the other way around. - 2
Write the listing.
This is the page people decide on. Manifest fields are pulled in already — the rest is you.
Field Helper text under the input Name From your manifest (name). Change it there and re-publish. Slug codexmusic/tools/warble. Lowercase, hyphens, permanent once live — pick the one you'd say out loud. Tagline 80 characters. What it does and what it sounds like. “Tube-style drive into a real cabinet IR” beats “next-generation tone solution.” Description Markdown. Say what it's for, what it isn't, and what it doesn't support. Honesty converts here. Category Instrument · Effect · MIDI & modulation · Dev tool. Matches your manifest category; pick one, we don't do multi-listing. Tags Up to 8. Genre, technique, and the word a stranger would search. Screenshots / OG image One 1600×900 OG image required, up to 6 screenshots. If you skip the OG we render one from your UI — it will look fine and not great. Demo preset Required. The state a first-time visitor lands in. Make it sound good in two seconds on laptop speakers; nobody has headphones on. Playground inputs Tick what your tool accepts: QWERTY keyboard · MIDI in · microphone · hosted guitar take · file upload · camera (CC). License Planned: an SPDX picker for your own tool — MIT, Apache-2.0, GPL-3.0-only, AGPL-3.0-only, BSD-3-Clause, MPL-2.0, CC0-1.0, or Proprietary — where an open license would unlock the Open source badge and the Remix button. The list is a sketch; nothing here describes how Codex Music itself is licensed. Pricing Free · Membership pool · Set a price. Changeable later. Validation copy, inline and plain:
- “Tagline is 94 characters — 14 over. Cut the adjective.”
- “No demo preset yet. Load your tool, dial in the sound you'd want a stranger to hear, hit Save as demo preset.”
- “You picked Proprietary. That's allowed. It turns off the Open source badge and the Remix button, and the Verified build badge will read ‘built from source we can't show you’ — some people filter on that.”
- 3
Running the checks.
Four automated checks. They're the same four we show on your listing forever, so listeners can see what passed. No human is involved yet.
Reproducible build
Two independent builds from the source at this tag produced byte-identical artifacts.
Building twice from your public source in a clean container…
Real-time safe
The audio kernel allocates nothing, locks nothing, and takes no unbounded branch on the audio thread.
Verifying the kernel against the real-time rules…
VST3 validated
Loads, scans, instantiates, and processes silence without faulting in the official validator.
Loading the VST3 in the plugin validator…
No network calls
The UI makes zero outbound requests while running. Your audio stays on your machine.
Watching the UI for outbound requests…
A failed check is shown, not hidden — a grey dot with the reason. Checks re-run on every published version and weekly against your source. If something breaks later, you get an email before your listing changes.
- 4
A person is looking at it.
Automated checks catch whether it works. A human checks whether it's what it says it is — that the tagline matches the sound, the screenshots are of your tool, the name isn't somebody else's, and the demo preset doesn't peak at +6.
First review: 3 business daysplaceholder
Updates to an already-live tool: 1 business day placeholder, and patch versions with no listing changes go live immediately and are reviewed after the fact.
If we're slower than that, you'll hear from us with a reason, not silence. You can email hub@ and get a human.
Draft→Checks running→In review→LiveorChanges requestedChanges requested comes with a written reason and a Resubmit button that keeps your draft intact. The email subject reads “Warble needs one change before it goes live” — the body always leads with the specific fix, not the policy.
- 5
You're live.
codexmusic/tools/warble is public. Here's the link, the embed snippet, and an OG preview to check before you post it anywhere.
Versions are semver, taken from your manifest.
npx codex publishrefuses a version that already exists — bump it.Changelog is required on every update. Two sentences is fine. “Fixed the filter self-oscillating at resonance > 0.9” is a good changelog. “Bug fixes and improvements” gets bounced.
Major versions don't overwrite anything. Anyone who downloaded 1.x keeps 1.x — the download link, the exact artifact, and the source tag stay up. A session from 2023 opens with the plugin it was made with. We don't break other people's records to tidy up our storage.
Deprecation: mark a version deprecated and it drops out of new downloads but stays available to people who already have it, with your note attached.
The trust bar.
Every listing shows all four, passed or not. Hover any one for what it means and when it last ran.
What the badges mean.
Compiled from the public source by our CI, in a clean container, at the git tag on the listing. Not “we scanned it” — we built it, and we published the hash.
An OSI-approved or CC0 license plus a public repo containing the code the build came from. Source-visible and exportable — never “free tier of a closed thing.”
A human picked it because it sounds good or does something nobody else does. Not for sale, not influenced by pricing choice, not an algorithm.
Malware and hostile code
A published tool must not exfiltrate audio, files, keystrokes, or system information; make network calls from the UI at runtime; ship an obfuscated binary blob as its kernel; install anything outside the plugin directory; or self-update from a server we don't host. We remove first and discuss after — one malicious VST3 in a directory is enough to end the directory.
DMCA and takedowns
We take the listing down, tell the creator exactly what we received, and give them the counter-notice route. Users who already downloaded a removed tool keep what they downloaded — we take down the listing, not the files on your disk. Repeat infringers lose the account.
Names and squatting
Slugs are first-come, but not a land grab. Reserving a namespace holds it for 90 days placeholder — publish something real in that window or it's released. You can't take a name that isn't yours. And we don't reclaim names from live tools, ever, no matter how quiet.
Three ways to get paid, side by side.
Pick one per tool, change it whenever, and sell the same tool elsewhere regardless.
placeholderEvery number below is a placeholder pending the pricing decision. Not a forecast, not a promise, not based on observed data — the platform hasn't launched.
| Free | Membership pool | Set your own price | |
|---|---|---|---|
| Listener plays in browser | Free | Free | Free [or paywalled — creator's choice] |
| Listener downloads VST3 | Free | Included with membership price/mo | Pay your price once |
| You earn | Nothing | Share of the creator pool, by usage | Your price minus platform fee |
| Platform fee | None | pool = X% of net membership revenue to creators | X% per sale |
| Payment setup needed | No | Yes (Stripe Connect) | Yes (Stripe Connect) |
| Best for | Utilities, teaching examples, things you made for yourself | Tools people use constantly and wouldn't buy alone | Destination tools people seek by name |
| Directory ranking | Same as everything else | Same as everything else | Same as everything else |
| Trust bar | Full | Full | Full |
| Remix button | If open-licensed | If open-licensed | If open-licensed |
| Sell it elsewhere too | Yes | Yes | Yes |
| Self-host | Yes | Yes | Yes |
| Switch later | Any time | Any time | Any time; existing buyers keep access |
Every open tool would have a Remix button.
Open licenses shouldn't be decoration. The plan is that any listing with an OSI or CC0 license shows a Remix button next to Play and Download, doing exactly what it says — for tools creators publish under those licenses. Codex Music's own licensing is a separate, unannounced question.
npx codex clone warble
# → ./warble/ — kernel, UI, presets, plugin.config.json, git history intact
# → ready to run: npm install && npm run devYou get a working tool on your machine in one command. Change the filter, throw out the UI, keep the reverb tail you liked. Publish it under a new slug when it's yours.
Forks must credit lineage.
codex clone writes the parent's id, version, and license into your plugin.config.json. Leave it there. Removing it to pass off a fork as original is the one thing that gets a listing pulled without a conversation.
Lineage is shown, not buried.
Every listing page would carry a line under the title: “Remixed from Warble by @someone · see the family tree.” The parent's page shows its children the same way. It's a credit, not a demerit — a tool with eight forks is a tool that mattered.
A remix must be a remix.
Change the sound, the interface, or the purpose. A re-upload with a new name and a new price is a re-upload, and review will say so.
Licenses carry.
GPL parents make GPL children; we won't let you pick an incompatible license in the editor, and the picker explains why in one sentence rather than linking you to a legal PDF.
Remixes can be priced.
If the parent's license allows it, you may charge for your fork. Say so plainly on the listing; the lineage line is already doing the honesty for you.
Every tool here is somebody's afternoon. Some afternoons are worth continuing.