# RustyWatch

 

  



[](https://asciinema.org/a/677076)
Live reloading inspired by [Go Air](https://github.com/air-verse/air/tree/master) build with Rust.
## Features
- Universal live reloading support for all programming languages
- Real-time binary reloading
- Monorepo development support
- Run multiple projects with a single command
- Optimized and efficient build process
- Automatic detection and monitoring of new directories
- Enhanced, colorful, and detailed log output
## Install
> curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```shell
cargo install rustywatch
```
## Usage
To start the project with `rustywatch` just need `rustywatch.yaml` for configuration, and run the CLI in root your project.
- Config
Default configuration named `rustywatch.yaml` with `yaml` extension, and please put the config in your root directory, for reference please check at bellow:
```yaml
# define workspaces, rustywatch can be handled multi project at the same time.
workspaces:
# first project binary apps
- dir: './golang-project' # define path directory
cmd: 'cd ./golang-project;go build main.go' # define command to build binary
bin_path: './golang-projec/main' # define path for binary location
bin_arg: # define arguments
- server
ignore:
- '.git'
# second project binary apps
- dir: './rust-project/src/'
cmd: 'cd ./rust-project/src/;cargo build'
bin_path: './rust-project/target/debug/rust-project'
# third project not binary apps
- dir: './nodejs-project'
cmd: 'cd nodejs-project;npm run dev'
# more ...
```
Example structure directories
```shell
# list directories
ls
.
└── your-project/
├── go-project/
│ ├── go.mod
│ ├── go.sum
│ └── main.go
├── rust-project/
│ ├── src/
│ │ └── main.rs
│ ├── Cargo.toml
│ └── Cargo.lock
├── nodejs-project/
│ ├── index.js
│ ├── package.json
│ └── package-lock.json
└── rustywatch.yaml (config here)
```
Run the project
```shell
rustywatch
```
## Help
```
rustywatch --help
```
## Support languages
- NodeJS
- Go
- Rust
- Javascript
- (more)
## Star History
[](https://star-history.com/#ak9024/rustywatch&Date)
## License
MIT & Apache-2.0