用途
Astro 7 技能用于在构建 Astro 7 网站、选择输出模式、配置中间件或从 Astro 5/6 升级时提供指导。它面向内容驱动型网站,例如博客、文档站和营销站点,也支持需要按需渲染的应用、仪表盘和认证场景。
主要能力
该技能覆盖以下内容:
- 初始项目搭建与从 Astro 5/6 的迁移,包括破坏性变更和 Node 22.12+ 要求。
- 输出模式选择:static(默认,所有页面在构建时预渲染)、server(所有页面按需渲染),以及混合模式(并非 output 的取值,而是 static 或 server 配合逐路由
export const prerender)。 - 中间件配置,用于认证、重定向和响应头等横切关注点。
- 路由:基于文件的路由(
src/pages/直接映射 URL)、动态路由([slug].astro、[...all].astro)、逐路由 prerender、以及src/pages/下的.ts/.js端点作为 API 路由。 - Astro 7 新特性:统一开发运行时(开发与生产一致)、Vite 环境 API(Vite 8)、单一 Rust 编译器(移除 Go 编译器,对
.astro文件进行严格 HTML 解析,未闭合标签会报错而非静默自动修正)、实时内容集合、内置字体 API(稳定)、CSP 支持(稳定,基于哈希并配合Astro.csp运行时 API)、Cloudflare Workers 一等支持(开发时使用 workerd 运行时)、路由缓存(7.0 稳定,顶层 cache 加 routeRules,Astro.cache.set({ maxAge, swr, tags }))、高级路由(7.0,可选src/fetch.ts入口,astro/fetch、astro/hono)。
使用方式
该技能规定了一套强制性的智能体工作流:在任何实现之前,并行启动 3 个智能体,每个 Agent 调用各带一个名称:
fuse-ai-pilot:explore-codebase— 分析现有路由、布局和配置fuse-ai-pilot:research-expert— 通过 Context7/Exa 核实最新的 Astro 7 文档mcp__context7__query-docs— 检查 v6→v7 的破坏性变更
实现之后,运行 fuse-ai-pilot:sniper 进行验证。
技能内提供了参考指南,按需查阅:初始设置见 installation.md,路由模式见 routing.md,输出配置见 output-modes.md,中间件设置见 middleware.md,astro.config.ts 见 config.md,Astro 7 新特性见 new-features.md,完整项目设置见 templates/basic-setup.md,配置示例见 templates/config-example.md。
最佳实践
- 默认使用
output: 'static',仅在需要时添加 server。 - 使用逐路由 prerender 实现细粒度的混合控制(output 只接受
'static'|'server',没有'hybrid'取值)。 - 用中间件处理横切关注点:认证、重定向、响应头。
- 无需编译器标志——Rust 编译器现在是唯一的编译器(Go 已移除);注意未闭合标签会触发严格 HTML 解析错误。
- 使用内置稳定的
security.csp(基于哈希,外加Astro.csp运行时 API)而非自定义响应头。 - 需要 Node 22.12+,不支持奇数版本 Node;保持稳定的 TypeScript 工具链,原生 tsgo 编译器可能使
astro check/typecheck 以不透明的方式失败(详见installation.md)。
适用场景
- 构建新的内容驱动型网站或博客
- 从 Astro 6 迁移到版本 7
- 配置 static 或 server 输出(混合 = 逐路由 prerender)
- 为认证或重定向设置中间件
- 利用新的 Rust 编译器服务大型站点
- 实现内容安全策略(CSP)响应头
限制
该技能不覆盖以下主题,它们各自有独立技能:Content Layer API 细节(astro-content)、Server Actions(astro-actions)、Islands 水合指令(astro-islands)、UI 框架集成(astro-integrations)、部署适配器(astro-deployment)。