diff --git a/README.md b/README.md index 0109103..978354e 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![CI](https://github.com/OpenTechEvents/ote-tools/actions/workflows/ci.yml/badge.svg)](https://github.com/OpenTechEvents/ote-tools/actions/workflows/ci.yml) [![Deploy tools site](https://github.com/OpenTechEvents/ote-tools/actions/workflows/deploy-tools.yml/badge.svg)](https://github.com/OpenTechEvents/ote-tools/actions/workflows/deploy-tools.yml) -![OTE spec](https://img.shields.io/badge/OTE%20spec-v0.4-2563eb) +![OTE spec](https://img.shields.io/badge/OTE%20spec-v0.6-2563eb) ![Node](https://img.shields.io/badge/node-%3E%3D22-339933) ![pnpm](https://img.shields.io/badge/pnpm-11.13.1-f69220) @@ -24,14 +24,27 @@ Design rationale lives in [DESIGN.md](DESIGN.md); the spec lives in | [`@opentechevents/import-ics`](packages/import-ics/) | iCalendar (`.ics`) → partial OTE event documents (review-and-complete). | | [`@opentechevents/import-jsonld`](packages/import-jsonld/) | schema.org Event JSON-LD in an HTML page → partial OTE event documents. | | [`@opentechevents/build-feed`](packages/build-feed/) | `events/*.json` + `ote.config.json` → validated `feed.json` + `feed.ics` + `feed.xml`. | -| [`@opentechevents/discover-feed`](packages/discover-feed/) | Reference implementation of feed discovery: response bytes + content-type + URL → candidate feed URLs. No network. | All connectors are pure functions with a thin CLI on top. They never invent data: a field absent in the input stays absent in the output. -Published packages follow the OTE spec minor they implement (`0.4.x` speaks -OTE spec v0.4). Each package also has its own changelog so fixes and -improvements can be traced package by package. +Most packages follow the OTE spec minor they implement (`0.6.x` speaks OTE +spec v0.6). `migrate` is the exception and is versioned on its own: it spans +versions rather than implementing one. Each package also has its own +changelog so fixes and improvements can be traced package by package. + +### Workspace-internal packages + +These are **not published to npm** (`"private": true`). They exist because +two apps in this repo needed the same logic and a second copy would have +drifted — not as libraries for outside use, so they carry no compatibility +promise and can change shape whenever their callers do. + +| Package | What it does | Used by | +| --- | --- | --- | +| [`@opentechevents/discover-feed`](packages/discover-feed/) | Reference implementation of feed discovery: response bytes + content-type + URL → candidate feed URLs. No network. | `apps/validator`, `workers/validator` | +| [`@opentechevents/feed-urls`](packages/feed-urls/) | `?repo=owner/name` → the URLs a browser can actually fetch a fork's published files from, including the custom-domain cases. | `apps/publish`, `apps/preview`, `apps/editor` | +| [`@opentechevents/preview-feed`](packages/preview-feed/) | Normalizes the three export formats (JSON, ICS, RSS) into one `PreviewFeed`/`PreviewEvent` shape for display. | `apps/embed`, `apps/preview`, `apps/editor` | ## Apps