# fyrer
lightweight tool to run multiple dev servers concurrently
## Features
- Run multiple development servers concurrently
- Define installer commands that run before starting each server
- Set a working directory per server
- Automatic env parsing from .env file
- Assign environment variables per server (overrides the env file)
- YAML-based configuration file
- Prefixed log output for readability
- Cross-platform support (Linux, macOS, Windows)
- Optional hot reload
- Configurable file and directory ignore rules for hot reload
## Installation
### install using cargo:
```bash
cargo install fyrer
```
### build from source:
```bash
git clone https://github.com/07calc/fyrer
cd fyrer
cargo build --release
cargo install --path .
```
## Usage
`fyrer` looks for a `fyrer.yml` file in the current directory:
```bash
fyrer
```
example config file `fyrer.yml`:
```yaml
installers:
- dir: ./project1
cmd: pip install -r requirements.txt
services:
- name: server1
cmd: python -m http.server 8000
dir: ./project1
env_path: .env.local ## .env file path
env: ## overrides the .env file
PORT: 8000
ENV: dev
- name: server2
cmd: npm start
dir: ./project2
watch: true # enable hot reload
ignore:
- "node_modules/**"
- "*.db"
```
## Notes
- `watch: true` enables file monitoring for that server.
- Ignore patterns follow `glob` syntax.
- restarts servers when watched files change.