You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cmd/gendocs/integration_test.go — end-to-end go generate + idempotency
CI/CD
Feature
Status
Details
GitHub Actions CI
FULLY_FUNCTIONAL
Test, build, vet, lint, govulncheck on push/PR to master
Race detector
FULLY_FUNCTIONAL
go test -race in CI
Coverage threshold
FULLY_FUNCTIONAL
98% threshold in CI (library at 98.4%)
golangci-lint v2
FULLY_FUNCTIONAL
Comprehensive config in .golangci.yaml (uses gomodguard_v2)
Code duplication
FULLY_FUNCTIONAL
art-dupl (pinned v0.1.0) in CI
Docs freshness
FULLY_FUNCTIONAL
go generate ./... && git diff --exit-code enforced in CI
govulncheck
FULLY_FUNCTIONAL
Vulnerability scan in CI
Website deployment
FULLY_FUNCTIONAL
Firebase Hosting via website.yml
Benchmark tracking
FULLY_FUNCTIONAL
benchmark.yml pushes to gh-pages
Release workflow
FULLY_FUNCTIONAL
release.yml — tag-based GitHub Release
Lighthouse CI
PARTIALLY_FUNCTIONAL
lighthouserc.json configured; assertions advisory (warnings); LHCI_GITHUB_APP_TOKEN not configured — no status checks
Gitignore-Aware Filtering
Feature
Status
Details
Native .gitignore parsing
REJECTED
Out of scope — gogenfilter detects generated code, .gitignore is broader (build artifacts, secrets, IDE configs). Would require alpha dependency (go-git/v6) and blur identity.
WithExcludePatterns alternative
FULLY_FUNCTIONAL
WithExcludePatterns("vendor/**", "**/testdata/**") covers 80%+ of gitignore-like exclusions with zero extra deps.
Composition pattern documented
FULLY_FUNCTIONAL
Guide: guides/gitignore-pre-filtering/ — shows how to pre-filter with external gitignore libraries before passing to gogenfilter.
Project Root Discovery
Feature
Status
Details
FindProjectRoot
FULLY_FUNCTIONAL
Searches parent dirs for marker files
Configurable markers
FULLY_FUNCTIONAL
[]string{"go.mod", "sqlc.yaml", ...}
Depth limit
FULLY_FUNCTIONAL
maxProjectRootDepth = 10
Error reporting
FULLY_FUNCTIONAL
ProjectRootError with code, path, markers
Website
Feature
Status
Details
Astro v7 + Starlight
FULLY_FUNCTIONAL
Marketing/docs site in website/ (migrated from v6)
Landing page
FULLY_FUNCTIONAL
Hero ("Stop linting code no human wrote"), before/after linter proof, 3-color accent system, funnel logo
Dracula syntax theme
FULLY_FUNCTIONAL
Vivid highlighting in docs; CSP hardened (fix-csp.mjs strips hash sources so unsafe-inline works)
Dependents page
FULLY_FUNCTIONAL
Build-time GitHub code search for public users
Starlight docs
FULLY_FUNCTIONAL
PageFind search; API reference via pkg.go.dev
Firebase Hosting
FULLY_FUNCTIONAL
Configured via firebase.json; deploys on push to master
WCAG AA contrast
FULLY_FUNCTIONAL
Audited across all surfaces, both themes; --color-on-accent token pattern
Documentation Generation Pipeline
Feature
Status
Details
cmd/gendocs generator
FULLY_FUNCTIONAL
Derives docs from the detectors table — single source of truth; formatMarkdownTable provides dynamic column-width alignment
generators.json
FULLY_FUNCTIONAL
18-entry data file consumed by Astro components
README tables
FULLY_FUNCTIONAL
Generated between <!-- gendocs:*:start/end --> markers
generators.mdx table/count
FULLY_FUNCTIONAL
Generated between {/* gendocs:*:start/end */} MDX markers (incl. inline tool count via replaceSectionInline)
detection.mdx table
FULLY_FUNCTIONAL
Per-generator Is*Generated function table, generated
doc.go generator list
FULLY_FUNCTIONAL
Generated between // gendocs:*:start/end markers
websiteMetadata validation
FULLY_FUNCTIONAL
gendocs fails at build time if a detector lacks presentation data — drift impossible
Detector doc metadata
FULLY_FUNCTIONAL
url, filenameDesc, contentDesc, isFuncName on each detector; powers AllDetectorDocs()
Developer Environment
Feature
Status
Details
Nix flake
FULLY_FUNCTIONAL
flake.nix with flake-parts architecture + treefmt-nix formatting