Expand description
Sidekick: Claude Code hook handler and Neovim integration.
This crate provides two main functionalities:
- Claude Code Hook Handler: Prevents file modifications when files are being edited in Neovim with unsaved changes
- Neovim Integration: Launches Neovim instances with deterministic socket paths
§Architecture
handler: Hook processing logic for Claude Codehook: Data structures for hook protocolaction: Editor operations abstraction (buffer status, refresh, messages)utils: Socket path computation and discoveryconstants: Shared constants (timeouts, paths)
§Example: Using as a Library
use sidekick::action::{Action, neovim::NeovimAction};
use sidekick::utils;
// Find Neovim instances in current directory
let sockets = utils::find_matching_sockets().unwrap();
let action = NeovimAction::new(sockets);
// Check if file can be modified
let status = action.buffer_status("file.txt").unwrap();
if !status.has_unsaved_changes {
// Safe to modify file
}