diff --git a/quest/README.md b/quest/README.md index 7f14fb0..fd65cb8 100644 --- a/quest/README.md +++ b/quest/README.md @@ -15,5 +15,5 @@ its scope, until it is scheduled. ## Required -- [m0: immediate priorities](/quest/m0/README.md) - hosted worklets once a release ships assets() +- [m0: immediate priorities](/quest/m0/README.md) - hosted worklets once a release ships assets(), lean agent context, and checks that pass locally - [m1: next](/quest/m1/README.md) - the Voice AI demo page and its live buffer view diff --git a/quest/m0/README.md b/quest/m0/README.md index 1363e4c..41ae743 100644 --- a/quest/m0/README.md +++ b/quest/m0/README.md @@ -5,7 +5,13 @@ The sites host the `@moq` player worklets and workers themselves once a release ships `assets()`, so the hosted path gets real traffic. +The agent context is lean and the checks cover what they claim, passing on a +developer's machine. + ## Required +- [Lean AGENTS.md](/quest/m0/lean-agents-md.md) - agent context keeps only rules and conventions, no repo description +- [Biome passes locally](/quest/m0/biome-local.md) - `just check` passes with Claude Code's local files present +- [Type-check .astro files](/quest/m0/astro-typecheck.md) - `just check` covers `.astro` via the TypeScript 7.1 content mapper - [A release ships assets()](/quest/m0/assets-release.md) - the hosted worklet files exist on npm to copy - [Dogfood hosted worklets](/quest/m0/dogfood-assets.md) - the sites serve the @moq worklets and workers themselves diff --git a/quest/m0/astro-typecheck.md b/quest/m0/astro-typecheck.md new file mode 100644 index 0000000..c8b9afc --- /dev/null +++ b/quest/m0/astro-typecheck.md @@ -0,0 +1,21 @@ +# [S] Type-check .astro files + +## Goal + +`just check` and CI type-check the `.astro` files under `src/`, which have never +been checked: `check` has always been `biome ci && tsc --noEmit`. + +## Plan + +- Use [@astrojs/ts-content-mapper](https://github.com/withastro/astro/tree/main/packages/language-tools/ts-content-mapper) + with plain `tsc` (`contentMappers` in `tsconfig.json`, `--runExternalCode`). + It needs TypeScript 7.1. +- Decided: adopt on the TypeScript 7.1 beta now rather than wait for stable, + then move to 7.1 stable when it ships. +- Don't bring back `astro check` on TypeScript 6; it refuses TypeScript 7 and + the mapper is Astro's intended path. +- Watch for [withastro/astro#18471](https://github.com/withastro/astro/issues/18471) + (reported on the `strictest` preset; this repo extends `strict`) and for Solid + JSX inside `.astro` files. Fix real errors the existing files surface in the + same PR. +- MDX stays unchecked; the mapper only covers `.astro`. diff --git a/quest/m0/biome-local.md b/quest/m0/biome-local.md new file mode 100644 index 0000000..37268eb --- /dev/null +++ b/quest/m0/biome-local.md @@ -0,0 +1,14 @@ +# [XS] Biome passes with Claude Code's local files + +## Goal + +`just check` passes on a checkout where Claude Code has written its per-user +`.claude/settings.local.json`, and Biome stops printing warnings for files it +cannot handle. + +## Plan + +- Gitignore `.claude/settings.local.json`. It is untracked today, so Biome + formats it and fails. +- Drop Markdown from Biome's `files.includes`. Biome has no Markdown handler, so + every tracked `SKILL.md` prints a `files/missingHandler` warning. diff --git a/quest/m0/lean-agents-md.md b/quest/m0/lean-agents-md.md new file mode 100644 index 0000000..02047c8 --- /dev/null +++ b/quest/m0/lean-agents-md.md @@ -0,0 +1,20 @@ +# [S] Lean AGENTS.md + +## Goal + +AGENTS.md holds only the rules and conventions that steer agents, in the shape +of [moq-dev/moq's root AGENTS.md](https://github.com/moq-dev/moq/blob/main/AGENTS.md). +The repository description leaves it: the site table, command list, tech stack +and version pins, architecture, URL scheme, deployment, and tips. Stale facts +like the Bun version stop drifting because they are no longer written down. + +## Plan + +- Delete rather than relocate. The README already explains the three sites and + the URL scheme, and the two easy-to-break pitfalls are comments next to the + code (`sites/*/wrangler.jsonc`, `sites/lib/worker.ts`). If something + load-bearing turns out to be missing, add it as a comment beside that code. +- The Bun pin-sync rule goes too. Make the flake's Bun assertion failure name + all three pins (nixpkgs, `packageManager` in `package.json`, the `Dockerfile` + base image), so the guidance appears exactly when CI catches the drift. +- Read `PROMPTING.md` first. `CLAUDE.md` is a symlink to `AGENTS.md`.