This document outlines the key tools and components managed by these dotfiles and used in the development workflow.
- chezmoi: Manages the dotfiles themselves, handling installation, updates, and templating across different environments.
- mise-en-place: Manages versions of development tools (e.g., Node.js, Python, Go, Rust,
arduino-cli). Ensures consistent tool versions across projects and the system. Activated automatically via shell integration.
- Zsh: The primary interactive shell.
- fzf: A command-line fuzzy finder, integrated for:
- History search (
Ctrl+R). - Directory search/change (
Alt/Option+C). - File search (
Ctrl+T). - Command completions (potentially via
fzf-tab).
- History search (
- fzf-tab (Implied): Provides fzf-powered completions for various commands (e.g.,
git,kubectl). - bat: A
catclone with syntax highlighting, used for previewing files withinfzf. - zkbd: Built-in Zsh utility to configure key bindings for terminal emulators.
- fzf: A command-line fuzzy finder, integrated for:
Configuration is managed via Lua (private_dot_config/nvim/lua/).
- Core & UI:
- Lazy.nvim (Assumed): Likely used as the plugin manager (standard practice).
- Treesitter: Provides advanced syntax parsing for features like highlighting, text objects, and navigation.
nvim-treesitter-textobjects: Defines text objects based on Treesitter nodes (e.g., functions, loops).nvim-treesitter-textsubjects: Provides additional text subjects for selection/operation.
- Tabout: Allows using
<Tab>to navigate out of pairs (parentheses, brackets, etc.). - Flash: Enhanced motion/search within the viewport.
- Snacks: Used in conjunction with Flash for picker actions.
- Language Server Protocol (LSP):
- Built-in LSP Client: Neovim's core LSP functionality.
- nvim-lspconfig (Implied): Standard configurations for various language servers.
- Navic: Displays LSP symbol context (like current function/class) in the status line or winbar.
- Completion & Snippets:
- Formatting & Linting:
- Git Integration:
- Gitsigns: Shows Git status (added, modified, deleted lines) in the sign column and provides related actions (preview hunk, stage, reset, blame, etc.).
- AI / LLM Integration:
- CodeCompanion.nvim: AI-powered coding plugin supporting Anthropic, Copilot, Gemini, Ollama, OpenAI and other LLMs.
- Strategies (
strategies.lua): Defines different interaction modes (e.g., chat, workflow). - Tools: Allows the LLM to invoke external commands securely:
git diff,git log,git status,git commit,git pusharduino-cli compile,arduino-cli upload,arduino-cli monitor
- Prompts (
private_prompts/): Pre-defined prompt templates and workflows (e.g., Arduino code generation).
- Strategies (
- CodeCompanion.nvim: AI-powered coding plugin supporting Anthropic, Copilot, Gemini, Ollama, OpenAI and other LLMs.
- ripgrep (rg): Fast line-oriented search tool, often used in scripts and debugging.