🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
3.6 KiB
3.6 KiB
allowed-tools: [Read, Write, Bash] description: Install claudesidian shell command to launch Claude Code from anywhere 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.
Task
Install a shell command that:
- Changes to your claudesidian vault directory
- Launches Claude Code
- Works from any directory in your terminal
Similar to having a quick launcher for your vault.
Process
1. Detect Current Setup
- Check which shell the user is using (bash/zsh/fish)
- Find the current working directory (vault path)
- Determine the appropriate config file
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))
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:
~/.bashrcor~/.bash_profile - Zsh:
~/.zshrc - Fish:
~/.config/fish/config.fish
4. Verify Installation
- Show the added line
- Remind user to reload their shell or source the config
- Provide test command
Shell Detection
# Detect current shell
if [ -n "$ZSH_VERSION" ]; then
SHELL_TYPE="zsh"
CONFIG_FILE="$HOME/.zshrc"
elif [ -n "$BASH_VERSION" ]; then
SHELL_TYPE="bash"
# Prefer .bashrc on Linux, .bash_profile on macOS
if [ -f "$HOME/.bashrc" ]; then
CONFIG_FILE="$HOME/.bashrc"
else
CONFIG_FILE="$HOME/.bash_profile"
fi
elif [ -n "$FISH_VERSION" ]; then
SHELL_TYPE="fish"
CONFIG_FILE="$HOME/.config/fish/config.fish"
fi
Installation Steps
- Get vault path: Use
pwdto get current directory - Check if already installed: Search config file for existing
claudesidianalias - Add alias: Append to config file if not present
- Show success message: With instructions to reload shell
Example Output
🔧 Installing claudesidian command...
📁 Vault path: /home/user/my-vault
🐚 Shell detected: zsh
📝 Config file: /home/user/.zshrc
✅ Installed! Added to /home/user/.zshrc:
alias claudesidian='(cd /home/user/my-vault && (claude --resume 2>/dev/null || claude))'
🔄 To activate, run:
source ~/.zshrc
Or start a new terminal session.
✨ Test it: Type 'claudesidian' from any directory!
Important Notes
- 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
- Create backup of config file before modifying
Usage Examples
Install for current shell:
/install-claudesidian-command
Install for specific shell:
/install-claudesidian-command zsh
/install-claudesidian-command bash
How It Works
The alias uses a clever pattern:
alias claudesidian='(cd /path/to/vault && (claude --resume 2>/dev/null || claude))'
(cd /path/to/vault && ...)- Subshell that changes directory temporarilyclaude --resume 2>/dev/null- Tries to resume existing session, suppresses error|| claude- If resume fails (no session), starts new session- After Claude exits, returns to original directory automatically