主题
rvh/docs/ 索引 —— 移动端文档导航
本文件只做索引:每份文档是什么、去哪找。 🚫 这里不定义任何规则,也不复述别处的内容。规则的稳定归属见
../CLAUDE.md(本端)与仓根CLAUDE.md§4(双端契约)。 索引与被索引者漂移时,以被索引的那份为准,回来改本文件。份数与体量刻意不写 —— 它们必然静默漂移,而且腐烂后会主动误导。要现数见 §现算命令。
🔴 2026-08-30 重写。此前这份索引停在「最后更新 2026-01-28」,自称「共 38 个文档 / 6 个 Skill」(实为 59 份 / 8 个),逐条列着 20 多份 plan(其中两份已归档 ⇒ 死链)、 用着 2026-07-26 就改掉的旧库名,还宣传一条根本不存在的 git hook 保障。 成因不是没人写,是没有任何东西在查它 —— 仓根的
check-doc-links当时不扫rvh/docs/,/docs-audit的范围里没有rvh/。两处都已于同日补上。
📍 合仓之后,有五样东西不在这棵树里
RVH 于 2026-08-28 由独立仓合入 Lampio 单仓(rvh/ 子目录)。先记住这张表, 再去下面翻层级 —— 否则最容易在这里维护出第二本账:
| 你要找的 | 不在 rvh/docs/,在哪 |
|---|---|
| 产品定位与功能清单 | 仓根 docs/product.md(双端唯一真相源;product.md 只是指针) |
| 跨端交接(handoff / confirmation / 裁定) | 仓根 docs/cross-end/README.md 的编号总表(唯一索引,2026-08-29 T4-1 两侧已归并,本目录不再记第二本) |
| 双端契约红线的规则本体 | 仓根 CLAUDE.md §4(RB #5i / #6d / #9 / #10)。本端落地形状在 ../lib/features/sync/CLAUDE.md |
| CI 配置 | 仓根 .github/workflows/ci-rvh.yml —— 子项目自己那个 .github 目录已于合仓 T3-6 整个删除,别再去 rvh/ 下找 |
| 桌面端 / admin / supabase / 工程的 as-built | 仓根 CHANGELOG.md。移动端的在 ../CHANGELOG.md —— 每端各一份,别只查一份 |
🎯 按受众查找
新成员:../README.md 项目总览 → ../QUICKSTART.md 上手 → 仓根 docs/product.md 产品愿景
开发者(日常):../CLAUDE.md ⭐ 控制台 → development.md 代码规范与常见问题 → ui-guidelines/README.md Material 3 按需:database/schema.md · design.md
改 sync / SM-2 / 归一 / 预装库:先读仓根 CLAUDE.md §4 拿规则, 再读 ../lib/features/sync/CLAUDE.md 拿本端落地与守卫。 ⚠️ 这类改动落在双端契约上,改完要按仓根 §9「变更通知流程」写 cross-end 交接单。
架构:design.md · decisions.md(ADR)· database/README.md
规划 / 待办:plans/README.md(活跃计划区的约定)· plans/backlog.md(待办写这里)
🛠️ 按任务查找
| 任务 | 顺序 |
|---|---|
| 开发新功能 | 仓根 docs/product.md 定位 → design.md → development.md + ui-guidelines/README.md → 收尾跑 /rvh:doc-sync-check |
| 改数据库 | database/schema.md → ../assets/sql/ 改 DDL → lib/shared/data/database/app_database.dart 升 _schemaVersion → /rvh:doc-sync-check → database/optimization.md 看性能 |
| 改共享表 | 🔴 先看仓根 CLAUDE.md §9「共享表变更检查清单」—— 单改本端会让 scripts/cross-end-check.sh §E 变红(该闸门以 Supabase DDL 为仲裁者,已在 CI) |
| 配 Supabase | deployment/supabase-setup-guide.md → deployment/edge-function-deployment-guide.md → ../.env.example |
| 更新预装词库 | guides/vocabulary-pipeline-and-reseed.md。⚠️ 红线 #10:本端是纯消费方,assets/databases/lampio_dict.db 是指向桌面端那份的 symlink,只有一个物理文件 |
| 问 Claude Code / Skill 怎么用 | 直接问 Claude(claude-code-guide agent)。本仓不再维护第三方工具教程(2026-08-29 T2-2 删除两份) |
📚 7 层文档体系
7 层是逻辑分层不是物理分层:部分文档按行业惯例留在 rvh/ 根目录(README.md / CHANGELOG.md / QUICKSTART.md),便于工具识别。
| 层 | 定位 | 内容 |
|---|---|---|
| 1 项目入口 | 5 分钟了解全貌 | ../README.md · ../QUICKSTART.md · 本文件 |
| 2 产品和业务 | 定位、规划、待办 | 仓根 docs/product.md(真相源)· product.md(指针)· ../CHANGELOG.md · plans/ · rvh-me-features-for-rb-migration.md |
| 3 开发规范 | 日常必备 | development.md · ui-guidelines/(Material 3 全套) |
| 4 架构设计 | 系统与决策 | design.md · decisions.md(ADR)· architecture.md(文档体系自身的架构,不是代码架构 —— 名字容易误会) |
| 5 专项技术 | 深度文档 | database/(schema 权威 / 优化 / 跨端 schema 对照)· deployment/ |
| 6 辅助工具 | 工具与指南 | guides/ · ../scripts/README.md |
| 7 自动化维护 | 质量门 | 仓根 .github/workflows/ci-rvh.yml · ../scripts/doc-consistency-check.sh · rvh/.claude/skills/ 的 8 个 scoped skill |
⚠️ Layer 2 不再逐份列 plan。 那张表曾列着 20 多份 plan 的名字与「已完成/按需」状态, 是本文件腐烂最快的部分(归档两份就产生两条死链,且状态列从来没人维护)。 plan 的索引归
plans/README.md与plans/backlog.md, 完成状态以 plan 自己的状态行 +../CHANGELOG.md为准。
🤖 质量门:谁在真的执行
本仓默认不装任何 git hook(.git/hooks/ 是空的)。质量靠 CI 与手工 skill, 不要把 hook 写成「三重保障」之一 —— 那是本文件 2026-08-30 之前的原话,而它从未成立。
| 机制 | 什么时候跑 | 谁触发 |
|---|---|---|
仓根 .github/workflows/ci-rvh.yml | 改动命中 paths: rvh/** 的每次 push / PR | 自动。4 个 job:analyze / 架构合规 5 条 grep / flutter test / coverage |
仓根 scripts/check-doc-links.mjs | 每次 push(ci.yml) | 自动。2026-08-30 起覆盖 rvh/docs/ 全树 |
仓根 scripts/cross-end-check.sh | 改动命中 schema/sync 相关路径(ci-cross-end.yml) | 自动。三端结构一致性 |
../scripts/doc-consistency-check.sh | 手工 | 6 步;断链那步委托仓根闸门 |
rvh/.claude/skills/ 8 个 scoped skill | 手工 / Claude 按 description 触发 | rvh:code-review · rvh:clean-arch-check · rvh:doc-sync-check · rvh:doc-consistency-check · rvh:ui-compliance-check · rvh:i18n-check · rvh:preinstalled-db-update · rvh:code-check-before-restart |
../scripts/install-hooks.sh | 可选,默认不装 | 装后只在本次暂存区碰了 rvh/ 时才跑 |
⚠️
../scripts/doc-consistency-check.sh与rvh:doc-consistency-checkskill 是两套并行实现 (skill 内联 9 个检查,脚本 6 步,交集只有版本号与词汇库)。skill 是活的路径; 脚本长期没人跑,它那道「断链检查」因此烂成了恒绿(2026-08-30 修)。 要不要收敛成一套记在plans/backlog.md。
现算命令
bash
cd /Users/larry/reading-browser
find rvh/docs -name '*.md' | wc -l # 本树文档总数
ls rvh/docs/plans/*.md | wc -l # 活跃 plan
ls rvh/docs/plans/archive/*.md | wc -l # 已归档 plan
ls rvh/.claude/skills/ | wc -l # scoped skill 数
grep '_schemaVersion =' rvh/lib/shared/data/database/app_database.dart # 当前 schema 版本
node scripts/check-doc-links.mjs # 本树链接是否悬挂(仓根闸门,含 rvh/docs/)
node scripts/check-claude-md-paths.mjs rvh/docs/README.md # 本文件反引号路径是否都存在
(cd rvh && bash scripts/doc-consistency-check.sh) # 6 步文档一致性写新文档时
- 新建
rvh/docs/**.md后回来加一行。本文件是索引,不是自动生成物。 - 一次性方案进
plans/,做完git mv进plans/archive/; 归档后回头 grep 一次引用点(本文件 2026-08-30 那两条死链就是漏了这一步)。 - markdown 链接写相对路径(给人点),反引号里写仓根相对路径(给
scripts/check-claude-md-paths.mjs验)。两者不要混。