realize/README.md

215 lines
8.0 KiB
Markdown
Raw Normal View History

2017-11-20 15:46:19 +00:00
# Realize
2016-08-21 12:23:28 +00:00
2017-11-05 21:39:30 +00:00
[![GoDoc](https://img.shields.io/badge/documentation-godoc-blue.svg?style=flat-square)](https://godoc.org/github.com/tockins/realize)
[![Travis](https://img.shields.io/travis/tockins/realize.svg?style=flat-square)](https://travis-ci.org/tockins/realize)
[![AUR](https://img.shields.io/aur/license/yaourt.svg?style=flat-square)](https://raw.githubusercontent.com/tockins/realize/v1/LICENSE)
[![](https://img.shields.io/badge/realize-examples-yellow.svg?style=flat-square)](https://github.com/tockins/realize-examples)
[![Gitter](https://img.shields.io/gitter/room/tockins/realize.svg?style=flat-square)](https://gitter.im/tockins/realize?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Go Report Card](https://goreportcard.com/badge/github.com/tockins/realize?style=flat-square)](https://goreportcard.com/report/github.com/tockins/realize)
2017-12-04 23:14:16 +00:00
<!--[![OpenCollective](https://opencollective.com/realize/backers/badge.svg?style=flat-square)](#backers)
2017-11-20 15:46:19 +00:00
[![OpenCollective](https://opencollective.com/realize/sponsors/badge.svg?style=flat-square)](#sponsors)-->
<br>
<div align="center">
<img src="https://i.imgur.com/7XiZyR1.png" width="125px">
<h1 style="">The #1 Golang Task Runner</h1>
<p style="font-size: 18px; font-weight: 400;">Enhance your workflow by automating the most common tasks and using the best performing Golang live reloading.</p>
</div>
<br>
2016-08-23 19:54:39 +00:00
2017-08-08 15:19:24 +00:00
<p align="center">
2017-12-04 23:14:16 +00:00
<img src="https://gorealize.io/img/realize-ui-2.png">
2017-08-08 15:19:24 +00:00
</p>
2016-08-18 08:10:59 +00:00
2017-11-20 15:46:19 +00:00
## Content
2017-08-11 19:00:56 +00:00
2017-11-20 15:48:49 +00:00
### - ⭐️ [Top Features](#top-features)
2017-11-20 15:46:19 +00:00
### - 💃🏻 [Get started](#get-started)
### - 📄 [Config sample](#config-sample)
### - 📚 [Commands List](#commands-list)
2017-11-20 15:48:49 +00:00
### - 🛠 [Support and Suggestions](#support-and-suggestions)
2017-11-20 15:46:19 +00:00
### - 😎 [Backers and Sponsors](#backers)
2017-08-11 19:00:56 +00:00
2017-11-20 15:46:19 +00:00
## Top Features
2016-07-24 23:02:18 +00:00
2017-11-20 15:46:19 +00:00
- 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! 🕺🏻](https://github.com/tockins/realize/issues/new)
2018-02-06 14:09:02 +00:00
## Supporters
2018-02-06 14:16:39 +00:00
<p align="center"><br>
<img src="http://gorealize.io/img/do_logo.png" width="250px">
2018-02-06 14:09:02 +00:00
</p>
2017-11-20 15:46:19 +00:00
## Get started
$ go get github.com/tockins/realize
2017-08-08 22:06:30 +00:00
2017-11-20 15:46:19 +00:00
## Commands List
2016-08-17 23:08:10 +00:00
2017-11-20 15:46:19 +00:00
### Run Command
From **project/projects** root execute:
2016-08-17 23:08:10 +00:00
2017-10-16 20:37:50 +00:00
$ realize start
2017-12-04 23:14:16 +00:00
It will create a **.realize.yaml** file if doesn't already exist, add the working directory as project and run your workflow.
2017-11-20 15:46:19 +00:00
***start*** command supports the following custom parameters:
2017-06-19 11:29:47 +00:00
--name="name" -> Run by name on existing configuration
2017-11-20 15:46:19 +00:00
--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
2017-10-16 20:37:50 +00:00
--vet -> Enable go vet
--install -> Enable go install
2017-12-04 23:14:16 +00:00
--build -> Enable go build
--run -> Enable go run
2017-04-01 18:42:33 +00:00
--server -> Enable the web server
2017-12-04 23:14:16 +00:00
--open -> Open web ui in default browser
--no-config -> Ignore an existing config / skip the creation of a new one
2017-11-20 15:46:19 +00:00
Some examples:
2017-12-04 23:14:16 +00:00
2017-10-16 20:37:50 +00:00
$ 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
2017-11-20 15:46:19 +00:00
$ realize start --path="/Users/username/go/src/github.com/tockins/realize-examples/coin/"
2017-12-04 23:14:16 +00:00
2017-11-20 15:46:19 +00:00
If you want, you can specify additional arguments for your project:
✅ $ realize start --path="/print/printer" --run yourParams --yourFlags // right
2017-12-04 23:14:16 +00:00
❌ $ realize start yourParams --yourFlags --path="/print/printer" --run // wrong
2017-11-20 15:46:19 +00:00
⚠️ 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.
2017-04-01 18:42:33 +00:00
$ realize add
2017-11-20 15:46:19 +00:00
💡 ***add*** supports the same parameters as ***start*** command.
### Init Command
2017-12-04 23:14:16 +00:00
This command allows you to create a custom configuration step-by-step.
2017-03-13 00:04:58 +00:00
2017-04-01 18:42:33 +00:00
$ realize init
2017-03-13 00:11:05 +00:00
2017-11-20 15:46:19 +00:00
💡 ***init*** is the only command that supports a complete customization of all supported options.
### Remove Command
Remove a project by its name
2017-03-13 00:11:05 +00:00
2017-04-01 18:42:33 +00:00
$ realize remove --name="myname"
2017-03-13 00:04:58 +00:00
2017-11-20 15:46:19 +00:00
## Color reference
💙 BLUE: Outputs of the project.<br>
💔 RED: Errors.<br>
💜 PURPLE: Times or changed files.<br>
💚 GREEN: Successfully completed action.<br>
2016-08-24 15:50:52 +00:00
2017-11-20 15:46:19 +00:00
## Config sample
2017-12-04 23:14:16 +00:00
*** there is no more a .realize dir, but only a .realize.yaml file ***
2017-11-20 15:46:19 +00:00
For more examples check: [Realize Examples](https://github.com/tockins/realize-examples)
2017-12-04 23:14:16 +00:00
2017-08-08 21:05:27 +00:00
settings:
2017-10-16 20:37:50 +00:00
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:
2017-08-08 21:05:27 +00:00
- name: coin
path: coin // project path
2017-08-11 19:00:56 +00:00
environment: // env variables available at startup
2017-10-16 20:37:50 +00:00
test: test
myvar: value
2017-08-11 19:00:56 +00:00
commands: // go commands supported
2017-10-16 20:37:50 +00:00
vet:
status: true
fmt:
status: true
args:
- -s
- -w
test:
status: true
2018-01-21 19:35:08 +00:00
method: gb test // support different build tools
2017-10-16 20:37:50 +00:00
generate:
status: true
install:
status: true
2017-08-08 21:05:27 +00:00
build:
2017-10-16 20:37:50 +00:00
status: false
method: gb build // support differents build tool
args: // additional params for the command
2017-08-08 21:05:27 +00:00
- -race
2017-12-04 23:14:16 +00:00
run:
status: true
2017-10-16 20:37:50 +00:00
args: // arguments to pass at the project
- --myarg
2017-08-08 21:05:27 +00:00
watcher:
2017-10-16 20:37:50 +00:00
paths: // watched paths
- /
ignore_paths: // ignored paths
- vendor
extensions: // watched extensions
- go
- html
2017-12-04 23:14:16 +00:00
scripts:
- type: before
command: echo before global
global: true
output: true
- type: before
command: echo before change
output: true
2017-10-16 20:37:50 +00:00
- type: after
2017-12-04 23:14:16 +00:00
command: echo after change
output: true
2017-10-16 20:37:50 +00:00
- type: after
2017-12-04 23:14:16 +00:00
command: echo after global
global: true
output: true
2017-10-16 20:37:50 +00:00
errorOutputPattern: mypattern //custom error pattern
2017-11-20 15:48:49 +00:00
## Support and Suggestions
2017-11-20 15:46:19 +00:00
💬 Chat with us [Gitter](https://gitter.im/tockins/realize)<br>
⭐️ Suggest a new [Feature](https://github.com/tockins/realize/issues/new)
2017-11-20 15:46:19 +00:00
## Backers
Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/realize#backer)]
2017-11-07 19:27:22 +00:00
<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>
2017-11-20 15:46:19 +00:00
## Sponsors
2017-11-20 15:46:19 +00:00
Become a sponsor and get your logo here! [[Become a sponsor](https://opencollective.com/realize#sponsor)]