rotz-dotfiles_skill

This skill helps you manage rotz-based dotfiles, configuring installs, links, and structure for fast, maintainable setups.
  • Shell

7

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill gwenwindflower/.charmschool --skill rotz-dotfiles

  • SKILL.md4.6 KB

Overview

This skill manages rotz-based dotfiles repositories, focused on a Fish-shell-first setup located at ~/.charmschool. It covers adding, configuring, and removing tools and apps, editing rotz configuration files (dot.yaml, defaults.yaml, config.yaml), and planning or executing structural changes to the dotfiles hierarchy. The guidance emphasizes idempotent installs, XDG-compliant configs, and safe use of the dot wrapper for operations.

How this skill works

The skill inspects the repo structure (agents/, apps/, tools/, shell/, editor/, lang/, git/) and the rotz metadata files (dot.yaml, defaults.yaml, config.yaml). It validates install/link patterns, detects inheritance from defaults.yaml, and ensures Fish-syntax in install commands where required. For changes it recommends creating or updating dot.yaml with installs, links, and depends keys, and updating references when moving items.

When to use it

  • Adding a new CLI or GUI app to the repository (tools/, apps/, lang/).
  • Creating or updating dot.yaml, defaults.yaml, or config.yaml entries.
  • Restructuring directories or renaming dots and updating references across the repo.
  • Converting tool config management to mise-managed workflows.
  • Planning architectural changes to improve startup performance or grouping conventions.

Best practices

  • Place new dots in the most logical existing group; propose a new group only if necessary.
  • Prefer installs: null to inherit defaults.yaml where possible and use explicit install commands for special cases.
  • Write Fish-idiomatic install commands (type -q, set -gx) and avoid bashisms.
  • Keep install scripts idempotent, include error handling, and avoid exposing credentials.
  • Document non-obvious decisions in comments and note macOS-specific variants.
  • Use the dot wrapper (dot -i, dot -l, dot -a, dot --dry-run) instead of raw rotz where safer operations are desired.

Example use cases

  • Add a new CLI tool: create tools/<name>/dot.yaml with installs: null or explicit installs, links to ~/.config, and depends if it needs another dot.
  • Migrate language tooling to mise: add mise.toml, update lang/ entries, and ensure project-aware auto-loading.
  • Restructure shell configs: move fish functions into shell/fish/functions/, update links in dot.yaml, and adjust defaults.yaml inheritance.
  • Bootstrap a fresh machine: run sh bootstrap.sh, then dot -a to install and link all configured dots.
  • Integrate fzf with fish: add fish functions, ripgrep type definitions, and configure keybindings via shell/fish and dot.yaml.

FAQ

Prefer apps/ for Homebrew casks (GUI apps). Use installs: null to inherit defaults when possible and add links for any config files under ~/.config/.

How do I test changes safely before applying?

Use dot --dry-run or dot -d to preview actions. For links, use dot -l with specific paths and avoid rotz link --force unless necessary.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational