Cedwyn library

Overview

What Cedwyn is as software, and where to start.

Cedwyn is one website at cedwyn.bucklerfamily.estate made of many separate web apps, called sections. Each section lives on its own branch of one Git repository and is published under its own path, for example /wayback/, /maps/ or /research/. A shared header lets a visitor move from one section to the next.

Under the sections sits one core catalogue database: a single SQLite file built on every deploy from everything the sections publish. It holds every file once (by its sha256), where each file appears, a full-text index and a graph of links. Any page or tool can read it in the browser, with no server.

41sections in the registry
11,829catalogued files
271,768graph edges
0servers to run

Where to start

  • Architecture: the core database, section data and how records are shared without copies.
  • Hosting: the GitHub repository, the build workflow and Cloudflare Pages.
  • Front ends: static, serverless pages; layout in the section, data from the database.
  • Sections: every section, its branch, its data and its status.
  • Add a section: a new web app on a new branch, step by step.
  • Data export: the whole database as CSV, JSON and SQLite.
  • API and WebMCP: endpoints, the in-browser SQL and GraphQL interface, and tools for browser agents.
  • Status: what is built today and what is not yet.

Design principles

  1. One record, many views. A file is stored once and referenced wherever it appears.
  2. Sections are independent. A section builds, deploys and rolls back on its own branch. Changing one section does not change another.
  3. Static first. Everything a visitor loads is a plain file. No application server, no per-request cost.
  4. Portable data. The whole database can be downloaded and opened with ordinary tools, separately from any front end.
  5. Pages do not explain themselves. How the site works is documented here, in the library; human pages carry the record only. Notes for software agents travel in page metadata, /agents.json, /llms.txt and /academy/.