Deployment
This page explains the public-site deployment boundary for AgentHub Home and docs. It intentionally avoids private host paths, SSH aliases, rollback commands, and secrets.
WARNING
Public docs can describe build outputs, release source worktrees, smoke-test shape, and public URLs. Host-specific copy paths, backup directories, rollback commands, credentials, and server inventory belong only in the private server workspace.
Release Source
Build and package AgentHub Home from the registered clean release worktree in the TokenDance workspace governance docs. Do not deploy from a dirty default worktree or from an older design-preview worktree.
| Source | Requirement |
|---|---|
| Git branch | Fast-forwarded to the commit being released |
| Worktree | Clean except intended release changes |
| Package lock | Not changed unless dependency work is in scope |
| Static output | Produced by corepack pnpm --filter @tokendance-site/hub build |
| Discovery files | robots.txt, sitemap.xml, and llms.txt included in output |
Product Deployment Status
This page is only the AgentHub Home static-site deployment guide. It is not a public production deployment manual for Hub Server, Edge Server, Web workbench, Remote/Cloud Edge, or Feishu/Lark Gateway.
| Component | Public deployment status | Public rule |
|---|---|---|
| AgentHub Home | Static export can be deployed publicly | Build from the registered release source, then smoke public routes |
| AgentHub Docs | Static export can be deployed publicly | Keep bilingual routes, metadata, search, sitemap, and llms.txt aligned |
| AgentHub Desktop | Local preview / packaging in progress | Public docs can describe local preview and UI evidence, not a production rollout |
| Local Edge | Local preview | Public docs can describe local health checks and workspace policy, not private host setup |
| Hub Server | In progress | Public docs describe architecture and authorization boundaries; production details stay private |
| Web workbench | In progress | Public docs describe Hub-backed behavior and missing evidence, not general availability |
| Feishu/Lark Gateway | In development | Public docs describe setup checklist and callback rules; real tenant config stays private |
| Remote/Cloud Edge | In development | Public docs describe safety requirements only until device proof and routing evidence exist |
If a reader wants to run the product locally, send them to Installation and Quickstart. If an operator needs production details, use the private server workspace and do not copy those paths or commands into this repository.
Local Build
Run from the site release source:
corepack pnpm --filter @tokendance-site/hub exec astro check
corepack pnpm --filter @tokendance-site/hub test
corepack pnpm --filter @tokendance-site/hub lint
corepack pnpm --filter @tokendance-site/hub build
Expected evidence:
- tests pass with the current docs registry and search index;
- static export completes;
- generated
apps/hub/out/contains localized home and docs routes; - lint has no new errors.
Static Export Checks
After build, check the generated files:
# Build artifact checks; public routes remain extensionless.
# Astro static output emits route directories with index.html files.
Test-Path .\apps\hub\out\zh\index.html
Test-Path .\apps\hub\out\en\index.html
Test-Path .\apps\hub\out\zh\docs\index.html
Test-Path .\apps\hub\out\en\docs\index.html
Test-Path .\apps\hub\out\zh\docs\product-status\index.html
Test-Path .\apps\hub\out\zh\docs\identity-login\index.html
Test-Path .\apps\hub\out\zh\docs\design-system\index.html
Test-Path .\apps\hub\out\zh\docs\deployment\index.html
Test-Path .\apps\hub\out\sitemap.xml
Test-Path .\apps\hub\out\llms.txt
Live Smoke
Use cache-busting query strings after deployment:
| Route | What to confirm |
|---|---|
/zh?v=<version> | Current homepage, no old hero, mock visible, TokenDance Blue |
/en?v=<version> | English homepage, language copy correct |
/zh/docs?v=<version> | Docs body, sidebar, search, and TOC render |
/zh/docs/product-status?v=<version> | Product status table renders as table |
/zh/docs/design-system?v=<version> | Design rules and tokens render |
/zh/docs/deployment?v=<version> | Deployment boundary warning renders |
/llms.txt?v=<version> | New docs links are present |
/sitemap.xml?v=<version> | New localized routes are present |
Release Evidence Template
Keep public release evidence compact and repeatable:
commit: <git-sha>
tag: <release-tag>
package: <public-safe package name, no private path>
build: test / lint / build result
routes: /zh, /en, /zh/docs, /en/docs, changed deep docs routes
seo: robots.txt / sitemap.xml / llms.txt / manifest content type
visual: desktop + mobile screenshots or reason visual QA was blocked
smoke: cache-busting live URLs and body keywords
private state: updated in server workspace, without copying private paths here
If a field is missing, write the missing proof explicitly. Do not replace missing proof with optimistic release language.
Documentation Completeness Gate
Every public docs change should answer this checklist before deployment:
| Check | Required evidence |
|---|---|
| Bilingual page parity | English and Chinese pages carry the same status, boundaries, and examples |
| Navigation | Sidebar, previous/next, and TOC include new or changed sections |
| Search | Search index includes terms users will actually search |
| Discovery | llms.txt, sitemap, and public route metadata stay aligned |
| Public/private split | No secret, host inventory, SSH alias, web root, backup path, or rollback command |
| Status language | Preview, in progress, and in development are not described as generally available |
| Changelog | The docs change is recorded with an absolute date |
Cache And Stale Page Triage
If the live site still shows an older hero, old mock, missing docs body, or stale navigation:
- Confirm the local release worktree commit.
- Confirm the package was built from that worktree.
- Confirm the deployed static files contain the expected route.
- Request the route with a cache-busting query string.
- Check whether
/zh,/en,/zh/docs, and deep docs routes disagree. - Only then investigate web-tier cache or deployment copy issues in private ops docs.
Deployment Notes
- Public docs can mention the package filename and commit/tag when they are user-visible release evidence.
- Public docs must not include live filesystem paths, server usernames, SSH aliases, backup paths, or rollback commands.
- If deployment is blocked by credentials or private server access, say the site build is ready but not deployed.
- Update the operations state in the private server workspace after live smoke passes.