🔄 Cross-Tool Workflows This document demonstrates how different tools in the dotfiles ecosystem integrate to create seamless development workflows.
- Session Management Workflow
- File Navigation & Editing
- Git Development Workflow
- Window Management Workflow
- Search & Discovery Workflow
- Development Project Setup
- Note-Taking & Documentation
Goal: Quick project switching with proper environment setup
# Method 1: Sesh + FZF (recommended)
sd # Fuzzy connect to session (sc alias)
# or M-Space from tmux # Alt+Space for session selection
# Method 2: Tmux Session Switcher (from within tmux)
M-Space # Advanced session switcher with previewsIntegration Points:
- Sesh provides the session definitions
- Tmux handles the actual session management
- FZF powers the fuzzy selection interface
- Zsh provides quick access keybind
# Quick status check
sl # List sessions (compact, deduplicated)
sc # Fuzzy connect to session
# Tmux native
M-Space # Session switcher with FZF previewsGoal: Efficient file access at different granularities
# Level 1: Quick directory navigation
fcd # Fuzzy directory change with eza preview
C # Quick jump to ~/Code/
conf # Quick jump to dotfiles
# Level 2: File managers (from terminal)
f # Yazi with cd integration
lt # Tree view with details
# Level 3: Neovim file management
<leader>e # Mini.files (toggle, context-aware)
<C-e> # Oil floating (parent directory)
- # Yazi from within Neovim
# Level 4: Search-based access
<leader>sf # Telescope find files
<leader>s. # Recent files
<leader><leader> # Open buffersIntegration Flow:
- Use
fcdorCfor directory-level navigation - Use
f(Yazi) for file browsing with cd capability - Open Neovim and use
<leader>sffor project-wide file search - Use
<leader>efor quick adjacent file access
# Quick edit workflows
fv # Fuzzy find + edit in new nvim instance
no # Open Obsidian notes
conf # Edit dotfiles
# From within Neovim
<leader>sf # Find and open files
<leader>- # Yazi for file browsing
<C-e> # Oil for directory operationsScenario: Feature development from start to finish
# 1. Terminal Git Operations (initial setup)
gs # Git status
gb # List branches
gco -b feature-branch # Create new branch
gc "Initial commit" # Quick commit
# 2. Neovim Git Operations (during development)
<leader>gg # Open Neogit (main interface)
<leader>gd # View diffs
<leader>gs # Staging operations
<leader>gc # Commit with detailed interface
# 3. Advanced Operations
<leader>gW # Create git worktree
<leader>gt # Switch between worktrees
<leader>gl # View git log
<leader>gP # Pull changes
<leader>gp # Push changes
# 4. Terminal finalization
gp # Quick push
ghl # List GitHub repos (if using GitHub CLI)Tool Responsibilities:
- Zsh aliases: Quick, common operations
- Neogit: Complex operations with visual interface
- Git worktree: Parallel development workflows
- GitHub CLI: Repository management
Goal: Unified navigation across Aerospace windows and Tmux panes
# Aerospace Window Management (system-wide - PRIMARY)
Shift+Ctrl+h/j/k/l # Focus windows
Shift+Ctrl+Alt+h/j/k/l # Move windows
Ctrl+Alt+Cmd+j/k # Resize windows (smart, context-aware)
Cmd+j/k/l # Switch workspaces 1-3 (homerow)
Ctrl+Shift+1-9 # Switch workspaces 1-9
# Tmux Pane Management (within terminal)
C-a h/j/k/l # Focus panes
C-a C-h/C-j/C-k/C-l # Resize panes
C-a s # Vertical split
C-a v # Horizontal split
# Neovim Window Management (within editor)
<C-h/j/k/l> # Navigate windows (integrates with tmux)Integration: The vim-tmux-navigator plugin allows <C-h/j/k/l> to seamlessly navigate between Neovim windows and Tmux panes.
# Aerospace Layouts (PRIMARY)
Shift+Ctrl+e # Toggle float/tile
Shift+Ctrl+v # Toggle horizontal/vertical orientation
Shift+Ctrl+t # Tiles layout
Shift+Ctrl+a # Accordion layout
Shift+Ctrl+w # Toggle fullscreen
Shift+Ctrl+r # Balance windows (flatten workspace tree)
Shift+Alt+Cmd+r # Enter service mode for advanced operations
# Tmux Layouts
M-Space # Session switcher
C-a N # New sessionGoal: Find anything efficiently using the right tool for the job
# Level 1: File System Search
fcd # Find directories
fv # Find files for editing
ls # Enhanced listing (eza)
lt # Tree view
# Level 2: Content Search (Neovim)
<leader>sg # Live grep across project
<leader>sw # Search current word
<leader>s/ # Search in open files
<leader>sd # Search diagnostics
# Level 3: Specialized Search
<leader>sk # Search keymaps
<leader>sh # Search help
<leader>ss # Search telescope pickers
<leader>sl # Search notifications
# Level 4: Tool-Specific Search
<leader>of # Obsidian quick switch
<leader>os # Obsidian search
<leader>ot # Obsidian tagsSearch Strategy:
- Use
fcd/fvfor quick file system navigation - Use Telescope (
<leader>sg) for content search within projects - Use specialized searches for tool-specific content
- Use Obsidian search for knowledge management
Scenario: Setting up a new development project
# 1. Directory Setup
C # Navigate to ~/Code/
mkdir new-project && cd new-project
# 2. Session Creation
sc new-project # Create/connect to sesh session
# 3. Initial Setup (within session)
git init
ga . # Add files
gc "Initial commit" # Initial commit
# 4. Development Environment
n # Open Neovim
<leader>e # File explorer
<leader>gg # Git interface
# 5. Window Layout (if needed)
M-v # Split for terminal
M-s # Additional splits
M-Space # Switch between sessions as needed# Docker workflow integration
dock # Start Docker Desktop
dco up -d # Start services
dps # Check containers
dx <container> bash # Interactive shell
# Kubernetes workflow
kc <context> # Switch context
kns <namespace> # Set namespace
kg pods # Check resources
kl <pod> # Follow logsScenario: Knowledge management integrated with development
# Quick note access
no # Open Obsidian notes (terminal)
# From within Neovim (in any file)
<leader>on # Create new note
<leader>of # Quick switch to note
<leader>os # Search notes
<leader>ol # Show links
<leader>ob # Show backlinks
# Note editing workflow
<leader>oc # Toggle checkboxes
<leader>op # Paste images
<leader>oF # Follow links
<leader>oe # Extract selected text to new note# Creating documentation
<leader>sf # Find existing docs
<leader>e # Browse with mini.files
<leader>tm # Toggle Markview for preview
# Image handling
<leader>pi # Paste images
<leader>op # Paste images (Obsidian)
# Cross-referencing
<leader>sg # Search across all files
<leader>sw # Search current word in projectWhen switching between different projects or contexts:
# 1. Save current state
<leader>bw # Close buffers but keep splits (Neovim)
C-a d # Detach from current session (Tmux)
# 2. Switch context
sc # Select new session/project
# or M-Space # Alt+Space for session switcher
# 3. Orient in new context
<leader><leader> # See open buffers
ls # Check directory contentsWhen you need to thoroughly explore unfamiliar code:
# 1. Get oriented
<leader>sf # Browse file structure
lt # See directory tree
<leader>gg # Check git status
# 2. Explore codebase
<leader>sg <search-term> # Search for relevant code
<leader>sw # Search current word/symbol
<leader>sd # Check diagnostics
# 3. Take notes
<leader>on # Create notes about findings
<leader>oe # Extract code snippets to notesFor small, focused changes:
# 1. Quick access
fv # Find and edit file
# or <leader>sf # Find file from within editor
# 2. Make changes
<leader>gg # Git interface for staging
<leader>gc # Commit changes
# 3. Quick exit
gc "Quick fix: description" # Terminal git commit
gp # Push changes| Workflow Area | Primary Tools | Integration Method |
|---|---|---|
| Session Management | Sesh + Tmux + FZF | Shared session names, FZF selection |
| File Navigation | Eza + Yazi + Telescope | Consistent preview, similar interfaces |
| Git Operations | Zsh aliases + Neogit | Quick terminal ops, detailed GUI ops |
| Window Management | Aerospace + JankyBorders + Tmux + Neovim | Unified navigation keybinds |
| Search | FZF + Telescope + ripgrep | Consistent fuzzy finding paradigm |
| Note-Taking | Obsidian + Telescope | Cross-search capabilities |
| AI Development | Claude Code + CodeCompanion | Multi-model validation, prompt engineering |
The key to these workflows is that each tool handles what it does best, while maintaining consistent interfaces (especially FZF-based selection) across the ecosystem.
- Multi-LLM Workflow - Comprehensive guide to Claude Code + CodeCompanion orchestration
- Keybinds Reference - Complete keybindings across all tools
- Neovim Keybinds - Neovim-specific mappings
- Components Guide - Detailed component documentation
- CLAUDE.md - Main dotfiles documentation
cyperx - GitHub Profile
For issues or contributions, visit the dotfiles repository.