Release Checklist
Use this checklist before publishing AgentHub Home, docs, or public packaging changes. It keeps public docs useful while preventing accidental leakage of private deployment details.
Public repository boundary
Public release notes may describe build outputs and user-visible behavior. Host names beyond the canonical public domains, SSH aliases, web-root paths, rollback commands, private logs, and secrets belong in the private server workspace only.
Scope
Classify the change before release:
| Change type | Minimum evidence |
|---|---|
| Copy or docs only | zh/en parity, local build, public-surface files updated |
| Docs route added | MDX page, navigation, metadata, sitemap, llms.txt, search index |
| Visual change | Desktop and mobile screenshots for changed routes |
| OIDC/login copy | TokenDance ID boundary reviewed |
| Feishu/Lark docs | Collaboration-entry wording, no product-login claim |
| Runtime/API docs | Status language says preview, in development, or stable accurately |
Documentation Gate
- Every new English docs slug has a Chinese page with the same slug.
src/lib/docs-data.tsincludes navigation labels and TOC headings.src/lib/search-index.tsdescribes the same product state as the MDX pages.- README and AGENTS mention the new route or governance rule when it affects contributors.
- The changelog records public docs structure changes.
Public Surface Gate
Check:
public/robots.txt;public/sitemap.xml;public/llms.txt;- page metadata, canonical URLs, and hreflang alternates;
- footer/docs links and route labels.
Public routes should stay extensionless, for example /zh/docs/.... Generated static files may still use .html as build artifacts; treat those as filesystem checks, not as public URL style.
Visual QA Gate
For docs work, capture at least:
/zh/docsdesktop and mobile;/en/docsdesktop;- every changed docs page on desktop;
- at least one changed docs page on mobile.
For homepage or product UI mock work, also capture /zh and /en first viewports. Check that tables render as tables, code blocks do not overflow, and the docs sidebar remains usable.
Security Gate
Search the changed files for:
- model API keys and token-like strings;
- private host paths, SSH aliases, backup paths, and rollback commands;
- direct GitHub/Google/Feishu login claims inside AgentHub;
- TokenDance API key wording that implies browser login;
- Web bypassing Hub to access Local Edge or local files.
Known dependency advisories should be recorded separately from release-blocking security findings. Do not run force-downgrade fixes just to silence an advisory.
Deployment Gate
Before claiming a deployment:
- Confirm local tests, typecheck, and build passed.
- Confirm the CI build passed on the merged commit.
- Confirm deploy credentials are available to the deployment workflow or approved private deployment path.
- Verify live pages with cache-busting query strings.
- Save screenshots or a machine-readable QA report outside the public docs if it contains local paths.
If the deploy step fails because private credentials are missing, treat the code/docs work as merged but not deployed.
Typecheck evidence
The current static-export configuration keeps typescript.ignoreBuildErrors enabled, so pnpm build is not enough to prove type safety. A release note may claim typecheck only when a separate typecheck command or CI job has run successfully. If no typecheck script exists for the package, record that as a technical-debt gap instead of implying it passed.
Recommended Commands
Inside the site repository:
pnpm build
pnpm test
pnpm lint
If a test or lint script does not exist in the current package, say so in the release note instead of implying it ran. After the static export, check:
# Build artifact checks; public routes remain extensionless.
Test-Path .\out\zh\index.html
Test-Path .\out\zh\docs\index.html
Test-Path .\out\en\docs\index.html
Test-Path .\out\zh\docs\desktop.html
Test-Path .\out\en\docs\operations-runbook.html
Test-Path .\out\sitemap.xml
Test-Path .\out\llms.txt
From the TokenDance workspace root:
.\scripts\verify-public-surfaces.ps1
.\scripts\verify-i18n-parity.ps1
.\scripts\verify-design-tokens.ps1
.\scripts\verify-doc-freshness.ps1
.\scripts\verify-governance.ps1 -SkipDiffCheck
Do not package public releases from dirty main worktrees. Use the clean release worktree registered in the root governance docs, then smoke-test the deployment with cache-busting URLs.