Community编程与开发github.com

vibe64-dev/seed-nextjs

创建、协调或审查 Genesis 项目的解释性蓝图和面向子系统的程序。在接管代码库、记录公开操作或在实现变更后更新解释时使用。

seed-nextjs 是什么?

该技能为开发者提供了一种结构化方法来维护 Genesis 项目的解释性文档,由两个核心部分组成:“蓝图”(Blueprint)和“程序”(Program)。蓝图是一份简短、连贯的非技术性描述,重点阐述产品的用户意图,而非实现细节(如框架或文件路径)。程序则通过独立的模块对每个子系统的公开操作(如导出的函数、API 端点或 UI 操作)进行详细记录,每个模块明确标注主源代码和公共契约,以帮助未来的AI智能体或团队成员快速理解操作的目的和行为。该技能支持 Claude Code、Cursor 等 AI 编码代理,并强调与目录结构无关的显式声明,例如通过 `genesis/subsystems.md` 独立管理子系统归属关系。在实施过程中,它要求智能体在添加、删除或修改子系统职责时同步更新映射文件,避免因依赖隐式目录布局或旧缓存数据而导致的文档与实际代码不一致的问题。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/vibe64-dev/seed-nextjs/tree/HEAD/.agents/skills/genesis-program

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Genesis 蓝图与程序

蓝图和程序是维护性的解释,而非证明、所有权或详尽的语义模型。

蓝图

genesis/blueprint.md 是一份简短、连贯、非技术性的产品功能描述。优先使用明确的用户意图。不要提及框架、包、路由拼写、模式、源文件、实现计划、测试或私有架构。

仅当变更有意添加、移除或改变可观察的产品行为时,才在实现后更新蓝图。切勿将事故、错误、私有设计选择或歧义转化为产品意图。

程序

以可读的目录组织程序;成员资格仅在 genesis/subsystems.md 中声明,与目录名称无关:

genesis/program/billing/invoices.md
genesis/program/authentication/sessions.md

为每个子系统提供的每个有意义的公共操作创建一个模块,不论其语言或源码布局如何。公共操作包括导出的函数或方法、API 动作、命令、UI 操作以及其他可观察的入口点。不要镜像源文件或记录每一个辅助函数。

每个模块包含:

# 易读的边界名称

一段简要说明,解释该边界存在的原因。

## 源码

- 主文件:`exact/authored/main/source/path`
- `exact/authored/supporting/source/path`

## 公共契约

有意义的输入、输出、效果、失败和保证。

每个模块必须有且仅有一个 - 主文件: 源码条目。显式选择主源文件作为阅读实现的起点;它不必是可执行入口点,且必须属于该模块所归属的子系统,并遵循更具体的嵌套目录所有者规则。其他源码可以引用其他子系统中的共享库。切勿根据源码列表顺序、导入关系或文件命名来推断主文件。在协调旧模块时,请检查源码并显式标记锚点;索引不会自动为您分配。

可选的 ## 实现映射 部分只能命名那些对未来智能体更改、跟踪或调试操作有实质性帮助的私有辅助函数或接缝。此部分属于信息性内容,而非公共保证。测试是证据,永远不是实现源码。

倾向于更少、更清晰的模块。移除陈旧和重复的解释。一个源文件可以支持多个操作;辅助和胶水文件可以不出现在任何程序模块中。

任务边界

调用方决定当前任务是初始描述、完整程序刷新、聚焦于变更后的协调、仅蓝图工作还是只读审查。请遵守调用方的编辑边界。遇到歧义时报告,而非自行发明意图。

子系统

在描述和刷新工作中,将 genesis/subsystems.md 与程序一起维护。仅蓝图工作不改变映射;审查保持只读。映射是编撰的关联权威,但职责和表引用仍然是对应用程序源码和模式的易错解释。

使用以下确切的零版本语法:

# 子系统

## `forms` 表单

拥有可复用的表单渲染、验证和提交流程。

### 源码
- 目录 `packages/forms`

### 程序
- `genesis/program/forms/render.md`

### 拥有的数据
- 表 `database` `default` `form_definitions`

### 使用的数据
- 无。

每个子系统使用一个稳定的、小写字母加连字符的标识符和一个人类可读的标题。每个条目需要职责描述以及程序、拥有的数据和使用的数据部分。职责描述是对子系统功能的完整解释,而非映射标题。解释其目的、范围、重要部分以及与其他所有者的协作。保留现有实质性的描述;不要为了适应可视化而用一行标签替换它们。消费者可以缩短显示的预览。简单的支持目录可能只需要简短的说明。

所需的源码部分必须包含一个带有反引号路径的 - 目录 条目:一个规范的项目相对路径,允许使用 . 表示项目根目录。每个子系统有一个根目录;永远不要声明分散或多个根目录。栈父目录规则可以发现默认的子系统根目录,但不具备穷举性。智能体可以根据实际职责和源码证据识别并声明其他根目录。编撰的声明在普通索引中持续存在。一旦准备就绪,编撰的映射是规范的所有者列表;栈根目录是采用的提示,永远不会创建额外的所有者或分割编撰的边界。覆盖所有索引的源码,如有必要,使用项目根目录所有者处理剩余的支持文件。UI 组件和引擎代码可以共享一个根目录;UI 投影不会改变所有权。空部分写 - 无。;新的空映射只包含 # 子系统 和 - 无。。每个程序模块必须且只能属于一个子系统。程序目录名称不分配所有权。源码可以引用另一个子系统的库,而不会使操作或实现拥有两个所有者。不要使用通配符、重复操作或重复的表所有者。

在重新生成或有意拆分映射时,请将解释与新目录所有者协调一致。将适用的职责描述和显式程序分配一起转移,并在边界不变的情况下保留稳定的标识符。重新检查每个程序所需的主源码文件是否与其当前所有者(包括嵌套所有者)一致;库引用保留其自身所有权。使用当前声明,而不是先前消费者的硬编码名称、目录布局或缓存列表。在声称完成之前,检查子系统和程序,解决缺失/重复的成员资格和无效的主锚点。

表标识由三个独立的精确反引号值组成:声明的栈资源 ID、模式和表。default 表示资源的默认模式;如果适用,请使用显式模式。永远不要记录主机数据库名称、凭据、SQL 表达式或环境值。使用的数据引用由另一个声明的子系统拥有的表。一个子系统可以拥有数据而无程序操作,或者有操作而无数据。在分配所有权前读取实际的模式/迁移;报告不确定性而不是发明关联。

当变更添加、移除或更改子系统职责、程序成员资格或数据所有权/使用时,在同一实现轮次中维护 genesis/subsystems.md。在更改相关代码前先读取映射。重用现有的子系统,除非有证据表明存在不同的职责。每个程序模块仅声明一次;文件夹不决定成员资格。使表引用基于模式/迁移;Genesis 不检查数据库。当这些关联保持不变时,私有辅助函数更改不需要编辑映射。

如果 genesis/subsystems.md 缺失,或者在现有的已解释应用中为空,则在实现之前根据实际源码、模式和现有程序创建它。这是常规的解释性采用,不是阻止因素或再次请求权限的理由。保留现有程序和源码;检查相关职责并完成最小真实映射。初始化可以创建空文件,但只有智能体才能赋予其含义。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能