Monorepo for anipotts.com and its admin surface.
- Public site: Astro 5 (
apps/www) on@astrojs/cloudflare, served via Cloudflare Workers. - Admin: Astro 5 (
apps/admin) on@astrojs/cloudflare, served via Cloudflare Workers. - Legacy admin rollback:
apps/admin-soliduntil passkey proof is complete. - Cloudflare Workers under
workers/*, sharedpackages/*. - Git-first public content: canonical markdown collections under
apps/www/src/content, synced to Cloudflare D1.
pnpm install
pnpm dev # all apps
pnpm dev:www # just the astro site (astro defaults to http://localhost:4321)pnpm build
pnpm test
pnpm validate # build + lint + typecheck + test- Astro www collections:
apps/www/src/content/{projects,making,writing}(schema inapps/www/src/content.config.ts). - Do not add a root
content/mirror in this repo. Content commands and drafts belong in~/Content; this repo owns the published renderer/admin shape. - Synced to Cloudflare D1 (
anipotts-db) for full-text search. - Public brand logos live in
apps/www/public/images/brandand should matchlogoSrcreferences inapps/www/src/data/site.ts.
/,/writing,/writing/[slug]/making/projects,/projects/[slug]/orchestrating(formerly/claude)- legacy paths (
/shipping,/running,/connect,/links,/claude,/thoughts,/work,/lab,/labs,/dev,/updates,/metrics,/status,/docs) redirect viaapps/www/src/middleware.ts
The /orchestrating page reads a generated snapshot at apps/www/src/data/claude-stats.json.
This is a local snapshot generator only. It does not call Claude or Anthropic APIs, and this repo no longer carries launchd or auto-commit wrappers for it.
pnpm update-claude-stats # regenerate local snapshotThe astro www bakes PUBLIC_* vars at build (PUBLIC_POSTHOG_KEY). Only set env for features you use.
Site version history and how to reach the pre-astro code: see archives/README.md.
Labs app reference material is archived under docs/archive/labs.