Claude a2f723ca2d Start the rebuild: note schema, vault kit and data migration
Phase 1 of the functional design plan.

- Move the old site into legacy/, unchanged, for reference. It still
  builds from there until cutover.
- Add packages/schema: the one definition of all 20 note types, with
  field titles and descriptions, note and vault checks, and JSON Schema
  export so later editing tools and the MCP server share it.
- Add vault-kit: Obsidian templates generated from the schema, and the
  Site guide for 24.01_PersonalWebsite.
- Add tools/migrate: turns the legacy JSON, collections, store data and
  page text into 545 Site folder notes and 84 images, and checks the
  result with the schema.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012aSbo2D1qP8cMFQCykf7kx
2026-10-11 18:40:55 +00:00

GregKilmer.com

The site, rebuilt around Greg's Obsidian vault. Notes in the vault's Site folder are the content; a content service checks every change and keeps the last good version; the site serves pages from that service. The full plan, with the decisions behind it, is the Functional Design Plan.

What is here

Path What it is
packages/schema The one definition of every note type: fields, folders, file names, and the checks for one note and for the whole folder. The migration, the content service, the MCP server, the site and any later editing tool all use it.
vault-kit What goes into the vault: the Obsidian templates (generated from the schema) and the Site guide.
tools/migrate The one-time migration from the old site's data into Site folder notes.
docs How the pieces fit. Start with docs/content-model.md.
legacy The old site, kept for reference only. Nothing outside it imports from it except the migration.

Coming in later phases: services/content (the content service and its MCP server), the admin page, and the new site.

Commands

Node 22 or newer.

npm install
npm run check      # typecheck and tests
npm run migrate    # writes out/24.01_PersonalWebsite and out/MIGRATION-REPORT.md
npm run templates  # regenerates vault-kit templates after a schema change
npm run schema:json  # writes a JSON Schema per note type to packages/schema/json/

The old site

The live site still runs from the old code until cutover. It builds the same way as before, from inside legacy/:

cd legacy && docker compose up -d --build
S
Description
No description provided
Readme 64 MiB
Languages
TypeScript 53.3%
Astro 40%
CSS 3.1%
JavaScript 2.9%
Dockerfile 0.4%
Other 0.3%