From 1c9a9eead0e50b91d282b47112f6deeb6608797b Mon Sep 17 00:00:00 2001 From: Noah Brier Date: Mon, 6 Oct 2025 17:11:44 -0400 Subject: [PATCH] chore: apply linting fixes to iCloud support and launcher command MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .claude/commands/init-bootstrap.md | 18 +++++++------ .../commands/install-claudesidian-command.md | 25 +++++++++++++------ README.md | 8 ++++-- 3 files changed, 35 insertions(+), 16 deletions(-) diff --git a/.claude/commands/init-bootstrap.md b/.claude/commands/init-bootstrap.md index 8ea63dc..9ff957a 100644 --- a/.claude/commands/init-bootstrap.md +++ b/.claude/commands/init-bootstrap.md @@ -54,7 +54,8 @@ Then generate a customized CLAUDE.md file tailored to their needs. - Check these paths with appropriate depth limits: - `~/Documents` (maxdepth 3) - `~/Desktop` (maxdepth 3) - - `~/Library/Mobile Documents/iCloud~md~obsidian/Documents` (maxdepth 5 - iCloud vaults) + - `~/Library/Mobile Documents/iCloud~md~obsidian/Documents` (maxdepth 5 - + iCloud vaults) - Home directory `~/` (maxdepth 2) - Current directory parent (maxdepth 2) - If found, ask: "Found Obsidian vault at [path]. Is this the vault you want @@ -71,8 +72,10 @@ Then generate a customized CLAUDE.md file tailored to their needs. - Detect if using PARA, Zettelkasten, Johnny Decimal, or custom - If not the right one or none found: - Ask: "Is your vault stored in iCloud Drive? (yes/no)" - - If yes: "Please enter the full path to your vault (e.g., ~/Library/Mobile Documents/iCloud~md~obsidian/Documents/YourVault)" - - If no: "Please enter the path to your existing vault, or type 'skip' to start fresh" + - If yes: "Please enter the full path to your vault (e.g., ~/Library/Mobile + Documents/iCloud~md~obsidian/Documents/YourVault)" + - If no: "Please enter the path to your existing vault, or type 'skip' to + start fresh" - If no existing vault or user skips, they're starting fresh 4. **Ask Configuration Questions** @@ -373,6 +376,7 @@ find ~ -maxdepth 2 -type d -name ".obsidian" 2>/dev/null ``` The iCloud path requires: + - Higher maxdepth (5) due to nested folder structure - Escaped spaces in path name - Silent error handling (2>/dev/null) as many users won't have iCloud @@ -435,8 +439,8 @@ First-run marker removed Now let me ask you a few questions to customize your setup: -🔍 **Searching for existing Obsidian vaults...** -[Searches ~/Documents, ~/Desktop, iCloud Drive, home directory, and parent directories] +🔍 **Searching for existing Obsidian vaults...** [Searches ~/Documents, +~/Desktop, iCloud Drive, home directory, and parent directories] ### Case 1: Single Vault Found @@ -493,8 +497,8 @@ Is your vault stored in iCloud Drive? (yes/no) User: yes -Please enter the full path to your vault: -(Example: ~/Library/Mobile Documents/iCloud~md~obsidian/Documents/YourVault) +Please enter the full path to your vault: (Example: ~/Library/Mobile +Documents/iCloud~md~obsidian/Documents/YourVault) User: ~/Library/Mobile Documents/iCloud~md~obsidian/Documents/MyVault diff --git a/.claude/commands/install-claudesidian-command.md b/.claude/commands/install-claudesidian-command.md index 97dddf9..49e6cf7 100644 --- a/.claude/commands/install-claudesidian-command.md +++ b/.claude/commands/install-claudesidian-command.md @@ -6,12 +6,13 @@ argument-hint: (optional shell: bash/zsh/fish) # Install Claudesidian Command -Creates a shell alias/function that allows you to run `claudesidian` from anywhere -to open your vault in Claude Code. +Creates a shell alias/function that allows you to run `claudesidian` from +anywhere to open your vault in Claude Code. ## Task Install a shell command that: + 1. Changes to your claudesidian vault directory 2. Launches Claude Code 3. Works from any directory in your terminal @@ -29,16 +30,20 @@ Similar to having a quick launcher for your vault. ### 2. **Create the Command** The command will be an alias that: + - Changes to the vault directory: `cd /path/to/your/vault` - Tries to resume existing session: `claude --resume 2>/dev/null` - Falls back to new session if no existing one: `|| claude` -- All in one command: `(cd /path/to/vault && (claude --resume 2>/dev/null || claude))` +- All in one command: + `(cd /path/to/vault && (claude --resume 2>/dev/null || claude))` -This automatically enters resume mode if there's an existing session, or starts a new one if not. +This automatically enters resume mode if there's an existing session, or starts +a new one if not. ### 3. **Install to Shell Config** Add the alias to the appropriate config file: + - **Bash**: `~/.bashrc` or `~/.bash_profile` - **Zsh**: `~/.zshrc` - **Fish**: `~/.config/fish/config.fish` @@ -73,7 +78,8 @@ fi ## Installation Steps 1. **Get vault path**: Use `pwd` to get current directory -2. **Check if already installed**: Search config file for existing `claudesidian` alias +2. **Check if already installed**: Search config file for existing + `claudesidian` alias 3. **Add alias**: Append to config file if not present 4. **Show success message**: With instructions to reload shell @@ -99,7 +105,8 @@ fi ## Important Notes -- The command uses a subshell `()` so it returns to your original directory after +- The command uses a subshell `()` so it returns to your original directory + after - Automatically tries to resume existing sessions, falls back to new session - If alias already exists, ask user if they want to replace it - Always show what will be added before modifying config files @@ -108,11 +115,13 @@ fi ## Usage Examples Install for current shell: + ``` /install-claudesidian-command ``` Install for specific shell: + ``` /install-claudesidian-command zsh /install-claudesidian-command bash @@ -121,11 +130,13 @@ Install for specific shell: ## How It Works The alias uses a clever pattern: + ```bash alias claudesidian='(cd /path/to/vault && (claude --resume 2>/dev/null || claude))' ``` 1. `(cd /path/to/vault && ...)` - Subshell that changes directory temporarily -2. `claude --resume 2>/dev/null` - Tries to resume existing session, suppresses error +2. `claude --resume 2>/dev/null` - Tries to resume existing session, suppresses + error 3. `|| claude` - If resume fails (no session), starts new session 4. After Claude exits, returns to original directory automatically diff --git a/README.md b/README.md index cc544ff..132db7a 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,8 @@ Pre-configured AI assistants ready to use: - `de-ai-ify` - Remove AI writing patterns from text - `upgrade` - Update to the latest claudesidian version - `init-bootstrap` - Re-run the setup wizard -- `install-claudesidian-command` - Install shell command to launch vault from anywhere +- `install-claudesidian-command` - Install shell command to launch vault from + anywhere Run with: `/[command-name]` in Claude Code @@ -274,12 +275,14 @@ Install a shell command to launch your vault from any directory: ``` This creates a `claudesidian` alias that: + - Changes to your vault directory automatically - Tries to resume your existing session (if one exists) - Falls back to starting a new session - Returns to your original directory when done **Usage:** + ```bash # From anywhere in your terminal: claudesidian @@ -287,7 +290,8 @@ claudesidian # It will automatically resume your last session or start a new one ``` -The command is added to your shell config (~/.zshrc, ~/.bashrc, etc.) so it persists across terminal sessions. +The command is added to your shell config (~/.zshrc, ~/.bashrc, etc.) so it +persists across terminal sessions. ### Git Integration