Skip to content

Move personal content (plans/specs/.remember) to Obsidian vault - #19

Draft
yulonglin wants to merge 2 commits into
mainfrom
worktree-vault-personal-content
Draft

Move personal content (plans/specs/.remember) to Obsidian vault#19
yulonglin wants to merge 2 commits into
mainfrom
worktree-vault-personal-content

Conversation

@yulonglin

Copy link
Copy Markdown
Owner

Summary

Moves personal working content out of the repo into the Obsidian vault (~/vault), replacing the never-created dotfiles-personal private repo as the privacy boundary.

  • plans/, specs/, .remember/ are now symlinks into ~/vault/dotfiles/ (remember/ uses a visible name since Obsidian skips dot-folders); claude/plans (= ~/.claude/plans) links to ~/vault/plans
  • .gitignore: trailing-slash patterns (plans/ etc.) do not match symlinks, so a careless git add . would have staged them — patterns now match both. Interim protection already added to .git/info/exclude on the live machine
  • claude/settings.json: ~/vault added to sandbox allowWrite so sessions can write through the symlinks
  • CLAUDE.md Personal Content section + global claude/CLAUDE.md directory table updated to the vault story

Filesystem moves (46 files) were done directly on the live machine; this PR is the durable config/docs record.

https://claude.ai/code/session_01S6jUEwxtqmoyekv2pvLkPo

…vault

Personal working artifacts now live in ~/vault (Obsidian) with symlinks at
the original repo paths, replacing the never-created dotfiles-personal repo:

- plans/ -> ~/vault/dotfiles/plans, specs/ -> ~/vault/dotfiles/specs
- .remember/ -> ~/vault/dotfiles/remember (visible name; Obsidian skips dot-folders)
- claude/plans (~/.claude/plans) -> ~/vault/plans
- .gitignore: drop trailing slashes on these patterns so they match the
  symlinks (dir-only patterns like plans/ do not match symlinks)
- settings.json: add ~/vault to sandbox allowWrite
- CLAUDE.md + claude/CLAUDE.md: replace dotfiles-personal narrative with
  the vault setup

Claude-Session: https://claude.ai/code/session_01S6jUEwxtqmoyekv2pvLkPo
@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 07eed27b-c3ec-4b38-8412-68068261dfc7

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch worktree-vault-personal-content

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

…dit findings)

1. Gist sync ID: remove hardcoded default from config.sh + sync_gist;
   read GIST_SYNC_ID from env or gitignored config/user.conf, warn+bail
   if unset. Documented in user.conf.example + README.

2. Text replacements: real hide-my-email entry (links.jibed) removed from
   tracked YAML. sync_text_replacements.py gains a gitignored overlay
   (config/text_replacements.local.yaml): Snippet.local flag, layered
   read/write so local entries sync to macOS/Alfred but never re-enter
   the tracked file; backup/restore covers the overlay.

3. Machine-local inventories: strip codex [projects.*] trust paths and
   zed ssh_connections from tracked configs. Git clean filters
   (scripts/git-filters/strip_personal.py, mapped in .gitattributes,
   registered by deploy.sh --git-config) keep them out of staged content;
   pre-commit guard backstops unregistered machines. Accepted tradeoff:
   pulls touching these files reset live trust/connection state.

4. Transcription identity files (VoiceInk people-and-orgs/personal,
   granola company-description): untracked, gitignored, relocated to
   ~/vault/dotfiles/transcription/ (real name, affiliation, network).

Note: content remains in public git history — history purge is a
separate decision.

Claude-Session: https://claude.ai/code/session_01S6jUEwxtqmoyekv2pvLkPo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant