ZSH workflow tools designed for ADHD brains. Start working in 10 seconds. Stay motivated with visible wins.
# 1. Install
antidote install data-wise/flow-cli # or: zinit light data-wise/flow-cli
# 2. Work
work my-project # Start session
win "Fixed bug" # Log win โ get dopamine
finish # Done for nowThat's it. Everything else is optional.
๐บ See it in action (click to expand)
Or try the commands yourself:
$ work my-project
๐ Starting session: my-project
๐ ~/projects/my-project
$ win "Fixed the login bug"
๐ง fix: Fixed the login bug
โจ Win #1 today!
$ win "Added unit tests"
๐งช test: Added unit tests
โจ Win #2 today!
$ yay
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ ๐ Today's Wins (2) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ง Fixed the login bug โ
โ ๐งช Added unit tests โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
๐ฅ 2-day streak!
$ finish
โ
Session complete (47 min, 2 wins)
| ADHD Challenge | flow-cli Solution |
|---|---|
| "Where was I?" | why shows your context |
| "What should I do?" | dash shows priorities |
| No visible progress | win logs accomplishments |
| Context switching pain | hop instant project switch |
| Starting is hard | work removes friction |
| Multiple devices | flow sync keeps wins synced |
work myproject # Start working (creates session)
finish "done X" # End session (optional commit)
hop other # Quick switch (tmux)win "Fixed the bug" # Log accomplishment โ ๐ง fix
win "Deployed v2" # Log accomplishment โ ๐ ship
yay # See your wins
flow goal set 3 # Daily targetdash # What's happening?
why # Where was I?
pick # Choose a projectEvery win gives you a category and emoji:
- ๐ป code - "Implemented feature"
- ๐ง fix - "Fixed that bug"
- ๐ ship - "Deployed to prod"
- ๐ docs - "Updated README"
- ๐งช test - "Added tests"
Day 1: work โ ๐ฑ 1 day
Day 3: work โ ๐ฅ 3 days - On a roll!
Day 7: work โ ๐ฅ๐ฅ Strong week!
dash # Quick overview
dash -i # Interactive picker
dash --watch # Live updatesSync your wins and goals across devices via iCloud:
flow sync remote init # Set up once
flow sync # Auto-sync dailyWorks offline, syncs when connected. Zero config after setup.
Context-aware commands that adapt to your project:
| Command | What it does |
|---|---|
cc |
Launch Claude Code here |
cc pick |
Pick project โ Claude |
cc pick opus โจ |
Pick โ Opus (natural order!) |
dot |
Manage dotfiles & secrets |
dot edit .zshrc |
Edit dotfile with preview |
r test |
Run R package tests |
qu preview |
Preview Quarto doc |
g push |
Git push with safety |
flow sync |
Sync data across devices |
Each dispatcher has built-in help: cc help, dot help, r help, etc.
โจ New in v4.8.0: Unified grammar - both cc opus pick AND cc pick opus work identically!
โจ New in v5.0.0: Dotfile management with dot dispatcher
# Tap the repository
brew tap data-wise/tap
# Install flow-cli
brew install flow-cliThat's it! Homebrew handles everything. No plugin manager needed.
curl -fsSL https://raw.githubusercontent.com/Data-Wise/flow-cli/main/install.sh | bashAuto-detects your plugin manager and installs accordingly.
Install specific version:
FLOW_VERSION=v4.8.0 curl -fsSL https://raw.githubusercontent.com/Data-Wise/flow-cli/main/install.sh | bash| Method | Command | Best For |
|---|---|---|
| Homebrew | brew tap data-wise/tap && brew install ... |
macOS users โญ |
| Quick Install | curl -fsSL .../install.sh | bash |
Auto-detection |
| Antidote | Add Data-Wise/flow-cli to .zsh_plugins.txt |
Antidote users |
| Zinit | zinit light Data-Wise/flow-cli |
Zinit users |
| Oh-My-Zsh | Clone to $ZSH_CUSTOM/plugins/ |
OMZ users |
| Manual | git clone + source |
Full control |
๐ Manual installation commands
Antidote:
echo "Data-Wise/flow-cli" >> ~/.zsh_plugins.txt
antidote updateZinit:
zinit light Data-Wise/flow-cliOh-My-Zsh:
git clone https://github.com/Data-Wise/flow-cli.git \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/flow-cli
# Then add 'flow-cli' to plugins=(...) in ~/.zshrcManual:
git clone https://github.com/Data-Wise/flow-cli.git ~/.flow-cli
echo 'source ~/.flow-cli/flow.plugin.zsh' >> ~/.zshrcflow doctor # Health checkcurl -fsSL https://raw.githubusercontent.com/Data-Wise/flow-cli/main/uninstall.sh | bashInteractive dog feeding test (yes, really):
./tests/interactive-dog-feeding.zsh- ๐ Feed a virtual dog by confirming commands work
- โญ Earn 1-5 stars
- ๐ See expected output before running
# In .zshrc (before sourcing plugin)
export FLOW_PROJECTS_ROOT="$HOME/projects" # Where your projects live
export FLOW_QUIET=1 # Skip welcome message- Quick Start - 5 minutes
- Dopamine Features - Win tracking
- Sync Command - Multi-device sync
- All Commands - Reference
- Instant response - Sub-10ms, no waiting
- Smart defaults - Works without config
- Visible progress - See your wins
- Low friction - Start working fast
License: MIT Docs: data-wise.github.io/flow-cli
