_______________ ______
| | | |
|_____ ______| | |
| | | |
| | | | |-------|
| | |--| |--| | | | |__| |
| | | \ / | | | | |
______| |_____ | \/ | | |_______ | ___ |
| | | |\ /| | | | | | | |
|______________| |__| \/ |__| |____________| |__| |_| [] [] [] screw itA task runner for people who can't be bothered.
I got tired of:
- Remembering long commands
- Writing Makefiles
- Learning Yet Another Build Tool
.PHONYexisting
So I made this. It reads a TOML file. It runs commands. That's it.
go install github.com/javanhut/imlazy@latestOr:
git clone https://github.com/javanhut/imlazy
cd imlazy
go run main.go installif you're too lazy to move it its in its own lazy.toml i used the lazy to control the lazy.
imlazy initEdit lazy.toml:
[commands.build]
run = ["go build -o myapp"]
[commands.test]
run = ["go test ./..."]Run it:
imlazy build
imlazy testDone.
- Aliases -
imlazy binstead ofimlazy build - Dependencies - run commands in order
- Variables -
{{name}}interpolation - Watch mode - re-run on file changes
- Platform-specific - different commands for linux/mac/windows
- Fuzzy matching - typos are forgiven
- Interactive picker - for when you forget command names
- Parallel execution - go fast
- Dotenv support - load
.envfiles - Timeouts & retries - for flaky stuff
- Namespacing -
test:unit,test:e2e, run withtest:* - Makefile migration - auto-convert Makefiles to
lazy.toml
Too lazy to scroll? Same.
- Getting Started - The minimum to stop suffering
- Configuration - All the TOML options
- Commands - CLI flags and usage
- Features - The fancy stuff
Or just run imlazy help.
[settings]
default = "dev"
[variables]
name = "myapp"
[commands.build]
desc = "Build it"
run = ["go build -o {{name}}"]
alias = ["b"]
[commands.test]
desc = "Test it"
run = ["go test ./..."]
alias = ["t"]
[commands.dev]
desc = "Build and run"
dep = ["build"]
run = ["./{{name}}"]imlazy dev # build then run
imlazy b # just build
imlazy -w test # watch mode
imlazy -i # interactive picker
imlazy build test # multiple commands
imlazy last # re-run last commandProbably. Run imlazy validate to catch the obvious ones.
Go nuts. - Javan