Files

400 lines
19 KiB
Markdown
Raw Permalink Normal View History

2025-12-17 23:16:46 +08:00
# Repository Guidelines
本文件为 AI Agent 提供项目操作手册与约束清单,确保 Agent 行为可控、可复现。
---
## 1. Mission & Scope(目标与边界)
### 允许的操作
2026-02-26 08:41:01 +08:00
- 读取、修改顶层文档:`README.md``AGENTS.md``CONTRIBUTING.md`
- 读取、修改 `docs/``prompts/``skills/``tools/config/``tools/external/` 下的文档与代码
- 执行 `make lint``make check-links``make check-details``make check-doc-structure``make check-directory-docs``make check-metadata``make check-ai-citation``make check-research-raw``make check-wiki``make fetch-research-raw``make sync-doc-toc`、prompts-library 转换工具
- 新增/修改提示词、技能、文档
- 提交符合规范的 commit
### 禁止的操作
- 修改 `.github/workflows/` 中的 CI 配置(除非任务明确要求)
- 修改 `LICENSE``CODE_OF_CONDUCT.md`
- 在代码中硬编码密钥、Token 或敏感凭证
- 未经确认的大范围重构
### 敏感区域(禁止自动修改)
- `.github/workflows/*.yml` - CI/CD 配置
- `.env*` 文件(如存在)
---
## 2. Golden Path(推荐执行路径)
```bash
# 1. 拉取最新代码
2026-02-19 11:28:51 +08:00
git pull --rebase origin develop
2026-04-30 01:36:52 +08:00
# 2. 初始化外部仓库指针
git submodule update --init --recursive
# 3. 运行 lint 检查
make lint
2026-04-30 01:36:52 +08:00
# 4. 执行修改任务
# ...
2026-04-30 01:36:52 +08:00
# 5. 再次 lint 验证
make lint
2026-04-30 01:36:52 +08:00
# 6. 提交变更
git add -A
git commit -m "feat|fix|docs|chore: scope - summary"
2026-02-19 11:28:51 +08:00
git push origin develop
```
---
## 3. Must-Run Commands(必须执行的命令清单)
### 环境要求
2026-05-04 03:54:14 +08:00
- Node.js 22+(通过 `npx --yes markdownlint-cli@0.48.0` 运行固定版本 Markdown lint
2026-05-02 21:05:48 +08:00
- Python 3.8+(用于 prompts-library 工具与链接检查脚本)
- Git
### 核心命令
| 命令 | 用途 | 前置条件 |
|:---|:---|:---|
| `make help` | 列出所有 Make 目标 | 无 |
2026-05-04 03:54:14 +08:00
| `make lint` | 校验全仓库 Markdown | Node.js 22+;通过 `npx --yes markdownlint-cli@0.48.0` 执行 |
2026-05-02 03:55:45 +08:00
| `make check-links` | 校验仓库内 Markdown 相对链接 | Python 3 |
2026-05-03 22:21:18 +08:00
| `make check-details` | 校验 Markdown 折叠块 `<details>/<summary>` 结构 | Python 3 |
2026-06-01 00:48:27 +08:00
| `make check-doc-structure` | 校验 docs README 标准块顺序、目录入口和重复锚点 | Python 3 |
2026-05-04 03:40:08 +08:00
| `make check-directory-docs` | 校验仓库自有目录 README/AGENTS 覆盖 | Python 3 |
2026-05-04 00:14:13 +08:00
| `make check-metadata` | 校验 metadata 路径与锚点 | Python 3 |
| `make check-ai-citation` | 校验 llms 与 AI 引用语料路径和锚点 | Python 3 |
| `make check-external-resources` | 校验本地外部资源注册表字段、分类统计、ID 与链接形态 | Python 3、PyYAML |
| `make check-research-raw` | 校验研究域 raw 原始事实层、Git 工作树、来源清单和核心材料文件 | Python 3、Git |
2026-05-17 13:15:05 +08:00
| `make check-wiki WIKI_DIR=/tmp/vibe-coding-cn.wiki` | 校验 GitHub Wiki 独立仓库本地 checkout 的页面覆盖、内链、旧口径和 Markdown | Python 3、Node.js 22+、本地 Wiki checkout |
| `make fetch-research-raw` | 拉取 `research/*/domain.yml` 对应 GitHub 研究对象的 raw 原始事实层和 `repository/` 工作树 | Python 3、Git、GitHub CLI 已认证 |
2026-06-01 00:48:27 +08:00
| `make sync-doc-toc` | 兼容旧线性 README 目录生成;当前拆分结构下通常无变更 | Python 3 |
2026-05-02 03:55:45 +08:00
| `make test` | 执行本地质量门禁 | Node.js 22+、Python 3 |
2026-04-30 01:36:52 +08:00
| `git submodule update --init --recursive` | 初始化外部 Git 仓库指针 | Git |
| `cd tools/prompts-library && python3 main.py` | 提示词格式转换 | `pip install -r tools/prompts-library/requirements.txt` |
2026-04-30 01:36:52 +08:00
### Python 依赖来源
- prompts-library 主入口依赖:`tools/prompts-library/requirements.txt`
- prompts-library Google API / JSONL 辅助脚本依赖:`tools/prompts-library/scripts/requirements.txt`
### prompts-library 支持的转换模式
1. Excel → Docs:将 Excel 工作簿转换为 Markdown 文档目录
2. Docs → Excel:将 Markdown 文档目录还原为 Excel 工作簿
3. Docs → JSONL:将 Markdown 文档转换为 JSONL 格式
4. JSONL → Excel:将 JSONL 转换为 Excel
5. Excel(JSONL) → JSONL:将内部 JSONL 格式的 Excel 转换为 JSONL 目录(每个工作表一个 JSONL 文件)
---
## 4. Code Change Rules(修改约束)
### 架构原则
- 保持根目录扁平,避免巨石文件
- 三层内容架构:`docs/` (知识) → `prompts/` (指令) → `skills/` (能力)
### 模块边界
- `docs/` - 中文知识库(方法论/入门/实战/资源)
- `prompts/` - 提示词入口与云端索引
- `skills/` - 可复用技能库(每个子目录一个 Skill)
- `assets/external-resources/` - 本地外部资源注册表
- `tools/config/` - 工具与开发配置(例如 Codex CLI)
- `tools/external/` - 外部工具与依赖(含 Git submodule
### 依赖添加规则
- 新增工具或库时记录安装方式、最小版本与来源
- 外部依赖来源记录在 `tools/external/` 目录下
- 引入第三方脚本需标明许可证与来源
### 禁止行为
- 禁止"顺手重构/大范围改动"除非任务明确要求
- 禁止删除现有测试用例(除非任务要求)
- 禁止在代码中硬编码敏感信息
---
## 5. Style & Quality(风格与质量标准)
### 格式化工具
2026-05-04 03:54:14 +08:00
- Markdown`Makefile` 固定调用 `markdownlint-cli@0.48.0`(通过 `make lint` 执行)
- CI 自动检查:`.github/workflows/ci.yml`
### 命名约定
- 文档、注释、日志使用中文
- 代码符号统一英文且语义直白
- 文件名小写加中划线或下划线
### 缩进与排版
- 全仓保持空格缩进(2 或 4 空格不混用)
- 行宽控制在 120 列内
### 设计品味
- 优先消除分支与重复
- 函数单一职责且短小
---
## 6. Project Map(项目结构速览)
```
.
├── README.md # 项目主文档
├── AGENTS.md # AI Agent 行为准则(本文件)
├── llms.txt # 面向 AI 助手的短上下文入口
├── Makefile # 自动化脚本
├── LICENSE # MIT 许可证
├── CODE_OF_CONDUCT.md # 行为准则
├── CONTRIBUTING.md # 贡献指南
├── .gitattributes # GitHub Linguist 语言统计规则
├── .gitignore # Git 忽略规则
├── .lychee.toml # GitHub Actions 外部链接检查配置
├── docs/ # 核心知识库
│ ├── README.md # docs 总索引
│ ├── getting-started/ # 从零开始、学习地图、环境与 AI CLI 配置
2026-05-03 00:43:38 +08:00
│ ├── concepts/ # 核心概念、方法论与工程思想
│ ├── philosophy/ # 哲学方法论、思维模型与底层认知模型
2026-05-05 02:11:38 +08:00
│ ├── references/ # 清单、约束、常见坑、模板和技术栈参考
2026-05-05 06:03:48 +08:00
│ └── workflow/ # 开发流程、质量门禁和交付闭环
├── research/ # 根级研究域:新技术、优秀 repo 与工程范式研究
│ ├── README.md # research 总索引
│ ├── AGENTS.md # research 目录规则
│ └── harness/ # Harness Engineering 研究对象
├── prompts/ # 提示词库入口(指向云端表格)
│ ├── README.md # 在线表格链接
│ └── AGENTS.md # prompts/ 目录规则
├── skills/ # 技能库(每个子目录一个 Skill)
│ ├── README.md # skills 总览与索引
│ ├── AGENTS.md # skills/ 目录规则
│ ├── auto-skill/ # 元技能核心
2026-05-19 02:12:30 +08:00
│ ├── auto-tmux/ # tmux 自动化脚本、pane 巡检、救援与多终端协作
│ └── claude-official-skills/ # Claude 官方 skills 软链接入口
├── assets/ # 静态资产与外部资源入口
│ ├── README.md # 静态资产与外部资源入口
│ ├── AGENTS.md # assets/ 目录规则
│ ├── external-resources/ # 本地外部资源注册表
2026-05-02 21:24:30 +08:00
│ ├── ai-citation/ # AI 引用语料包与 llms-full
│ ├── images/ # 图片资产
│ ├── templates/ # 模板附件
│ └── datasets/ # 示例数据或数据说明
├── scripts/ # 自动化脚本
│ ├── README.md # scripts 目录说明
2026-05-04 03:40:08 +08:00
│ ├── AGENTS.md # scripts 目录规则
2026-05-02 21:05:48 +08:00
│ └── check-local-links.py # Markdown 相对链接检查
├── tools/ # 工具、本地配置与外部仓库
│ ├── README.md # tools 目录说明
2026-05-04 03:40:08 +08:00
│ ├── AGENTS.md # tools 目录规则
│ ├── config/ # 工具与开发配置(含 Codex CLI)
│ ├── prompts-library/ # Excel ↔ Markdown 互转工具
│ ├── chat-vault/ # AI 聊天记录保存工具
│ └── external/ # 外部工具与 Git submodule
│ ├── AGENTS.md # external 目录规则
│ ├── README.md # 外部工具索引
2026-04-29 00:33:54 +08:00
│ ├── Skill_Seekers-development/ # Skills 制作器 (submodule)
│ ├── .tmux/ # oh-my-tmux (submodule)
│ ├── tmux/ # tmux 源码 (submodule)
│ └── claude-official-skills/ # Claude 官方 skills (submodule)
2026-02-19 11:28:51 +08:00
├── metadata/ # 机器可读索引
2026-05-04 03:40:08 +08:00
│ ├── README.md # metadata 目录说明
│ ├── AGENTS.md # metadata 目录规则
│ ├── taxonomy.yml # 分类体系
│ ├── glossary.yml # 术语表
2026-05-02 21:24:30 +08:00
│ └── redirects.yml # 重命名/迁移映射
├── .github/ # GitHub 配置
│ ├── CODEOWNERS # 路径级 owner 评审基线
│ ├── workflows/ # CI/CD 工作流
│ │ ├── ci.yml # Markdown lint + link checker
│ │ ├── labeler.yml # 自动标签
│ │ └── welcome.yml # 欢迎新贡献者
│ ├── ISSUE_TEMPLATE/ # Issue 模板
│ ├── PULL_REQUEST_TEMPLATE.md # PR 模板
│ ├── SECURITY.md # 安全政策
│ ├── FUNDING.yml # 赞助配置
│ └── WIKI.md # GitHub Wiki 独立仓库说明
```
### 关键入口文件
- `README.md` - 项目主文档,面向人类开发者
- `AGENTS.md` - AI Agent 操作手册(本文件)
- `llms.txt` - 面向 AI 助手的短上下文入口,用于让 LLM 快速理解项目定位
2026-05-02 21:24:30 +08:00
- `assets/ai-citation/llms-full.txt` - 面向 AI 助手的完整上下文入口,用于 GEO / AI 推荐与引用
- `assets/ai-citation/` - AI 引用语料包,包含摘要、FAQ、对比、推荐回答与 GEO/SEO 检查清单
- `.gitattributes` - GitHub Linguist 语言统计规则,当前将 `tools/external/**` 标记为 vendored
- `.github/AGENTS.md` - GitHub 平台配置目录规则;根 `.github/` 不保留 `README.md`,避免 GitHub 首页误展示目录说明
- `.github/CODEOWNERS` - 路径级 owner 评审基线,用于让关键目录变更自动请求维护者审查
2026-04-30 01:36:52 +08:00
- `.github/lint_config.json` - markdownlint 规则,供 `make lint` 与 CI 共用
2026-05-02 03:42:05 +08:00
- `.github/workflows/ci.yml` - GitHub Actionsdevelop/master 分支 markdown-lint + link-checker
2026-05-03 22:21:18 +08:00
- `scripts/check-local-links.py` - 仓库内 Markdown 相对链接与锚点检查脚本,供 `make check-links` 与 CI 使用
- `scripts/check-markdown-details.py` - 仓库内 Markdown 折叠块结构检查脚本,供 `make check-details` 与 CI 使用
2026-06-01 00:48:27 +08:00
- `scripts/check-doc-structure.py` - docs README 标准块顺序、目录入口和重复锚点检查脚本,供 `make check-doc-structure` 与 CI 使用
2026-05-04 03:40:08 +08:00
- `scripts/check-directory-docs.py` - 仓库自有目录 README/AGENTS 覆盖检查脚本,供 `make check-directory-docs` 与 CI 使用
2026-05-04 00:14:13 +08:00
- `scripts/check-metadata.py` - metadata 路径与锚点检查脚本,供 `make check-metadata` 与 CI 使用
- `scripts/check-ai-citation.py` - llms 与 AI 引用语料路径和锚点检查脚本,供 `make check-ai-citation` 与 CI 使用
- `scripts/check-external-resources.py` - 本地外部资源注册表检查脚本,供 `make check-external-resources``make test` 使用
- `scripts/check-research-raw.py` - 研究域 raw 原始事实层和 Git 工作树检查脚本,供 `make check-research-raw``make test` 使用
- `scripts/fetch-research-raw.py` - GitHub 研究对象 raw 原始事实层和 `repository/` 工作树拉取脚本,供 `make fetch-research-raw` 手动刷新使用,不纳入 CI
2026-05-17 13:15:05 +08:00
- `scripts/check-wiki.py` - GitHub Wiki 独立仓库本地 checkout 页面覆盖、内链和旧口径检查脚本,供 `make check-wiki` 使用
2026-06-01 00:48:27 +08:00
- `scripts/sync-doc-toc.py` - docs README 细粒度目录兼容脚本,当前拆分结构下通常无变更,供 `make sync-doc-toc` 使用
- `tools/prompts-library/main.py` - 提示词转换工具入口
2026-06-01 00:48:27 +08:00
- `docs/getting-started/README.md` - 从零开始索引入口,正文拆分到学习地图、Vibe Coding 经验、网络配置、CLI 配置与开发环境搭建
- `docs/concepts/problem-solving.md` - 问题定义与求解路径底层模型
- `docs/references/project-architecture-template.md` - 常见项目结构、架构设计原则、最低门禁和检查清单
- `docs/references/technology-stack.md` - 常见软件系统技术栈、选型维度、组合案例与初学者学习路径
- `skills/auto-skill/` - Skills 生成、重构与校验的元技能
2026-05-19 02:12:30 +08:00
- `skills/auto-tmux/` - tmux 自动化操控、脚本化 pane 巡检、按键注入、日志录制与多终端协作技能
2026-05-05 02:11:38 +08:00
### docs README 结构契约
- `docs/**/README.md` 面向人类读者;维护者规则、目录边界和同步要求写入对应 `AGENTS.md`
- 标准块顺序固定为:顶部标题块 -> `## 字多不看` -> `## 快速导航` -> 完整细粒度目录 -> `## 使用方式` -> `## 正文`
- H1 后必须直接进入 `## 字多不看`,禁止在两者之间插入引用块、说明段或其他夹层内容。
- README 中禁止出现 `和其他目录的边界``维护规则` 标题。
2026-06-01 00:48:27 +08:00
- 修改 docs README 或新增主题文档后,运行 `make sync-doc-toc``make test``make check-doc-structure` 是硬门禁。
2026-05-05 02:11:38 +08:00
---
## 7. Common Pitfalls(常见坑与修复)
| 问题 | 原因 | 修复 |
|:---|:---|:---|
2026-05-04 03:54:14 +08:00
| `make lint` 失败 | Node.js 不可用、npx 无法拉取 markdownlint-cli 或 Markdown 规则违规 | 先确认 `node -v` 为 22+,再运行 `make lint` |
| prompts-library 报错 | 缺少 Python 依赖 | `pip install -r tools/prompts-library/requirements.txt` |
| prompts-library 辅助脚本报 Google API 依赖错误 | 未安装脚本专用依赖 | `pip install -r tools/prompts-library/scripts/requirements.txt` |
2026-04-30 01:36:52 +08:00
| CI markdown-lint 失败 | Markdown 规则违规或本地未按 `.github/lint_config.json` 校验 | 运行 `make lint`,按输出修复对应 Markdown |
2026-06-02 04:48:45 +08:00
| CI link-checker 失败 | 文档中存在失效链接,或官方外链在 GitHub runner 上网络/TLS 不稳定 | 先本地验证链接;真实失效则修复 Markdown,runner 不稳定则优先调整 `.lychee.toml` 的重试、超时、并发或精确排除项 |
---
## 8. PR / Commit Rules(提交与 CI 规则)
### Commit 规范
遵循简化 Conventional Commits
```
feat|fix|docs|chore|refactor|test: scope - summary
```
示例:
- `docs: prompts - add new coding prompt`
- `feat: skills - add custom skill`
- `fix: readme - correct broken link`
### PR 必填内容
- 变更摘要
- 动机或关联 Issue
- 测试与验证步骤
### CI 触发条件
2026-05-02 03:42:05 +08:00
- `push``develop``master` 分支
- `pull_request``develop``master` 分支
- 手动触发 `workflow_dispatch`
### CI 检查项
1. `markdown-lint` - Markdown 格式检查
2026-05-03 22:21:18 +08:00
2. `check local markdown links and anchors` - 仓库内相对链接与锚点检查
3. `check markdown details and summaries` - Markdown 折叠块结构检查
2026-06-01 00:48:27 +08:00
4. `check docs README structure` - docs README 标准块顺序、目录入口和重复锚点检查
2026-05-05 01:24:00 +08:00
5. `check required directory README and AGENTS files` - 仓库自有目录 README/AGENTS 覆盖检查
6. `check metadata paths and anchors` - metadata 路径与锚点检查
7. `check llms and AI citation paths and anchors` - llms 与 AI 引用语料路径和锚点检查
8. `check modern enterprise architecture kit` - 现代企业架构 starter kit schema 与示例一致性检查
9. `link-checker` - 链接有效性检查
### 提交前清单
- [ ] 运行 `make lint` 通过
- [ ] 更新对应文档
- [ ] 确认不携带临时文件或机密数据
---
## 9. Documentation Sync Rule(强制同步规则)
**任何功能/命令/配置/目录/工作流变化必须同步更新:**
- `README.md` - 面向人类开发者
- `AGENTS.md` - 面向 AI Agent(本文件)
**不确定的内容用 TODO 标注,不允许猜测。**
2025-12-17 23:16:46 +08:00
---
2026-02-26 08:41:01 +08:00
# Claude 上下文(合并在本文件)
2025-12-17 23:16:46 +08:00
本节为 Claude 系列模型提供项目上下文。
2025-12-17 23:16:46 +08:00
## Repository Overview
**Vibe Coding CN** 是一个通过与 AI 结对编程实现"将想法变为现实"的终极工作流程。项目核心资产是其丰富的 `prompts``skills` 库。
2025-12-17 23:16:46 +08:00
## Key Commands
```bash
# 提示词库转换
cd tools/prompts-library && python3 main.py
2025-12-17 23:16:46 +08:00
# Lint 所有 Markdown 文件
2025-12-17 23:16:46 +08:00
make lint
2026-05-02 23:59:48 +08:00
# 本地质量门禁
make test
2025-12-17 23:16:46 +08:00
```
## Architecture & Structure
### Core Directories
- **`prompts/`**: 提示词库入口(指向云端表格)
- **`skills/`**: 扁平化技能库(详见 skills/README.md
2026-05-02 23:59:48 +08:00
- **`docs/`**: 知识库(getting-started、concepts、philosophy、references
- **`assets/`**: 静态资产、外部资源注册表与 AI 引用资产
2026-05-02 23:59:48 +08:00
- **`assets/ai-citation/`**: AI 引用语料包与 `llms-full.txt`
- **`tools/prompts-library/`**: Excel ↔ Markdown 转换工具
- **`tools/chat-vault/`**: AI 聊天记录保存工具
2025-12-17 23:16:46 +08:00
### Key Technical Details
1. **Prompt Organization**: 提示词使用 `(row,col)_` 前缀进行分类
2. **Conversion Tool**: 使用 Python + pandas + openpyxl
3. **Documentation Standard**: 用户文档使用中文;代码/文件名使用英文
4. **Skills**: 每个技能有独立的 `SKILL.md`
5. **Quality Gates**: `make test` 执行 Markdown lint、本地相对链接/锚点检查、折叠块结构检查、docs 结构检查、metadata 路径检查、AI 引用路径检查与现代企业架构 starter kit 检查
2025-12-17 23:16:46 +08:00
## Development Workflow
1. 遵循现有的提示词和技能分类系统
2. 使用 `prompts-library` 工具进行提示词更新
2026-05-02 23:59:48 +08:00
3. Markdown 修改后运行 `make test`
2026-05-02 21:05:48 +08:00
4. 重大重构前先确认 Git 状态,并必要时创建 checkpoint commit
2025-12-17 23:16:46 +08:00
---
2026-02-26 08:41:01 +08:00
# Gemini 上下文(合并在本文件)
2025-12-17 23:16:46 +08:00
## 项目概述
2026-05-02 23:59:48 +08:00
`vibe-coding-cn` 是一个通过与 AI 结对编程实现"将想法变为现实"的中文 Vibe Coding 从入门到精通教程。强调"规划驱动"、"模块化"、"上下文固定"与"质量门禁"。
2025-12-17 23:16:46 +08:00
## 技术栈
2026-05-02 23:59:48 +08:00
- **核心形态:** Markdown 知识库 + Python 工具脚本
- **提示词转换工具:** `tools/prompts-library/`
- **数据处理:** `pandas`, `openpyxl`prompts-library
- **配置管理:** `PyYAML`prompts-library
2026-05-04 03:54:14 +08:00
- **文档规范:** `Makefile` 固定调用的 `markdownlint-cli@0.48.0`
2025-12-17 23:16:46 +08:00
- **版本控制:** Git
- **自动化:** Makefile
## 文件结构
详见上方 Project Map 章节。