初始化引导配置
此命令通过询问有关您 Obsidian 工作流和偏好的问题,帮助您创建个性化的 CLAUDE.md 配置文件。
任务
阅读 CLAUDE-BOOTSTRAP.md 模板,并交互式地收集用户信息:
- 现有知识库结构(如有)
- 工作流偏好
- 笔记记录风格
- 组织方法
- 特定需求
然后根据其需求生成一个定制化的 CLAUDE.md 文件。
过程
-
初始环境设置
- 使用
date命令获取当前日期以添加时间戳 - 检查当前文件夹名称,并询问是否需要重命名
- 如果需要,引导用户完成重命名(处理父目录移动)
- 检查 package.json 并安装依赖:
- 优先尝试
pnpm install(更快,更好) - 如果 pnpm 不可用,回退到
npm install
- 优先尝试
- 验证核心依赖已安装
- 检查 git 状态:
- 如果没有 .git 文件夹:初始化 git 仓库
- 如果有远程源:询问是否进行开发工作
- 个人知识库:移除远程源和 .github 文件夹
- 贡献项目:保留远程源和工作流不变
- 如果是干净的本地仓库:准备就绪
- 暂时不要创建文件夹——等到询问了组织方法之后
- 使用
-
检查现有配置
- 查找现有的 CLAUDE.md
- 如果存在,询问是要更新还是重新开始
- 检查是否存在 CLAUDE-BOOTSTRAP.md 模板
-
收集知识库信息
- 搜索常见位置以查找现有的 Obsidian 知识库(.obsidian 文件夹)
- 使用适当的深度限制检查以下路径:
~/Documents(最大深度 3) - 所有平台~/Desktop(最大深度 3) - 所有平台~/Library/Mobile Documents/iCloud~md~obsidian/Documents(最大深度 5 - 仅限 macOS,iCloud 知识库)- 主目录
~/(最大深度 2) - 所有平台 - 当前目录的父目录(最大深度 2) - 所有平台
- 如果找到,询问:“在 [路径] 找到 Obsidian 知识库。这是您要导入的知识库吗?”
- 正确计数文件:
find [路径] -type f -name "*.md" | wc -l(无深度限制) - 显示知识库大小:
du -sh [路径] - 如果确认,分析知识库结构:
- 运行
tree -L 3 -d [路径]查看文件夹层次结构 - 随机抽样 10-15 个笔记以了解内容类型
- 列出 30-50 个最近的文件名以检测命名模式
- 检查每日笔记文件夹和格式
- 按文件计数确定最活跃的文件夹
- 检测是否使用 PARA、Zettelkasten、Johnny Decimal 或自定义方法
- 运行
- 如果不是正确的知识库或未找到:
- 仅在 macOS 上: 询问:“您的知识库是否存储在 iCloud Drive 中?(是/否)”
- 如果是(macOS):“请输入知识库的完整路径(例如,
/Library/Mobile Documents/iCloudmd~obsidian/Documents/YourVault)” - 如果否,或在 Linux/Windows 上:“请输入您现有知识库的路径,或者输入 'skip' 重新开始”
- 验证用户提供的路径(参见下面的“用户路径验证”部分)
- 如果没有现有知识库或用户跳过,则从头开始
-
询问配置问题
- “您的名字是什么?”(用于个性化)
- “您是否希望我研究您的公开作品以更好地了解您的背景?”
- 如果是:搜索相关信息
- 始终展示发现结果并询问“这是否正确?”以进行确认
- 如果找到多人,列出编号以供选择
- 如果找错了人,提供重新搜索或跳过的选项
- 保存有关其工作、写作风格、专业领域的相关上下文
- “您遵循 PARA 方法还是有不同的组织系统?”
- “您的主要使用场景是什么?(研究、写作、项目管理、知识库、每日笔记)”
如果使用 PARA,询问具体的设置问题: Tiago Forte 的 PARA 方法
- “您正在处理哪些活跃项目?”(在 01_Projects 中创建文件夹)
- “您维护哪些责任领域?”(例如,工作、健康、财务、家庭)
- “您经常研究哪些主题?”(在 03_Resources 中设置)
- “您最近完成了哪些项目?”(可以归档并附上摘要)
通用偏好:
- 检查 .obsidian/community-plugins.json 以查看他们使用了哪些插件
- 自动分析现有文件以检测命名约定
- 检查附件文件夹以了解其是否处理媒体文件
- “您是否使用 Git 进行版本控制?”
- “您是否经常引用特定的网站或资源?”
- “您有特定的写作风格偏好吗?”
- “您是否希望 Claude 遵循特定的工作流或模式?”
- “您想要一个每周回顾仪式吗?(例如,周四项目回顾)”
- “您更喜欢‘思考模式’(提问/探索)还是‘写作模式’?”
-
可选工具设置
Gemini Vision(已包含)
- 询问:“Gemini Vision 已包含在内,用于分析图片、PDF 和视频。您想要激活它吗?(是/否/稍后)”
- 解释:“您只需要一个来自 Google 的免费 API 密钥。这样 Claude 就可以分析您知识库中的任何视觉内容。”
- 如果稍后:“没问题!您可以随时通过从 https://aistudio.google.com/apikey 获取 API 密钥并将其添加到您的 shell 配置文件中,然后运行
claude mcp add --scope project gemini-vision node .claude/mcp-servers/gemini-vision.mjs来设置。” - 如果是:
- 引导从 https://aistudio.google.com/apikey 获取 API 密钥(免费,30 秒即可完成)
- 帮助添加到 shell 配置文件(.zshrc, .bashrc 等)
- 运行
claude mcp add --scope project gemini-vision node .claude/mcp-servers/gemini-vision.mjs - 使用 API 密钥配置 .mcp.json
- 使用示例命令测试连接
Firecrawl(已包含)
- 询问:“Firecrawl 已包含在内,用于网络研究。您想要设置它吗?(是/否/稍后)”
- 解释:“这对研究来说是一个颠覆性的工具!当您发现一篇文章或网站时,您可以将其直接以 markdown 格式保存到您的知识库中——永久保留内容,使其可搜索,并让 Claude 分析它。非常适合构建研究库。”
- 示例:“只需告诉 Claude:‘将此文章保存到我的知识库:[URL]’,就完成了!”
- 如果稍后:“您可以随时通过从 https://firecrawl.dev 获取 API 密钥并配置
.scripts/中的脚本来设置。” - 如果是:
- 引导从 https://firecrawl.dev 获取 API 密钥(有免费套餐)
- 帮助配置 .scripts/ 中的脚本
- 演示示例用法:
.scripts/firecrawl-scrape.sh https://example.com
-
生成自定义配置
- 获取当前日期:
date +"%B %d, %Y"用于 CLAUDE.md 头部 - 将偏好保存到
.claude/vault-config.json:{ "user": { "name": "Jane Smith", "background": { "companies": ["Variance", "Percolate"], "roles": ["Co-founder", "Writer"], "publications": ["Why Is This Interesting?", "every.to"], "expertise": [ "Developer tools", "Marketing tech", "Systems thinking" ], "interests": ["AI for thinking", "Note-taking systems", "Creativity"] }, "profileSources": [ "https://whyisthisinteresting.com/about", "https://every.to/@username" ], "customContext": "Focuses on AI as thinking augmentation, not just writing", "publicProfile": true }, "vaultPath": "/path/to/existing/vault", "fileNamingPattern": "detected-pattern", "organizationMethod": "PARA", "primaryUses": ["research", "writing", "projects"], "tools": { "geminiVision": true, "firecrawl": false }, "projects": ["Book - Productivity", "SaaS App"], "areas": ["Newsletter", "Health"], "importedAt": "2025-01-13", "lastUpdated": "2025-01-13" } - 以 CLAUDE-BOOTSTRAP.md 为基础
- 添加用户特定部分:
- 包含实际项目/领域的自定义文件夹结构
- 个人工作流
- 首选工具和脚本
- 特定指南
- 如果已设置,则包含 MCP 配置
- 包含用户提供的网站/资源
- 添加任何自定义命名约定
- 预填充其项目和领域:
- 在 01_Projects/ 中创建项目文件夹
- 在 02_Areas/ 中创建领域文件夹
- 在 03_Resources/ 中创建资源主题
- 添加解释每个项目/领域的 README 文件
- 获取当前日期:
-
导入现有知识库(如适用)
- 如果用户有现有知识库:
- 创建 OLD_VAULT 文件夹:
mkdir OLD_VAULT - 复制整个知识库,保留结构:
cp -r [vault-path]/* ./OLD_VAULT/ - 复制 Obsidian 配置:
cp -r [vault-path]/.obsidian ./ - 检查并复制其他重要文件:
.trash/(Obsidian 的垃圾箱文件夹).smart-connections/(如果使用了该插件)- 任何工作区文件:
.obsidian.vimrc等
- 跳过复制:
.git/(他们会有自己的)、.claude/(使用我们的) - 显示摘要:“已将您的知识库导入到 OLD_VAULT/(X 个文件,Y 个文件夹)”
- 解释:“您的原始结构已保留在 OLD_VAULT 中。您可以根据需要逐步将文件迁移到 PARA 文件夹。”
- 创建 OLD_VAULT 文件夹:
- 如果用户有现有知识库:
-
创建支持文件
- 如果是新知识库,生成初始文件夹结构
- 为主文件夹创建 README 文件
- 为每个项目文件夹创建子文件夹:
- Research/(源材料)
- Chats/(AI 对话)
- Daily Progress/(运行日志)
- 创建 05_Attachments/Organized/ 目录
- 如果使用 git,设置 .gitignore(包含 .mcp.json, node_modules)
- 如果用户要求,创建初始模板
- 如果用户想要回顾仪式,创建 WEEKLY_REVIEW.md
- 如果存在 FIRST_RUN 标记文件,将其移除
- 如果仓库已初始化,进行初始 git 提交
-
运行测试命令
- 执行
pnpm vault:stats以验证脚本正常工作 - 如果文件夹存在,测试附件命令
- 如果配置了 MCP 工具,测试 MCP 工具
- 验证 git 是否正确跟踪文件
- 执行
-
提供后续步骤
- 已创建和配置内容的摘要
- 针对其设置的快速入门指南
- 可用的可用命令列表
- 用于验证所有设置正常的测试命令
- 基于其使用场景的首个任务的建议
- 如何稍后修改配置
示例输出
# 您的 Obsidian 知识库配置
生成于:[运行 `date +"%B %d, %Y"` 获取当前日期] 最后更新:[相同日期] 基于您对以下方面的偏好:[主要使用场景] 设置已完成:✅ 依赖 ✅ 文件夹结构 ✅ Git 已初始化
## 您的自定义文件夹结构
[其特定结构及解释]
## 您的工作流
### 日常惯例
[基于其回答]
### 项目管理
[其特定方法]
### 研究方法(Noah Brier 风格)
- 捕捉您读过的所有内容
- 让重要的想法自然浮现
- 从写作开始以测试理解程度
- 使用搜索而非标签来查找内容
- [从 Noah 的系统了解更多](https://every.to/superorganizers/ceo-by-day-internet-sleuth-by-night-267452)
### 每周回顾仪式
[如果启用:每周四下午 4 点,回顾所有项目]
## 您的偏好
### 文件命名
- 模式:[他们的约定]
- 示例:[具体示例]
### 工具和脚本
[与其工作流相关的脚本]
## MCP 服务器(如已配置)
### Gemini Vision
- 状态:✅ 已配置并经过测试
- API 密钥:已在 .mcp.json 中设置
- 测试命令:`使用 gemini-vision 分析 [图片路径]`
## 可用命令
### 知识库管理
- `pnpm vault:stats` - 显示知识库统计信息
- `pnpm attachments:list` - 列出未处理的附件
- `pnpm attachments:organized` - 统计已组织的文件
### Claude 技能
技能在您描述任务时自动发现。例如:
- "帮我思考 X" → `thinking-partner`
- "总结我的一天" / "每日回顾" → `daily-review`
- "处理我的收件箱" → `inbox-processor`
- "重新运行设置向导" → `init-bootstrap`
技能位于 `.agents/skills/`(规范位置),并在 `.claude/skills/` 和 `.pi/skills/` 中创建符号链接。它们适用于 Claude Code、OpenCode、Codex、Cursor 和 Pi。
## 快速入门
1. [个性化的第一步]
2. [基于其目标的下一步操作]
3. [特定于其工作流的操作]
## 来自研究大师的专家建议
- **成为 Token 最大主义者**:向 Claude 提供大量上下文
- **写作可扩展**:记录所有内容以备将来参考([Noah Brier](https://every.to/superorganizers/ceo-by-day-internet-sleuth-by-night-267452))
- **信任涌现**:重要的想法会不断浮现
- **从写作开始**:始终以文本形式开始项目
- **定期回顾**:每周留出时间进行精简和更新
- **PARA 方法**:项目、领域、资源、归档([Tiago Forte](https://fortelabs.com/blog/para/))
## 设置摘要
✅ 依赖已安装(pnpm/npm) ✅ 文件夹结构已创建 ✅ Git 仓库已初始化并与原始仓库断开连接 ✅ CLAUDE.md 已个性化 ✅ 首次运行设置已完成 [✅ MCP Gemini Vision 已配置 - 如果已设置] [✅ 已进行首次提交 - 如果 git 已初始化]
重要实现说明
处理多个知识库
当检测到多个知识库时:
- 始终列出所有找到的知识库,并带有清晰的编号和详细信息
- 要求明确选择 - 不要假设使用哪个知识库
- 在选择后进行确认,然后再继续导入
- 处理模糊回应 - 如果用户输入不明确(例如粘贴截图),要求澄清:
- "我看到您分享了一个截图。能否请您输入要导入的知识库的编号(1-3)?"
- "我需要一个明确的选择。请键入 '1'、'2' 或 '3' 来选择知识库。"
[为翻译而截断]