Arlo / docs
Go backend + modern frontend. Hot reload by default.
01
Overview
Arlo is a fullstack toolkit that pairs a Go backend with a modern JS/TS frontend. It ships a unified dev workflow and produces a single binary with your frontend embedded for production.
02
Requirements
- Go 1.21+
- Node.js 14+
- Air (Go hot-reload)
- One package manager: npm, yarn, pnpm, bun, or deno
03
Installation
TipOn Linux, add $(go env GOPATH)/bin to your PATH to use arlo globally.
Go install
bashgo install github.com/JasnRathore/arlo@latest
Ensure your Go bin directory is on PATH so the arlo command is available.
powershellarlo --help
Download Release Setup
Download the latest release Setup
Download latest releaseFile: ArloSetup.exe
- Run the installer and follow the prompts
Run the binary
powershellarlo --help
Download binary
Download the latest release asset and add it to your PATH.
Download latest releaseFile: arlo.exe
- Add the exe to your PATH
Run the binary
powershellarlo --help
Build from source
bashgit clone https://github.com/JasnRathore/arlo cd arlo
bashgo build -o arlo
powershellarlo --help
04
Commands
| Command | Description |
|---|---|
| init (-i) | Initialize a new project |
| dev (-d) | Start the dev environment |
| build (-b) | Build the production binary |
| upgrade (-u) | Upgrade Arlo |
| version (-v) | Print version |
| help (-h) | Show help |
05
Getting Started
Create a new project with the interactive initializer:
basharlo init
The setup prompts for project name, package manager, framework choice (net/http or Gin), and installs dependencies.
06
Development Workflow
basharlo dev
- Starts the frontend dev server with HMR.
- Runs the Go backend with hot reload.
- Proxies frontend requests to the backend API.
07
Project Structure
textyour-project/ ├── src/ # Frontend (Vite) ├── src-backend/ # Go backend │ ├── app/ # HTTP handlers │ ├── main.go # Dev entry │ ├── build.go # Prod build config │ └── .air.toml # Hot reload config ├── arlo.config.json └── .env
08
Build
basharlo build
The output is a single binary with frontend assets embedded for distribution.