A modular CLI orchestrator powered by plugins. Plugins are standalone binaries installed to ~/.wave/plugins/ and executed through the unified wave command.
- Install
- Quick start
- Wavefile
- Built-in commands
- Plugin architecture
- Local flow plugin testing
- Development
curl -fsSL https://raw.githubusercontent.com/Wave-cli/wave-core/main/install.sh | bashgo install github.com/wave-cli/wave-core@latest# Initialize a project
wave init
# Install a plugin
wave install wave-cli/flow
# Use it
wave flow buildProjects are configured through a Wavefile at the project root:
[project]
name = "my-app"
version = "1.0.0"
owner = "bouajila"
[flow]
build = { cmd = "go build -o bin/app", on_success = "echo done" }
clean = { cmd = "rm -rf bin/" }
dev = { cmd = "go run ." }Each section after [project] maps to an installed plugin. wave-core passes the section as JSON on stdin when executing the plugin.
| Command | Description |
|---|---|
wave init |
Scaffold a Wavefile |
wave install <org/plugin> |
Install a plugin from GitHub Releases |
wave uninstall <plugin> |
Remove an installed plugin |
wave list |
List installed plugins |
wave config |
Show global configuration |
wave version |
Print version info |
This repository includes a Wavefile that mirrors common just recipes. If you have the flow plugin installed, you can run the usual dev tasks via:
wave flow test
wave flow test-e2e
wave flow lint
wave flow build
wave flow ci# Run all tests
go test ./...
# With coverage
go test ./... -cover
# Build
go build -o bin/wave .See docs/architecture.md for detailed architecture documentation.
MIT