Zest is a cross-platform CLI tool for managing isolated, project-specific workspaces with a single command.
Workspaces are defined using YAML config files and can automate the launch of:
- Browsers
- Editors
- Terminals
- Containers
- Notes
- Other custom apps
Ideal for developers, learners, and professionals who switch between multiple projects or contexts.
- Create and launch workspaces effortlessly
- Cross-platform support (Linux, macOS, Windows)
- Shell autocompletion support
- Easily extendable with templates
You can install Zest using Go:
go install github.com/AVAniketh0905/zest@latest
- Go 1.18 or higher must be installed and properly configured.
- Ensure that $GOPATH/bin is in your system's PATH, so you can run zest from anywhere.
Once installed, you can verify it by running:
zest -v
zest [command]
Available Commands:
close Close an existing or active workspace
completion Generate the autocompletion script for the specified shell
help Help about any command
init Initialize a new workspace
launch Launch a workspace
list List all available workspaces
status Show the live status of one or more workspaces
Zest configuration and state directory structure:
$HOME/.zest/
├── zest.yaml // Global configuration file (user editable)
├── workspace/ // Per-workspace configuration (user editable)
│ ├── [name of wsp].yaml // Config for each workspace
├── state/ // Internal state files (NOT user editable)
│ ├── workspace.json // Overall state of all workspaces
│ └── workspace/ // Per-workspace state files
│ ├── [name of wsp].json // State for each workspace
- Browsers:
Support for brave
.
brave:
- tabs:
- "https://example.com"
- "https://github.com/your/repo"
profile_dir: "path/to/profile"
args:
- "--no-first-run"
- Code Editors:
Support for vscode
.
vscode:
- path: path/to/project # Optional; defaults to current working directory
args:
- "--new-window"
- Terminals:
Support for powershell
.
powershell:
- path: path/to/project # Optional; defaults to current working directory
tabs:
- "go version"
- "git status"
args:
- "-NoExit"
- Pdf Viewers:
Support for sioyek
.
sioyek:
- files:
- "path/to/file1.pdf"
- "path/to/file2.pdf"
- Custom App:
Support for launching any custom executable:
custom:
- name: brave
cmd: cmd
args:
- /C
- start
- ""
- brave.exe
- --user-data-dir=path/to/profile
- --no-first-run
- name: powershell
cmd: wt
args:
- -w
- new-tab
- powershell.exe
- -NoExit
- -Command
- cd path/to/project
This project is licensed under the MIT License. See the LICENSE file for details.