Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

CoffeeJSON

Coffee recipes as data, not screenshots.

CoffeeJSON is an open JSON format for a brew and the coffee it was made from. Write a recipe in one app and open it in another — as a file, a share link, or a QR code — and it arrives intact: dose, water, temperature, grind, and the pour schedule, in the reader's own units and language. Small enough to ride inside a QR code. Public domain.

The smallest valid document — a title and the two required measurements:

{
 "coffeejson": "1.0",
 "recipes": [
 {
 "title": "Everyday V60",
 "coffee": { "value": 15, "unit": "gram" },
 "water": { "value": 250, "unit": "gram" }
 }
 ]
}

A document carries two entities, kept distinct: recipes (dose, water, ratio, temperature, grind, timed steps) and beans (origin, process, varietal, altitude, roast, roaster notes). Every field keeps measured fact, declared claim, and attributed opinion apart (Overview § Design principles).

In this repository

  • docs/ — the specification, the transport binding, and the guides.
  • fixtures/ — the conformance corpus: valid documents, and invalid ones that each break a single rule.
  • recipes/ — the recipe corpus: documents transcribed from roasters' own pages and guides.
  • registries/ — gear, varietals, addition types, producer roles, and the self-declared implementations registry.
  • packages/core · packages/react — the TypeScript SDKs (@coffeejson/core, @coffeejson/react). Apple platforms: coffeejson-swift.

pnpm test validates every fixture, every corpus document, and every complete JSON example in the docs against the schema.

Agent skills — one for changing the format, one for adding it to a product, one for turning a published source into a document — live in coffeejson-org/skills.

Contributing

Field proposals, registry entries, spec-ambiguity reports, and the checks that gate every change: CONTRIBUTING.md.

License

The format — spec prose, JSON Schema, fixtures, registries, and the corpus's structure and transcription — is CC0 1.0 Universal (public domain). Roaster prose quoted in a corpus document (description, roaster_notes) remains the source's, carried as attributed quotation and removed on request (recipes/README).

The codepackages/*, apps/site, tools/ — is Apache-2.0. See LICENSE.

About

Open JSON format for coffee recipes and beans — an interoperable open standard for brewing data, with the spec, JSON Schema, conformance fixtures, and TypeScript and Swift implementations.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /