made.json is a tiny open standard for publishing software, skills, tools,
prompts, workflows, agents, templates, CLIs, MCP servers, and other useful
software-shaped artifacts.
Home: made-json.org
Put it at https://yourdomain.com/made.json, list what you have made, and
people can discover, follow, render, install, and fork your work from anywhere.
It is like RSS for software-shaped work: publish one plain file, and any reader, crawler, launcher, directory, search engine, or agent can understand it.
More people are publishing software as part of their work: tools, experiments, Claude and Codex skills, prototypes, prompts, workflows, tiny utilities, and apps that do one useful thing.
But there is no simple way to follow what someone makes as a set. These artifacts are scattered across GitHub repos, launch posts, personal sites, app stores, plugin directories, Discord links, and half-forgotten demos.
made.json gives that work a home on the open web. No central registry, no
submission form, no platform account required.
Create a file at:
https://yourdomain.com/made.json
Then add the smallest useful feed:
{
"version": "1.0",
"items": [
{ "name": "My Cool Tool", "kind": "tool", "url": "https://example.com/cool" }
]
}That is enough. Only version, items, and per-item name + url are
required. kind is optional, but useful.
Software artifacts are different from posts. People want to know where something runs, whether it is current, whether the source is available, whether it was AI-assisted, and whether it can be forked.
made.json handles that with optional creator claims:
{
"name": "My Cool App",
"kind": "app",
"url": "https://example.com/cool",
"version": "1.2.0",
"tags": ["writing", "utility"],
"vibe_coded": true,
"forkable": true,
"source": "https://github.com/example/cool",
"prompt_log": "https://example.com/cool/prompts",
"targets": [
{ "kind": "web", "url": "https://example.com/cool", "label": "Open" }
]
}These are not certifications from made.json. They are useful facts declared
by the creator. Readers can show them, search over them, and build trust layers
on top later.
- Publish to participate. A public
made.jsonfile is the opt-in. - No central registry. Directories and readers can exist, but the standard is just the file.
- Tiny required surface. Only
version,items,name, andurlare required. - Useful software context. Software artifacts need a little more metadata than posts: where to run them, what version they are, where the source lives, and whether they can be forked.
- Claims, not certification. Creator fields are creator claims. Readers can show them; trust layers can come later.
- For builders and audiences. Builders get a canonical list. Readers and subscribers get a way to follow, reuse, and publish from what people are making.
This repo includes example tools around the standard: a reference reader, a
seeded directory, a badge generator, and a digest. They are here to prove the
format is useful and easy to build on. They are not required infrastructure,
and they are not the canonical platform for made.json.
The directory is "what exists"; the digest is "what changed." Both start from
public feeds in site/seeds.json, and publishing a valid
public feed is the opt-in.
The seed list does not invent feeds for real creators.
| Path | What it is |
|---|---|
spec/SPEC.md |
Human-readable spec (v1.0). |
spec/apps.schema.json |
JSON Schema (Draft 2020-12). |
spec/apps.example.json |
A complete example feed. |
appfeed/ |
Example/reference CLI. Publishes as @made-json/cli. |
site/ |
Example web reader, seeded directory, digest, badge generator, and shared validator. |
docs/ECOSYSTEM.md |
Map of readers, discovery, adopters. |
docs/PUBLISHING.md |
How to publish and keep a feed fresh. |
site/made.json |
This project's own public feed, published at https://made-json.org/made.json. |
skills/made-json-setup/ |
Mirrored Codex/Claude skill for finding apps, skills, CLIs, MCP servers, and other software across repos, then drafting a feed. |
skills/made-json-publisher/ |
Mirrored Codex/Claude skill for maintaining a feed. |
The skills are mirrored here for reference. The canonical agent-facing copies
live in
made-json-agent-skills,
a smaller repo you can point agents at directly.
# try the CLI without installing
npx @made-json/cli validate <url-or-path>
# add a new item to a local feed
npx @made-json/cli add ./made.json --name "Tiny Tool" --kind tool --url "https://example.com/tiny"
# try the reader
open https://made-json.org/?feed=<url-of-your-made.json>For agent-assisted setup or maintenance, point the agent at
made-json-agent-skills
and ask it to use made-json-setup or made-json-publisher.
Live site: made-json.org. Project feed: made-json.org/made.json.
node scripts/build-seed-data.js
node scripts/build-seed-data.js --check
node scripts/sync-schemas.js --checkGenerated directory and digest artifacts live in site/generated/, with public
subscription outputs at site/feed.json and site/feed.xml.
- Matt Webb: We need RSS for sharing abundant vibe-coded apps
- Tom Critchlow: Library JSON
- Dave Winer: Rules for standards-makers