Awesome
<p align="center"> <img src="https://i.imgur.com/vJfIiId.png" width="125px"> </p> <p align="center"> <a href="https://travis-ci.org/oxequa/realize"><img src="https://img.shields.io/travis/oxequa/realize.svg?style=flat-square" alt="Build status"></a> <a href="https://goreportcard.com/report/github.com/oxequa/realize"><img src="https://goreportcard.com/badge/github.com/oxequa/realize?style=flat-square" alt="GoReport"></a> <a href="http://godoc.org/github.com/oxequa/realize"><img src="http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square" alt="GoDoc"></a> <a href="https://raw.githubusercontent.com/oxequa/realize/master/LICENSE"><img src="https://img.shields.io/aur/license/yaourt.svg?style=flat-square" alt="License"></a> <a href="https://gitter.im/oxequa/realize?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"><img src="https://img.shields.io/gitter/room/oxequa/realize.svg?style=flat-square" alt="Gitter"></a> </p> <hr> <h3 align="center">#1 Golang live reload and task runner</h3> <hr> <p align="center"> <img src="https://i.imgur.com/Css8pHr.png"> </p>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! πΊπ»
Supporters
<p align="center"><br> <img src="https://i.imgur.com/0puJ3Ow.png" width="180px"> </p>Quickstart
go get github.com/oxequa/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
--open -> Open web ui in default browser
--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/oxequa/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: <br> π‘ 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.<br> π RED: Errors.<br> π PURPLE: Times or changed files.<br> π GREEN: Successfully completed action.<br>
Config sample
*** there is no more a .realize dir, but only a .realize.yaml file ***
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
env: // 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 different build tools
generate:
status: true
install:
status: true
build:
status: false
method: gb build // support differents build tool
args: // additional params for the command
- -race
run:
status: true
args: // arguments to pass at the project
- --myarg
watcher:
paths: // watched paths
- /
ignore_paths: // ignored paths
- vendor
extensions: // watched extensions
- go
- html
scripts:
- type: before
command: echo before global
global: true
output: true
- type: before
command: echo before change
output: true
- type: after
command: echo after change
output: true
- type: after
command: echo after global
global: true
output: true
errorOutputPattern: mypattern //custom error pattern
Support and Suggestions
π¬ Chat with us Gitter<br> βοΈ Suggest a new Feature
Backers
Support us with a monthly donation and help us continue our activities. [Become a backer]
<a href="https://opencollective.com/realize" target="_blank"><img src="https://opencollective.com/realize/backer/0/avatar.svg"></a> <a href="https://opencollective.com/realize" target="_blank"><img src="https://opencollective.com/realize/backer/1/avatar.svg"></a> <a href="https://opencollective.com/realize" target="_blank"><img src="https://opencollective.com/realize/backer/2/avatar.svg"></a> <a href="https://opencollective.com/realize" target="_blank"><img src="https://opencollective.com/realize/backer/3/avatar.svg"></a>
Sponsors
Become a sponsor and get your logo here! [Become a sponsor]