142 lines
4.2 KiB
Markdown
142 lines
4.2 KiB
Markdown
|
## Quickstart
|
||
|
```
|
||
|
go install github.com/abs3ntdev/haunt@latest
|
||
|
```
|
||
|
|
||
|
or
|
||
|
|
||
|
```
|
||
|
git clone https://github.com/abs3ntdev/haunt
|
||
|
cd haunt
|
||
|
make build && sudo make install
|
||
|
```
|
||
|
|
||
|
## Commands List
|
||
|
|
||
|
### Run Command
|
||
|
From **project/projects** root execute:
|
||
|
|
||
|
|
||
|
```
|
||
|
haunt init
|
||
|
```
|
||
|
|
||
|
then
|
||
|
|
||
|
```
|
||
|
haunt start
|
||
|
```
|
||
|
|
||
|
haunt init will add your root directory if it contains a main.go file and will add any directory inside of cmd as projects. If you wish to add additional projects run haunt add [name] or edit the config file manually. By default projects are set to run go install and go run [project]
|
||
|
|
||
|
***start*** command supports the following custom parameters:
|
||
|
|
||
|
--name="name" -> Run by name on existing configuration
|
||
|
--path="haunt/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:
|
||
|
|
||
|
haunt start
|
||
|
haunt start --path="mypath"
|
||
|
haunt start --name="haunt" --build
|
||
|
haunt start --path="haunt" --run --no-config
|
||
|
haunt start --install --test --fmt --no-config
|
||
|
haunt start --path="/Users/username/go/src/github.com/oxequa/haunt-examples/coin/"
|
||
|
|
||
|
### Init Command
|
||
|
This command will generate a .haunt.yaml with sane default for your current project/projects.\
|
||
|
If there is a main.go in the root directory it will be added along with any directories inside the relative path `cmd`
|
||
|
|
||
|
haunt init
|
||
|
|
||
|
### Add Command
|
||
|
Add a project to an existing config file or create a new one.
|
||
|
|
||
|
haunt add [name]
|
||
|
|
||
|
### Remove Command
|
||
|
Remove a project by its name
|
||
|
|
||
|
haunt remove [name]
|
||
|
|
||
|
|
||
|
## Config sample
|
||
|
|
||
|
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: cmd/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
|