Picasso is a versatile task runner 🏃 with a powerful plugin system.
- Universal task runner 🛠️
- Extensible via plugins 🥳
- Template generation in task runs
- Task watcher (allows to watch on file system changes and re-runs tasks)no
brew install andersnormal/picasso/picassospec: 1
version: 1.0.0
authors:
- Sebastian Döll <[email protected]>
homepage: https://github.com/andersnormal/picasso
repository: https://github.com/andersnormal/picasso
plugins:
-
id: picasso-plugin-init
path: picasso-plugin-init
tasks:
test:
disabled: false
desc: test
vars:
region: test
env:
REGION: test
steps:
- cmd: echo {{.OS}}
watch:
paths:
- pkg/config
template:
-
file: ./examples/config.json.tpl
out: ./config.json
vars:
foo: bar Plugins are implemented using the go plugin over RPC package.
Plugins are triggered using the --plugin flag. They are executed with the vars set with the --var flag and the global vars property in the .picasso.yml file.
See plugin.go for an example.
The goal is that Picasso is build and maintained by itself. However, up until this very moment. There two quick steps to build it.
The development is intended to be run with Codespaces the blazing fast cloud developer environment.
env GO111MODULE=on goreleaser release --snapshot --rm-dist