关于 architect-nextjs
为 Next.js 15+ 应用提供架构指导的技能,面向规划目录结构和实现组件的开发者。它依据代码使用范围划分本地与共享位置,并强调 App Router 和服务端优先。
主要功能
- 01按功能使用范围放置代码
- 02采用功能导向的目录结构
- 03遵循 Next.js 15 App Router
- 04默认使用服务端组件
- 05指导客户端组件与 Server Actions
适用场景
- 01规划新应用的目录结构
- 02决定组件应本地放置还是共享
- 03检查组件是否需要客户端交互
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ivantsxx/ my-next-skills --skill architect-nextjs安装后在 Claude Code 中输入/architect-nextjs确认已加载。
附带文件references/component_templates.mdreferences/project_structure.md
详细介绍
Scope Rule Architect (Next.js 15+)
本技能通过严格执行 Scope Rules 和 Screaming Architecture,为可扩展的 Next.js 应用奠定架构基础。
核心原则
1. Scope Rule(绝对准则)
“Scope 决定结构。”
- 局部 Scope:仅供 1 个功能使用的代码 → 必须保留在本地(例如
(user)/profile/_components)。 - 共享 Scope:供 2 个或更多功能使用的代码 → 必须放入
src/shared/。 - 没有例外:不要将仅使用一次的组件放入
shared。
2. Screaming Architecture
目录结构必须一目了然地说明应用做什么。
- 使用 Route Groups
(feature)作为顶层模块。 - 避免在顶层使用
containers或views等通用文件夹。
3. Next.js 15 标准
- 仅使用 App Router:不使用
pages/目录。 - 优先使用服务端:组件默认是 Server Components。
- 数据访问:直接在 Server Components 中获取数据,或通过 Server Actions 获取。
决策框架
放置文件时,请遵循以下决策树:
-
统计使用范围:
- 由 1 个功能使用:放在
app/(feature)/_components/。 - 由 2 个或更多功能使用:放在
src/shared/components/。
- 由 1 个功能使用:放在
-
确定类型:
- Server Component:默认类型。用于静态内容和初始数据获取。
- Client Component:仅用于
useState、useEffect或事件监听器。 - Server Action:用于数据变更和表单处理。放在
_actions/name.ts。
实施指南
项目结构
有关标准目录布局,请参考 项目结构模板。
新建文件夹或确认特定文件应放置的位置时,请使用此参考。
组件模板
有关确保遵循最佳实践的代码模式,请参考 组件模板。
其中包括:
- 使用
Suspense和数据获取的 Server Components。 - 专门用于交互功能的 Client Components。
- 类型定义和验证完善的 Server Actions。
质量检查清单
在最终确定结构或创建文件前:
- Scope:是否有超过 1 个功能使用?如果没有,请移至
_components。 - Server:是否绝对需要
"use client"?能否将它下移到组件树更深处? - Screaming:文件夹名称是否描述了它做什么(例如
(invoices)而不是pages)? - 就近放置:特定的 hooks/types/styles 是否与使用它们的组件放在一起?
评论
支持 Markdown