@@ -81,13 +81,24 @@ check name, duration, result (pass/fail/skip/blocked), and optional counts (tota
8181` CheckResult ` has ` Total ` , ` Issues ` , ` Changes ` fields (` -1 ` = N/A, rendered as ` N/A ` in CSV).
8282Disabled by ` --no-log ` or ` --ci ` . Implementation in ` stats.go ` .
8383
84+ ## Adding a new check
85+
86+ 1 . Create ` checks/{app}-{name}.go ` with a ` func RunSomething(ctx *CheckContext) (CheckResult, error) ` .
87+ Use ` website-build.go ` or ` website-docker.go ` as templates — they're the simplest.
88+ 2 . Register it in ` AllChecks ` in ` registry.go ` (ID, App, Tech, DependsOn, Run).
89+ 3 . Return ` Success("message") ` on pass, ` fmt.Errorf(...) ` on fail, ` Skipped("reason") ` to skip.
90+ 4 . Add a test file if the check has non-trivial logic (` checks/{app}-{name}_test.go ` ).
91+ 5 . Run ` ./scripts/check.sh --go ` to verify (staticcheck is strict about idiomatic Go).
92+ 6 . Update the table below and ` AGENTS.md ` 's ` --check ` list.
93+
8494## Apps and check counts
8595
8696| App | Tech | Checks |
8797| -----| ------| --------|
8898| Desktop | Rust | rustfmt, clippy, cargo-audit, cargo-deny, cargo-udeps, jscpd, tests, tests-linux (slow) |
8999| Desktop | Svelte | prettier, eslint, stylelint, css-unused, svelte-check, knip, type-drift, tests, smoke, e2e-linux-typecheck, e2e-linux (slow) |
90100| Website | Astro | prettier, eslint, typecheck, build, e2e |
101+ | Website | Docker | docker-build |
91102| License server | TS | prettier, eslint, typecheck, tests |
92103| Scripts | Go | gofmt, go-vet, staticcheck, ineffassign, misspell, gocyclo, nilaway, govulncheck, deadcode, go-tests |
93104| Other | pnpm | pnpm-audit |
0 commit comments