# Checklists (/agents/checklists) What done means for a coding agent handing a Meridian site back, as checklists with the command that proves each item, covering the project check, every route rendering, accessibility, content, SEO, performance, deploy configuration and secrets. Work through every list before you say a site is finished. Each item names the command that proves it. When an item cannot be proved (no database, no running server, a decision only the person can make), say so in your report instead of ticking it. ## The project [#the-project] - [ ] `engine-dmo check` exits 0. - [ ] `engine-dmo check --strict` exits 0. - [ ] The text output of `engine-dmo check` has no `warning:` line for a template, or each one left is explained. The summary, `--strict` and `--json` do not count template warnings, so read the lines. - [ ] `engine-dmo seed verify` says the seed matches the schema, and `engine-dmo seed apply` on an empty database exits 0 (only `apply` checks field values). - [ ] On `engine-dmo`, a site with no partner businesses has the member portal turned off (`portal: { mode: "off" }` in `config/portal/portal.yaml`). - [ ] `engine-dmo schema plan` exits 0 with "No changes" (the database matches the files). - [ ] No `id:` was typed by hand or copied; `git diff` shows ids only where a verb or `check --fix` wrote them. - [ ] `AGENTS.md` and the skills were not edited by hand (regenerate them with `engine-dmo guide --out AGENTS.md` and `engine-dmo guide --skill --out .claude/skills/meridian-project/SKILL.md` if in doubt). - [ ] No file under `storage/`, `public/build/`, `node_modules/`, `.meridian/` or any `.env` is committed. ## Every route renders [#every-route-renders] - [ ] `engine-dmo a11y audit --all` reports 0 failures on every site (`--site ` for each). It renders every page the sitemap would list, plus the home page, whether or not `seo.sitemap.enabled` is on, and fails any that does not answer 200. - [ ] Pages outside the sitemap render: the search page with and without a query, each index page filtered by each facet, the last page of each paginated index, and the 404 page (`engine-dmo render /no-such-page --json` answers 404 with your template and empty `errors`). - [ ] Every locale renders: `engine-dmo render --locale --json` for one page of each type. - [ ] Every page that runs `query()` has rendered (a non-indexed field fails only at render). - [ ] Every `render --json` shows `"errors": []` and `"status": 200`. A 301 still exits 0, with `kind: redirect` and a non-empty `a11y` (`a page has exactly one h1, this one has 0`), and `a11y audit --path` on one fails `html-lang` and `page-title`. Neither is a defect in the page: use the address it redirects to. ## Accessibility [#accessibility] - [ ] `engine-dmo a11y audit --all` reports 0 warnings as well as 0 failures. - [ ] `render --json` shows `"a11y": []` on each kind of page. - [ ] Every page: `lang` and `dir` on ``, one `h1`, a skip link to `
`, labelled `