Astro site
Astro site 用于标记把 Astro 作为 public/static site 交付面的项目。它不等同于“整个仓库都是 Astro 应用”:在当前代表项目里,Astro 负责面向读者的 public content rendering 和 static export,而 admin SPA、gateway、API 或 legacy runtime 由其他边界承担。关键证据通常包括 astro.config.
- 前端
目录
Definition
Astro site 用于标记把 Astro 作为 public/static site 交付面的项目。它不等同于“整个仓库都是 Astro 应用”:在当前代表项目里,Astro 负责面向读者的 public content rendering 和 static export,而 admin SPA、gateway、API 或 legacy runtime 由其他边界承担。关键证据通常包括 astro.config.mjs、site/、@astrojs/* 依赖、site:build / public:export scripts,以及项目文档中对 public site runtime 的明确描述(projects/blog-26.md)。
这个 Topic 的维护价值在于保留 public surface 的真实技术边界。后续 Agent 看到博客、文档或内容站时,不能只根据 React/Next 依赖判断渲染入口;必须核对 Astro 是否仍负责静态页面、内容集合、路由生成和部署 artifact(projects/blog-26.md)。
When to use
当项目的公开内容站、文档站、博客、营销页或静态 public surface 由 Astro 承担,并且这个边界会影响 build、routing、content sync、preview 或部署验证时,使用这个 Topic。若 Astro 只是依赖树中的 adapter、实验代码或历史残留,但当前交付面不依赖 astro.config.mjs / site/,不要打这个标签。
Habits / defaults
- 明确拆分 Astro public surface 与其他 runtime。
blog-26把site/与astro.config.mjs作为 static public site,把apps/admin/留给 Vite/React admin SPA,把 legacy Next runtime 留给内部 API 与兼容路径(projects/blog-26.md)。 - 不要用
React app或Next.js app吞掉 Astro 语义。Astro 负责 public rendering 时,应单独标记Astro site,再按实际边界叠加React app、TypeScript web或Next.js app(projects/blog-26.md)。 - build / export scripts 要和 runtime 边界对齐。
blog-26的build拆成site:build、admin:build、backend:dist,说明 Astro artifact 不是唯一产物,也不应被 backend dist 或 admin preview 混淆(projects/blog-26.md)。 - 变更 route、content path、env var 或 gateway 行为时,要同时验证 Astro public site 与相邻 runtime。
blog-26的风险记录要求触碰这些边界时同时看 Astro、Admin、Gateway 和 legacy Next(projects/blog-26.md)。 - 项目摘要和标签必须把 Astro 写进 Taxonomy;如果 Purpose 已写 “Astro public site”,但 tags 只有
React app/Next.js app,说明抽取漏掉了 public surface,应优先修项目快照再重建 tag index(projects/blog-26.md)。
Reference implementations
projects/blog-26.md:公开镜像,Astro static public site + Vite/React admin SPA + legacy Next runtime 共存;证据包括astro.config.mjs、site/、package.json、scripts/start-gateway.ts。
这些实现的重点不是“用了 Astro”本身,而是 staged migration 下多个 runtime 如何共存:Astro 产物面向 public reader,React admin 面向维护者,legacy Next 保留兼容 API。维护时应把三者当作独立验证面,而不是用一个 npm run build 结论覆盖全部边界(projects/blog-26.md)。
Failure modes
- 只看到 TypeScript/React 就漏掉 Astro,会让项目标签看起来和摘要矛盾,并让后续 Agent 错把 public site 当成 admin SPA 或 legacy Next 页面处理(
projects/blog-26.md)。 - 把 Astro public site 和 legacy Next runtime 合并成一个泛化
Next.js app判断,会掩盖 staged migration 的真实边界(projects/blog-26.md)。 - 只验证 admin 或 backend build,不验证
site:build/ public export,会漏掉面向读者的静态站交付面(projects/blog-26.md)。 - 修改内容模型、route 或 gateway 时只看 Astro 页面,也可能漏掉 legacy preview/API 兼容路径;反过来,只测 Next API 又会漏掉 public export。跨边界改动必须把
Astro site、React app、Next.js app的证据一起复核(projects/blog-26.md)。
Evidence index
projects/blog-26.md
相关内容
Ivan's Blog 2026
项目实践Ivan's Blog 2026 是 Ivan 博客平台的公开开源镜像,由 Astro public site、Vite/React admin SPA 和 Bun gateway/API 组成。README.md、astro.config.mjs、apps/admin/、src/server/ 和 package.
Resume
项目实践Resume 是一个 Astro 静态简历站点:本地完整构建用于打印与视觉检查,publish artifact 提供 value-free loading shell,再由 Edge Function 在访问验证后返回结构化简历内容与 PDF 能力(README.md、astro.config.mjs、src/data/resume.ts)。