A package manager with shim-based version control for CLI tools, GUI apps, and dotfiles.
🚧 Early Development
This project is in active development and should be considered experimental. Features may change, break, or be removed without notice.
Features • Formulas • Quick Start • Third-Party Integration • Documentation
- CLI Tools with Version Management: Install multiple versions, switch per-project
- GUI Applications: Single-version installs for desktop apps
- Dotfiles Management: Git-based dotfile repository with symlink mapping
- Declarative Configuration: Wandfile for system-wide tool configuration
- Per-Project Overrides:
.wandrcfiles for project-specific version pinning
# Installation
curl -sSL https://raw.githubusercontent.com/ochairo/wand/main/scripts/install.sh | bash# List available versions
wand list jq --remote
# Install latest version
wand install jq
# Install specific version
wand install jq@1.7.1
# Check installed versions
wand list jq
# Switch versions
wand switch jq@1.6.0
# Show active version details
wand info jqWand provides a public API for building custom integrations like TUIs, web dashboards, and IDE extensions.
- Terminal UIs (TUI): Build interactive package browsers with Bubble Tea or tview
- Web Dashboards: Create web-based package management interfaces
- IDE Extensions: Integrate wand into VS Code, IntelliJ, or other editors
- CI/CD Tools: Automate package installations in build pipelines
- Custom Workflows: Build domain-specific package management tools
import "github.com/ochairo/wand/pkg/client"
// Initialize client
c, _ := client.New("")
// Install a package
c.Install("jq", "1.7.1")
// List installed packages
packages, _ := c.ListPackages()
// Get package details
formula, _ := c.GetFormula("jq")See pkg/README.md for complete API documentation and examples/.
- User Guide - Getting started and usage instructions
- Public API - Programmatic API for third-party integrations
- Contributing - Development setup and adding packages
Report Bug • Request Feature • Documentation
Made with ❤︎ by ochairo