velella
open source · local-first

Stay afloat.
Ready for any wind.

Velella builds open-source tools that find what breaks next, before it breaks your build.

Now

Ebb

The open almanac of software end-of-life. 752 rules across 25 ecosystems say what is deprecated, unsupported or removed, since when, and what to move to. Every rule cites its source.

  • Evidence, not opinionEach rule names the authoritative source, the date it was read, and who reviewed it.
  • Standard identifiersComponents are named by purl and versions by VERS, so any tool can ask.
  • Offline by defaultThe rules ship inside the package. No account, no network call.
lookup.ts
import { lookupProduct } from "@velella/ebb/lookup";

const node = await lookupProduct("node", "18.20.4");
node.status;   // "end-of-life"
node.deadline; // "2025-04-30"

const req = await lookupProduct("pkg:npm/request", "2.88.2");
req.status;      // "deprecated"
req.replacement; // "Native fetch or a maintained HTTP client"

Docs stack

Mizzen

A deterministic docs engine. Markdown in, a static site out: the same input gives the same bytes, and every page keeps its exact source positions.

  • Same input, same siteBuilds are reproducible byte for byte.
  • Exact source positionsEvery page keeps its source file and line.
  • Right-to-left readyPages mirror for right-to-left languages.
terminal
# install
npm install --save-dev @velella/mizzen @velella/lateen

# check, preview, build
npx mizzen check .
npx mizzen dev .
npx mizzen build . --out dist

Lateen

A docs theme for people and agents, built on Mizzen: layouts, components and design tokens in one package.

  • Works without JavaScriptPages read and navigate with scripting off.
  • Tested for WCAG 2.2 AAContrast, focus and keyboard use are checked.
  • Tokens, not overridesChange accent, canvas or type in one config block.
mizzen.yml
theme:
  name: "@velella/lateen"
  options:
    tokens:
      accent: "#0b6e4f"

Why Velella

A Velella is a small blue sailor that drifts on the open sea. It carries a sail, reads the wind, and travels in colonies of thousands, each one small, together hard to stop.

That is the idea: small, sharp tools that work together, so your software keeps moving when the wind changes.