.gitignore | ||
.travis.yml | ||
bindata.go | ||
cmd_test.go | ||
cmd.go | ||
CONTRIBUTING.md | ||
exec_test.go | ||
exec.go | ||
Gopkg.lock | ||
Gopkg.toml | ||
LICENSE | ||
notify_test.go | ||
notify.go | ||
README.md | ||
realize_test.go | ||
realize.go | ||
server_test.go | ||
server.go | ||
settings_test.go | ||
settings_unix.go | ||
settings_windows.go | ||
settings.go | ||
style_test.go | ||
style.go | ||
utils_test.go | ||
utils.go | ||
watcher_test.go | ||
watcher.go |
Realize
The #1 Golang Task Runner
Enhance your workflow by automating the most common tasks and using the best performing Golang live reloading.
Content
- ⭐️ Top Features
- 💃🏻 Get started
- 📄 Config sample
- 📚 Commands List
- 🛠 Support and Suggestions
- 😎 Backers and Sponsors
Top Features
- High performance Live Reload.
- Manage multiple projects at the same time.
- Watch by custom extensions and paths.
- All Go commands supported.
- Switch between different Go builds.
- Custom env variables for project.
- Execute custom commands before and after a file changes or globally.
- Export logs and errors to an external file.
- Step-by-step project initialization.
- Redesigned panel that displays build errors, console outputs and warnings.
- Any suggestion? Suggest an amazing feature! 🕺🏻
Get started
$ go get github.com/tockins/realize
Commands List
Run Command
From project/projects root execute:
$ realize start
It will create a realize.yaml file if doesn't already exist, add the working directory as project and run your workflow.
start command supports the following custom parameters:
--name="name" -> Run by name on existing configuration
--path="realize/server" -> Custom Path (if not specified takes the working directory name)
--generate -> Enable go generate
--fmt -> Enable go fmt
--test -> Enable go test
--vet -> Enable go vet
--install -> Enable go install
--build -> Enable go build
--run -> Enable go run
--server -> Enable the web server
--no-config -> Ignore an existing config / skip the creation of a new one
Some examples:
$ realize start
$ realize start --path="mypath"
$ realize start --name="realize" --build
$ realize start --path="realize" --run --no-config
$ realize start --install --test --fmt --no-config
$ realize start --path="/Users/username/go/src/github.com/tockins/realize-examples/coin/"
If you want, you can specify additional arguments for your project:
✅ $ realize start --path="/print/printer" --run yourParams --yourFlags // right
❌ $ realize start yourParams --yourFlags --path="/print/printer" --run // wrong
⚠️ The additional arguments must go after the params:
💡 The start command can be used with a project from its working directory without make a config file (--no-config).
Add Command
Add a project to an existing config file or create a new one.
$ realize add
💡 add supports the same parameters as start command.
Init Command
This command allows you to create a custom configuration step-by-step.
$ realize init
💡 init is the only command that supports a complete customization of all supported options.
Remove Command
Remove a project by its name
$ realize remove --name="myname"
Color reference
💙 BLUE: Outputs of the project.
💔 RED: Errors.
💜 PURPLE: Times or changed files.
💚 GREEN: Successfully completed action.
Config sample
For more examples check: Realize Examples
settings:
legacy:
force: true // force polling watcher instead fsnotifiy
interval: 100ms // polling interval
resources: // files names
outputs: outputs.log
logs: logs.log
errors: errors.log
server:
status: false // server status
open: false // open browser at start
host: localhost // server host
port: 5001 // server port
schema:
- name: coin
path: coin // project path
environment: // env variables available at startup
test: test
myvar: value
commands: // go commands supported
vet:
status: true
fmt:
status: true
args:
- -s
- -w
test:
status: true
method: gb test // support differents build tool
generate:
status: true
install:
status: true
build:
status: false
method: gb build // support differents build tool
args: // additional params for the command
- -race
run: true
args: // arguments to pass at the project
- --myarg
watcher:
preview: false // watched files preview
paths: // watched paths
- /
ignore_paths: // ignored paths
- vendor
extensions: // watched extensions
- go
- html
scripts: // custom scripts
- type: before // type (after/before)
command: ./ls -l // command
changed: true // relaunch when a file change
startup: true // launch at start
- type: after
command: ./ls
changed: true
errorOutputPattern: mypattern //custom error pattern
Support and Suggestions
💬 Chat with us Gitter
⭐️ Suggest a new Feature
Backers
Support us with a monthly donation and help us continue our activities. [Become a backer]
Sponsors
Become a sponsor and get your logo here! [Become a sponsor]