Skip to content

itsbdell/apps-json

Repository files navigation

apps.json

apps.json is a small file for publishing the apps you make.

Put it at https://yourdomain.com/apps.json, list the things you have shipped, and now other people can discover them, follow them, render them, index them, or build readers on top.

RSS for vibe-coded micro-apps. No registry, no submission, no central authority. Just a well-known file and a boringly useful schema.

The Tiny Version

{
  "version": "1.0",
  "apps": [
    { "name": "My Cool App", "url": "https://example.com/cool" }
  ]
}

That is enough. Required fields are deliberately tiny: version, apps[], and per-app name + url.

Everything else is additive: author info, tags, targets, version, source, prompt logs, forkability, replacement lineage. A feed can be one app or a whole little constellation.

Why This Exists

More people are making small, weird, useful software now: vibe-coded tools, Claude skills, internal-ish utilities that escape into public life, one-off apps that are too small for an app store and too numerous for a pinned tweet.

The missing piece is not another platform. It is a way to follow a creator's apps as a set.

RSS solved this for writing. apps.json tries the same move for software: publish a plain file, let the ecosystem decide what to do with it.

Creator Claims

Fields like vibe_coded, forkable, source, prompt_log, and replaces are creator-declared metadata. They are useful because readers can show them compactly, search over them, and attach trust checks later. They are not certification from this repo.

Reader, Directory, and Digest

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 apps.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. Demo feeds should be owned, fictional, or clearly marked.

What's in this repo

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 @apps-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.
skills/apps-json-publisher/ Small Codex/Claude skill for maintaining a feed.

Try It

# try the CLI without installing
npx @apps-json/cli validate <url-or-path>

# add a new app to a local feed
npx @apps-json/cli add ./apps.json --name "Tiny Tool" --url "https://example.com/tiny"

# try the reader
open https://apps-json.vercel.app/?feed=<url-of-your-apps.json>

Live preview: apps-json.vercel.app.

Development

node scripts/build-seed-data.js
node scripts/build-seed-data.js --check
node scripts/sync-schemas.js --check

Generated directory and digest artifacts live in site/generated/, with public subscription outputs at site/feed.json and site/feed.xml.

About

A lightweight, decentralized standard for publishing apps. RSS for vibe-coded apps.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors