← ClaudeAtlas

routeros-quickchr-clilisted

Answer a RouterOS question by asking RouterOS. quickchr boots a real, disposable MikroTik CHR router on the local machine under QEMU — no hardware, no cloud, gone when you remove it — and centrs drives it. Covers the shell path end to end: the add/start/stop/remove lifecycle and what --bg actually does, getting REST endpoints and credentials out of a machine, L2 links between two VMs, and the provisioning steps (device-mode) that only work before a machine's first boot. Use when: checking a claim or config against real RouterOS instead of guessing; needing a throwaway router for REST/CLI/API iteration; giving a shell script or CI job a router to talk to. For TypeScript harnesses that import the QuickCHR class, use routeros-quickchr instead.
tikoci/routeros-skills · ★ 64 · API & Backend · score 81
Install: claude install-skill tikoci/routeros-skills
# CHR from the shell: quickchr CLI + centrs quickchr ([`@tikoci/quickchr`](https://github.com/tikoci/quickchr), CLI + Bun/TS library) downloads a MikroTik CHR image, boots it under QEMU, and hands you a router. This skill is the **shell-first** path: you have a terminal, you want a router to interrogate, and the answer will be quoted as shell + RouterOS commands (e.g. in a `forum.mikrotik.com` reply). If you are writing a `bun:test` harness that imports `QuickCHR`, use the **routeros-quickchr** skill instead — one scheme per task, never both.[^split] Behavior below is pinned to **quickchr 0.4.8**. Several of these are 0.4.8 changes, called out inline; on 0.4.7 and earlier the answer differs.[^pin] One limit to keep in view: a CHR booted this way runs the **free** license (`quickchr get <name>` shows `Level: free`), which MikroTik caps at **1 Mbps upload per interface** — every other RouterOS feature is unrestricted. Config, API and CLI grounding are unaffected; a throughput or queue number measured here is the license talking, not the feature.[^license] ## Lifecycle: `add` is not `start` ```sh quickchr add --name lab-a --version 7.24.4 --arch x86 --add-network user quickchr start lab-a --bg quickchr exec lab-a "/system/resource/print" quickchr stop lab-a quickchr remove lab-a ``` - `add` only writes config (0s on a warm cache) and prints `quickchr start <name>` as its tip. **It never boots** — the single most common wrong assumption about this CLI.[^ground-add] - `s