Setup and based on mise with it's dotfile and bootstrap management.
- Install mise, see Installing Mise | Mise -
curl https://mise.run/zsh | sh - Apply dotfiles -
mise dotfiles apply --dry-run(remove--dry-runto apply) - Optionally, apply for specific tools, e.g.
mise dotfiles apply '~/.config/herdr' - Install system packages -
mise bootstrap packages apply - Install tools -
mise install
Dotfile management is handled by mise.toml currently, while bootstrap and system wide configuration is handled by .config/mise/config.toml.
.pi/agent/extensions/exa-websearch/- single Exa web/search contents tool with highlights-first results, deep search modes, summaries, and URL content retrieval.- Alternative, with no API Key required and kepano/defuddle sanitization: thinkscape/agent-smart-fetch
.pi/agent/extensions/skill-autocomplete.ts- press$in the editor to open an autocomplete menu of loaded skills.
- ayagmar/pi-extmgr - UI for managing extensions.
- nicobailon/pi-subagents - Powerful sub-agent system with recursion and pipelining support
- Alternatives: tintinweb/pi-subagents and pasky/pi-side-agents
- pi-token-burden - Claude-like context command with granular token counts per tool, mcp, etc
- Alternatives: pi-context
The research-* agents and [agent/prompts/deepresearch.md] prompt are copied from getcompanion-ai/feynman.
This repo uses mise dotfiles to link each skill into both shared and Claude-specific global skill directories:
mise dotfiles applyAlternatively, install skills with the Skills CLI:
npx skills add ahstn/dotfiles
npx skills add ahstn/dotfiles --skill code-review-and-qualityRather than a single ~/.zshrc file, ~/.config/zsh/ is used to organize configuration into multiple files and support a gitignored ~/.config/zsh/zsh-private for sensitive and local configuration.
With this ~/.zshenv file is used to source the ~/.config/zsh/ directory via ZDOTDIR. See Zsh Startup Files | Zsh for more information.
Legacy NeoVim TLDR
Requires wbthomason/packer.nvim for plugin management, and will install on start-up.
Most keybinds are detailed with folke/which-key.nvim in ./neovim/lua/mappings.lua.
Helpful keybinds for my forgetful mind:
- space : leader key (also opens folke/which-key.nvim menu)
- space + l : lsp actions
- space + s : search with nvim-telescope/telescope.nvim
- ' : marks
- shift + h : lsp symbol hover
- ctrl + w : split navigation and management (also opens folke/which-key.nvim menu)
- [ & ] : movement actions (also opens folke/which-key.nvim menu)
- phaazon/hop.nvim
- s : search down
- S : search up
- tpope/vim-surround
- ysiw) : surround (inner) word with parentheses
- ds) : remove surrounding parentheses
- cs)} : change surrounding parentheses to braces
- nvim-telescope/telescope.nvim
- : open file as a horizontal split
- : open file as a vertical split
- ? : show mappings
K: Displays hover information about the symbol under the cursor in a floating window. See :help vim.lsp.buf.hover().gd: Jumps to the definition of the symbol under the cursor. See :help vim.lsp.buf.definition().gD: Jumps to the declaration of the symbol under the cursor. Some servers don't implement this feature. See :help vim.lsp.buf.declaration().gi: Lists all the implementations for the symbol under the cursor in the quickfix window. See :help vim.lsp.buf.implementation().go: Jumps to the definition of the type of the symbol under the cursor. See :help vim.lsp.buf.type_definition().gr: Lists all the references to the symbol under the cursor in the quickfix window. See :help vim.lsp.buf.references().gs: Displays signature information about the symbol under the cursor in a floating window. See :help vim.lsp.buf.signature_help(). If a mapping already exists for this key this function is not bound.<F2>: Renames all references to the symbol under the cursor. See :help vim.lsp.buf.rename().<F3>: Format code in current buffer. See :help vim.lsp.buf.format().<F4>: Selects a code action available at the current cursor position. See :help vim.lsp.buf.code_action().gl: Show diagnostics in a floating window. See :help vim.diagnostic.open_float().[d: Move to the previous diagnostic in the current buffer. See :help vim.diagnostic.goto_prev().]d: Move to the next diagnostic. See :help vim.diagnostic.goto_next().
Tmux TLDR
Requires tmux-plugins/tpm for plugin management, and will install on start-up.
Helpful keybinds for my forgetful mind:
- ctrl+space : leader
- $ : rename session
- s : open sessions pane
- c : create tab
- , : rename tab
- % : vertical split
- " : horizontal split
- ctrl+s : save sessions (tmux-ressurect)
- ctrl+r : restore sessions (tmux-ressurect)
