Skip to content

Instantly share code, notes, and snippets.

@balupton
Last active January 13, 2026 08:37
Show Gist options
  • Select an option

  • Save balupton/eaf7b778cf9068bfebdbf971180a2431 to your computer and use it in GitHub Desktop.

Select an option

Save balupton/eaf7b778cf9068bfebdbf971180a2431 to your computer and use it in GitHub Desktop.
Dorothy @ PLUG 2026-01-13

Dorothy @ PLUG 2026-01-13

🧙🏻‍♀️ A dotfile ecosystem: cross-shell, cross-os, cross-arch. Make your commands and configurations portable, solve a problem once and for all users. Hundreds of builtin composable primitives for powerful and intuitive CLI and TUI scripting and automation. Portable between Bash, Zsh, Fish, Nu, Xonsh, Elvish, Dash, KornShell, macOS, Linux, Windows https://dorothy.bevry.me

Benjamin Lupton https://balupton.com

Sponsors https://github.com/bevry/dorothy/tree/HEAD?tab=readme-ov-file#sponsors

Why are we here?

  1. We want those computers to work for us, not against us. We want to own our technology, not be owned by it.
    1. Dorothy returns that flexibity and power to us. Allowing easy swapping between machines, without time lost to lockin.
  2. We want to reduce redundant efforts, solve a problem once and for all users, not just for out-of-date stack exchange updoots
    1. Dorothy enables that open collaboration, providing hundreds of primivites we can leverage to save time, work faster, and collaborate.
  3. We value things that are eternally useful, not things that will go out of date in a few months or years.
    1. Dorothy is about intentions, not inventions. It is coded by hand for whatever works, as long as it will work a very long time. There isn't tech lockin.
  4. We want to learn quickly how to leverage these abilities for more power.

More on this: https://github.com/bevry/dorothy/blob/master/docs/dorothy/manual-to-assisted.md

Progress

  • Started as my own dotfiles in 2013, first commit: https://github.com/bevry/dorothy/commit/e7e133ee
  • It's now nearly 4000 commits and 500 stars later
  • My own dotfiles now extend Dorothy: https://github.com/balupton/dotfiles
  • We have several known users, all using a different combination of shells, operating systems, and architectures (macOS, Windows, Linux, ARM, Intel)
  • Dorothy allows us to make sure our commands works across all these combinations, saving us all time, crowd-sourcing developer operations to the commons for the needs of indie developers, small businesses, and educational institutions
  • Used to easily configure low-cost devices for family members and philanthropy efforts in Indonesia, where an old device can become a career that escapes from poverty
  • But also, used to fill the need that I had for Dorothy, where to achieve anything, it requires individualised, specialised, knowledge, often with tooling made for enterprises, requiring the scale of enterprise teams to manage

Since 2023:

What hasn't changed:

  • Support for the user and your ambitions.
    • Renamed and deprecated commands will gracefully be handled, reporting the deprecation and what needs to be done.
    • Continued upgrade and integration support: bevry/dorothy#185
    • Continued small and large improvements of our commands, sources, and conventions.
  • The core offering of:
    • Automatic configuration of your environment variables for the tooling you have installed.
    • Semi-automatic configuration of your system, via tooling like setup-shell, setup-system, setup-git, setup-...
    • Powerful commands and primitives that you can extend for your ambitions, such as secret, setup-util, edit, and so on: https://github.com/bevry/dorothy?tab=readme-ov-file#showcase

For a summary of the hundreds of commands and the utilities, refer to the presentation Dorothy @ CampJS 2023 November.

Practice

  1. Command / Generics
  2. Installers / Utilieis
  3. Transformers / Echoes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment