Open-source network automation
Safer network changes. Less fragile SSH glue.
rauto brings CLI, a local Web console, templates, dry runs, recordings, and device profiles into one Rust runtime.
Core capabilities
A tighter execution surface for real network changes.
Safe execution, reusable assets, and replayable history in one runtime.
Safer execution primitives
Use dry runs, mode-aware prompts, transaction blocks, and workflow orchestration to avoid blind command pasting.
Standardized operating assets
Reuse connections, templates, JSON variables, profiles, and prompt definitions instead of rebuilding context per task.
Replayable troubleshooting
Record sessions to JSONL, inspect history, and replay exactly what happened when a change window turns noisy.
CLI and local Web console
Start from the command line, open the embedded UI when needed, and keep both surfaces aligned around the same runtime data.
Execution workflow
Preview, run, replay.
Model the device context, render the change, execute with checks, then inspect the result.
Model the target
Save reusable connections, pick a device profile, and validate prompt behavior before touching production.
Render the change
Combine templates with JSON variables and inspect dry-run output so the intended command set is explicit.
Execute with context
Run direct commands, transaction blocks, or workflows with the correct mode transitions and state checks.
Inspect and recover
Browse history, replay session events, and restore archived runtime data when you need auditability or fast recovery.
Operator surfaces
One local control surface for the whole run.
Connections, prompt states, templates, backups, and replay files stay together.
Saved connections
Store reusable host, auth, port, and profile context by name, then load it in CLI or Web flows.
Templates and device profiles
Render commands with MiniJinja and model prompt transitions with TOML profiles inherited from rneter.
Session records and history
Capture execution detail as structured events so review and post-change debugging stop depending on memory.
Backup and restore
Archive the local runtime under ~/.rauto and recover connections, profiles, templates, and records when needed.
Use cases
Built for the jobs that come back every week.
Real operator scenarios, not abstract feature bullets.
Render the same intended change across multiple access devices while keeping connection state and prompt handling consistent.
Drive repeatable policy or interface changes from templates and variable files instead of manually retyping each sequence.
Use recorded session events and history detail to reconstruct what happened without relying on terminal scrollback.
Validate device profiles and execution paths in a lab, then reuse the same operational assets for production runs.
Inside rauto
What is inside rauto.
The current product surface: execution, assets, replay, and local UI.
Run direct commands, templates, transaction-oriented flows, and state-aware device interactions from one execution model.
Work with saved connections, MiniJinja templates, JSON variables, prompt definitions, and device profiles as first-class assets.
Inspect structured session records, replay events offline, and review what actually happened during a change window.
Use the embedded Web console alongside the CLI and keep backups, records, templates, and connection data in one local runtime.
FAQ
Before you trust it in a change window.
Short answers about how the product behaves.
How do the CLI and Web console fit together?
They share the same local runtime data and execution model, so saved connections, templates, profiles, records, and backups stay aligned.
Can I preview commands before touching devices?
Yes. Dry-run flows let you inspect rendered commands before execution, which is critical when templates or variable files are involved.
Can I define my own device prompt behavior?
Yes. rauto supports built-in profiles inherited from rneter and custom TOML profiles so you can model prompt states and execution modes for your environment.
What data stays local?
Connections, templates, profiles, records, and backup archives live in the local runtime directory. The current product positioning is explicitly local and open-source first.
Open rauto.
Install it, read the docs, or go straight to the repo.