Skip to content

Roadmap and changelog

The roadmap is generated, not maintained. Every unit of work in the repository is a brief under docs/tasks/ with frontmatter that is the single source of truth for its status, and npm run roadmap renders docs/roadmap.html from it, changelog included, built from the briefs’ completed dates. There is no second list to keep in step, and this site does not keep one either.

The roadmap page in the repository is the current state. The task briefs are the detail.

Everything in these docs. In rough order: the rebuild in five phases (storefront, database and API, Stripe Checkout and orders, accessibility, the admin and setup wizard), then the numbered briefs: refunds and restocking, discount codes, order CSV, SEO metadata, search, staff accounts, pages, tax, multi-axis variants, customer accounts, abandoned-cart recovery, digital products (the model), outbound webhooks, catalogue CSV, the first-run fixes, landing and collection copy, web fonts and locale, SKUs and compare-at prices and per-variant images, admin password reset, object storage for images, the building-on-Beluga map, and storefront preview mode.

Understood but undecided work lives in docs/gaps/, deliberately outside the numbering so listing it does not claim a plan that does not exist.

  • Digital delivery. Entitlements, a non-served file location, a download route, a delivered status. Digital products.
  • Live carrier rates, labels, tracking. Shipping has the trade.
  • Role-based permissions in the admin. The column exists; the gating is a separate decision with its own security matrix.
  • Cart-condition discounts. Stripe’s promotion codes cover the common case.
  • Subscriptions.

Conventions and contributing.