mcpField
S
shell-env

shell-env

github.com/kriscardOther1547 installsUpdated 1d ago
Repository

About shell-env

shell-env is a skill for maintaining a GNU Stow-managed shell and terminal configuration repository. It guides edits through the authoritative source tree, with checks and reload steps for tools such as Zsh, Ghostty, Tmux, Starship, yabai, and Git.

Key features

  1. 01Stow-first source editing workflow
  2. 02Tool-specific syntax and behavior checks
  3. 03Configuration reload guidance
  4. 04Link verification and sync process

Use cases

  1. 01Editing terminal settings through repository sources
  2. 02Verifying Zsh startup changes
  3. 03Reviewing and applying symlink changes
  4. 04Reloading modified terminal components

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/kriscard/skills --skill shell-env

After installing, type/shell-envin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
git-config.md
modern-cli-tools.md
terminal-config.md

Details

From the project README

Shell and terminal environment

The repository uses one GNU Stow package at ~/.dotfiles/home/. Edit sources under that directory; ~/.dotfiles/README.md, dotfiles --help, and the current symlink targets are authoritative when layout differs from this document.

Current source locations

ToolSource
Zsh~/.dotfiles/home/.zshrc and ~/.dotfiles/home/zsh/zsh.d/
Ghostty~/.dotfiles/home/.config/ghostty/config
Tmux~/.dotfiles/home/.config/tmux/tmux.conf
Starship~/.dotfiles/home/.config/starship.toml
yabai~/.dotfiles/home/.config/yabai/yabairc
Git~/.dotfiles/home/.gitconfig*

Confirm a target with readlink or ls -ld before structural work.

Stow-first edit loop

  1. Locate and inspect the source under ~/.dotfiles/home/.
  2. Edit the source rather than the home-directory link.
  3. Run the narrowest syntax or behavior check for the changed tool.
  4. If link structure changed, run dotfiles sync --dry-run, inspect every proposed operation, then run dotfiles sync.
  5. Reload the smallest affected component.
  6. Report the source path, verification result, and reload or remaining manual step.

Done when the source owns the intended home path, syntax and behavior checks pass, and the live configuration is reloaded or the remaining manual action is explicit.

Link workflow

Use the repository CLI rather than inventing per-tool Stow packages:

cd ~/.dotfiles
dotfiles sync --dry-run
dotfiles sync

For conflicts or unclear behavior, inspect dotfiles --help, README.md, and the home/ tree before changing links. The current layout has one home package, so link work goes through dotfiles sync rather than per-tool Stow commands.

Tool verification

Zsh

Validate the edited module and then the complete startup path:

zsh -n ~/.dotfiles/home/.zshrc
zsh -n ~/.dotfiles/home/zsh/zsh.d/<module>.zsh
zsh -i -c exit

Preserve the numeric module order and inspect dependencies before moving code between files.

Ghostty

Inspect the current config for accepted syntax, theme, and font before editing. Reload through the installed Ghostty version or restart the app, then verify the changed setting visually or through available diagnostics.

Tmux and sesh
tmux source-file ~/.config/tmux/tmux.conf
sesh list

Capture reload errors. Preserve the configured TPM directory and ensure the plugin manager initializes once.

Starship
starship explain
starship timings

Use the current prompt to verify the affected module.

yabai
yabai --restart-service

Verify the changed rule or behavior after restart rather than treating service restart as sufficient.

References

PriorityLoad whenReference
HighAdding aliases or evaluating modern CLI alternativesreferences/modern-cli-tools.md
HighChanging Ghostty, tmux/sesh, Starship, yabai, or cross-tool theme configurationreferences/terminal-config.md
HighChanging Git identity, signing, conditional includes, pager, or aliasesreferences/git-config.md

Quick checks

readlink ~/.zshrc
readlink ~/.config/ghostty/config
cd ~/.dotfiles && dotfiles sync --dry-run
find ~ -maxdepth 3 -type l ! -e 2>/dev/null

Comments

Markdown supported