GeneHub 是 NoDeskClaw 生态的基因注册中心,为全体 AI 员工提供可复用、可组合、可演化的能力基因。包含三个核心模块:Registry(注册中心)、SDK(标准学习协议)、CLI(命令行工具)。
| 组件 | 技术 |
|---|---|
| Registry API | TypeScript + Hono |
| 数据库 | PostgreSQL |
| CLI | TypeScript (tsx) |
| SDK (TypeScript) | TypeScript |
| SDK (Python) | Python 3.12+ |
| 包管理 | pnpm (monorepo) |
| 测试 | Vitest (TS) / pytest (Python) |
| Lint | Biome (TS) / Ruff (Python) |
genehub/
├── docs/ # 设计文档
│ ├── architecture.md # 架构设计
│ └── gene-learning-protocol.md # 标准学习协议规范
├── packages/
│ ├── registry/ # Gene Registry Service
│ ├── sdk/
│ │ ├── typescript/ # TypeScript SDK
│ │ └── python/ # Python SDK
│ └── cli/ # 命令行工具
├── genes/ # 官方基因库
├── adapters/ # 安装方式兼容层
├── AGENTS.md # 开发指南(本文件)
├── README.md
├── LICENSE
├── CONTRIBUTING.md
└── package.json # monorepo 根配置
# 安装依赖(monorepo 全量)
pnpm install
# Registry
cd packages/registry
pnpm dev # 开发模式
pnpm test # 测试
pnpm build # 构建
# CLI
cd packages/cli
pnpm dev
pnpm test
# TypeScript SDK
cd packages/sdk/typescript
pnpm test
# Python SDK
cd packages/sdk/python
uv sync
uv run pytest
uv run ruff check .
# 全量 lint
pnpm lint格式:yyyy-MM-dd[-tag]
| 格式 | 用途 | 示例 |
|---|---|---|
yyyy-MM-dd |
正式发布 | 2026-02-27 |
yyyy-MM-dd-alpha |
内测版 | 2026-02-27-alpha |
yyyy-MM-dd-beta |
公测版 | 2026-02-27-beta |
yyyy-MM-dd-rc.N |
候选版 | 2026-02-27-rc.1 |
yyyy-MM-dd-hotfix.N |
热修复 | 2026-02-27-hotfix.1 |
Git Tag 统一加 v 前缀:v2026-02-27。
同一天多次发布时,tag 递增区分:v2026-02-27、v2026-02-27-hotfix.1。
基因版本号(Gene Manifest 中的 version)使用 SemVer(1.0.0),与项目版本号独立。
- 使用中文交流,commit message 中文
- 禁止 emoji(代码、注释、文档均禁止)
- 布尔变量用
is_、has_、can_前缀 - 禁止中文变量名
- 禁止无意义缩写(允许业界标准:API、URL、ID、DB、CLI)
- 模块/函数:
camelCase - 类/接口/类型:
PascalCase - 常量:
UPPER_SNAKE_CASE - 文件名:
kebab-case.ts - 使用
type优先于interface(除非需要声明合并) - 严格模式
strict: true
- 模块/函数:
snake_case - 类:
PascalCase - 常量:
UPPER_SNAKE_CASE - 类型注解:必须使用
<type>(<scope>): <subject>
- type:
feat/fix/docs/style/refactor/perf/test/chore/revert/build - scope:选填(
registry/cli/sdk/protocol/genes等) - subject:中文,祈使语态,50 字符内
feat(registry): 基因搜索 API 支持标签过滤
fix(cli): 修复 install 命令依赖解析死循环
docs(protocol): 补充 nanobot Adapter 映射规则
chore: 升级 Hono 到 4.x
- 禁止
Co-authored-by署名 - 禁止提交
.env、node_modules/、__pycache__/、.venv/
| 分支 | 用途 | 保护 |
|---|---|---|
main |
稳定发布分支 | 禁止直推,PR 合入 |
dev |
开发主分支 | PR 合入 |
feat/<name> |
功能分支 | 从 dev 拉出,合回 dev |
fix/<name> |
修复分支 | 从 dev 拉出,合回 dev |
release/<version> |
发布分支 | 从 dev 拉出,合回 main + dev |
功能实现前,先更新对应设计文档。不允许跳过文档直接写代码。
必须包含 README,至少包含:用途、目录结构、使用方法。
代码和文档必须在同一次操作中同步完成。
重架构轻代码。代码块仅用于说明接口签名或数据结构,不写实现。
- 先查证再开口,不确定的先查证
- 明确依据来源(哪个文件、哪行代码)
- 不知道就是不知道,不编造
- 出错就认,不找借口
- 标题简明,包含模块前缀:
[registry] 基因搜索不支持模糊匹配 - 正文包含:背景、期望行为、实际行为、复现步骤
- 标签:
bug/feature/docs/question
- 标题格式同 commit:
feat(registry): 基因搜索 API 支持标签过滤 - 正文包含:变更摘要、测试计划
- 关联 Issue:
Closes #123 - 必须通过 CI(lint + test)才能合入