Skip to content

dm0x23/doppio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

☕ Doppio

A double shot of speed for your shell.

dop is a shortcut manager for your terminal. Create aliases, watch directories for new projects, and bootstrap your development environment — all from the command line.


Demo

doppio-demo > Demo for the CLI version of doppio
doppio.mp4

Demo for the TUI version of doppio


Features

  • Add shortcuts: dop add proj "cd ~/Desktop/projects"
  • List them: dop list
  • Remove them: dop remove proj docs gs
  • Auto-sync: Shell config updated automatically after every change
  • Watch mode: Point at a directory and auto-alias new projects as they're created
  • Bootstrap: One command to install favorite CLI tools and configure sensible defaults
  • Managed blocks: Never touches your other aliases, everything lives between markers
  • TUI: Interactive terminal interface for managing shortcuts
  • Background daemon: dop watch runs as a systemd service, surviving reboots
  • Interactive naming: Desktop notification + terminal pop‑up to name new folders
  • TUI with multi‑select: Space to select, bulk delete, Watch & Bootstrap screens

How it works

doppio
  1. You type dop add <name> <command>
  2. Doppio stores it in ~/.config/doppio/shortcuts.json
  3. The sync engine writes the alias to a managed block in your shell config
  4. You type the shortcut name and it just works
  5. Or speed it up further by setting up a watched directory with dop watch <path> and every new folder there is made alias automatically

Installation

Via Go Install

go install github.com/dm0x23/doppio/cmd/dop@latest

Make sure $HOME/go/bin is in your PATH:

export PATH="$HOME/go/bin:$PATH"

From Source

git clone https://github.com/dm0x23/doppio.git
cd doppio
make build
make install

run dop init if you want to add it as a background-service for dop watch. Feel free to configure the path if you have moved the binary elsewhere: systemctl --user edit --full doppio-watch


Quickstart

# Add a shortcut
dop add proj "cd ~/Desktop/projects"

# Source your shell
source ~/.zshrc

# Use it
proj     # → jumps to ~/Desktop/projects

# List all shortcuts
dop list

# Remove one or more
dop remove proj

File locations

What Location
Shortcut data ~/.config/doppio/shortcuts.json
Watch config ~/.config/doppio/watch.json
Shell managed block ~/.zshrc, ~/.bashrc (between # >>> doppio managed >>> markers)
Installed binary ~/go/bin/dop

Commands

Command Description
dop add <name> <command> Add a new shortcut
dop list List all shortcuts
dop remove <name> Remove a shortcut
dop sync Manually sync shortcuts to shell configs
dop watch <directory> Watch a directory and auto-alias new folders
dop bootstrap Install recommended CLI tools + configure aliases
dop completion <shell> Generate shell autocompletion script
dop --version Print version information
dop remove <name> [<name> ...] Remove one or more shortcuts (bulk)
dop tui Launch the interactive terminal UI
dop init Install the watch daemon as a user systemd service

Roadmap

  • Manual shortcut management
  • Watch mode
  • Bootstrap: The one command development setup
  • Make watch into something that runs in the background
  • TUI with BubbleTea
  • Support for fish, powershell etc.

Built with

  • Go
  • Cobra - CLI Framework
  • BubbleTea - Framework for TUI
  • LipGloss - A way to style the BubbleTea TUI
  • Bubbles - Components for BubbleTea
  • fsnotify - File system watcher

Author

Denisha|denisha.co.in

About

A double shot of speed for your shell. Manage shortcuts and jump to your projects with dop.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors