docs: add CLAUDE.md agent guidance - #603
Conversation
Repository guidance for Claude Code: build/test/data commands, the two-image architecture (website vs datasette), island layout, known silent-failure traps, CI gates, and deployment flow. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Functional labels (preview-deploy, data-refresh, refresh-failure) vs Dependabot ecosystem labels vs manual triage labels. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
No server-side link exists: static nginx, browser-side CORS fetches to a build-time-baked base URL. Notes that prod also queries stage-data, that only the ERA5 island honors VITE_DATASETTE_URL, and that compose does not wire the two containers together. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Expands the CI-gates section into a full workflow inventory: build gates, both docker image builds, preview deploys, data validation, the daily data refresh (noting its in-job validation rationale and that the ops-runbook's "schedule disabled" claim is stale), and zizmor linting. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Will likely be replaced by |
|
Went through this carefully and spot-checked the falsifiable claims against the repo (yarn scripts, One thing worth addressing before/after merge, not blocking:
Minor, non-blocking:
|
|
Btw, found this — a good prompt for auditing/fixing |
|
note, this PR was done (before noticing your #416) entirely via Claude's |
|
My 2 cents, i would usualy put that into AGENTS.md and CLAUDE.md would be just |
|
@overlordtm Agree, I too prefer agent-agnostic instructions, but I put it there anyway (as default) because
Closing in favor of #416. Feel free to reuse the content from this PR or we can regenerate it later. btw, Claude updates the docs by default, if it exists, with no specific instructions, but it may indeed be better to be explicit about it for other AI agents. |
Summary
Adds
CLAUDE.md— repository guidance for Claude Code (and useful orientation for any newcomer). Generated by analyzing the codebase, workflows, anddocs/; it deliberately captures what is not discoverable from a single file:base-image-first gotchacomponent → api.ts → datasette → precompute → raw CSVnumber-tracing chain, island layout (noting/mounts the legacy island and/ali-je-vroce/the ERA5 one), climate-si's generated-not-committed tablesstyle()dropping camelCase keys, snapshot-baseline discipline, reanalysis-lag forecast fallbackNotes for reviewers
PROGRESS.md/DECISIONS.md, none of which exist onmain(an earlierCLAUDE.mdexisted only on the unmergedchore/prepare-repo-for-agentsbranch as an@AGENTS.mdpointer). This file states the snapshot-baseline rule in its own words and flags theT-x.y/D-nticket IDs as provenance markers only. If the original ground-rules document exists somewhere, it would be worth folding in.🤖 Generated with Claude Code