jvpalma/dotrun
Overview
This skill teaches and enforces the DotRun (dr) CLI for unified script, alias, and config management. It helps you discover existing automations, create reusable scripts/aliases/configs, and route all repeatable shell tasks through dr for consistency and shareability.
How this skill works
Before creating anything it always runs discovery (dr -L / dr -l) to find exact or similar scripts and reports results. It maps user intent to specific dr commands (dr set for scripts, dr -a for aliases, dr -c for configs) and enforces naming, folder taxonomy, and the pre-creation checklist. It provides quick reference commands, migration guidance, helper loading, and collection syncing so teams can share and update script libraries.
When to use it
- You mention scripts, bash, shell automation, or repeatable commands.
- You want to create or manage aliases, shortcuts, or command abbreviations.
- You need to set environment variables, PATH entries, or shared configs.
- You plan to migrate .bashrc, .zshrc, ~/bin, or other dotfiles into a central system.
- You have a workflow or multi-step task you’ll run more than once and want it reusable.
Best practices
- Always run discovery first: dr -L (use dr -l for names only) and report results to the user.
- Name scripts in kebab-case and place them in the correct folder (e.g., git/, deploy/, utils/).
- Create scripts for repeatable or multi-step tasks; avoid creating for one-off exploratory commands.
- Document scripts with doc blocks so dr help and dr -L surface useful descriptions.
- Reload shell config after changes (dr -r) and verify with dr help before running unfamiliar scripts.
Example use cases
- Turn a repeated deploy sequence into a reproducible script: dr set deploy/staging
- Convert a frequently typed command into an alias: dr -a <name> after dr -a -L to check collisions
- Share team utilities by adding a collection: dr -col add https://github.com/team/scripts.git
- Migrate ~/.zshrc aliases and exports into dr configs and aliases using the migration workflow
- Create an info script for static answers (API endpoints): dr set info/api-endpoints
FAQ
Either use the existing dr script or extend it. Report findings: ‘Found dr X — using/extending it’ rather than creating a duplicate.
When should I create a dr config vs an alias?
Use dr -c for environment variables, PATH, and exports. Use dr -a for command shortcuts or single-line aliases.
How do I import my ~/bin scripts?
Follow the migration-scripts workflow: list with dr -L, then import or recreate with dr set in the proper folder taxonomy.