routeros-fundamentals

Solid

RouterOS v7 domain knowledge for AI agents. Use when: working with MikroTik RouterOS, writing RouterOS CLI/script commands, calling RouterOS REST API, debugging why a Linux command fails on RouterOS, or when the user mentions MikroTik, RouterOS, CHR, or /ip /system /interface paths. Scope: RouterOS 7.x (long-term and newer) only — v6 is NOT covered and accuracy for v6 problems will be low.

API & Backend 40 stars 9 forks Updated 1 weeks ago MIT

Install

View on GitHub

Quality Score: 82/100

Stars 20%
54
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# RouterOS Fundamentals ## RouterOS Is NOT GNU/Linux RouterOS runs a Linux kernel (5.6.3) but **everything above the kernel is MikroTik's proprietary `nova` system**. This is the single most important fact for agents to internalize. **What does NOT exist on RouterOS:** - No `/bin`, `/usr`, `/etc`, `/var` — no FHS layout - No bash, sh, ash, zsh — no Unix shell at all - No coreutils (`ls`, `cat`, `grep`, `ps`, `mount`, `ip`, `iptables`, etc.) - No glibc, musl, busybox - No apt, pkg, opkg — no package manager (packages are `.npk` files installed via upload + reboot) - No `systemctl`, `service`, init system - No `/proc` or `/sys` accessible from userland - No `docker`, `podman` — RouterOS has its own `/container` subsystem (7.x+) **What DOES exist:** - RouterOS CLI — its own language, not shell. Accessed via SSH, serial, WinBox, or WebFig - REST API at `/rest/` (HTTP, port 80 by default) — the primary programmatic interface - RouterOS scripting language (`.rsc` files) — its own syntax, not bash. See the `routeros-scripting` skill and [Scripting reference](./references/scripting.md) - WebFig (web UI) on port 80 - WinBox protocol on port 8291 **Common agent mistakes to avoid:** - Do NOT try `ssh admin@host 'ls /'` — it opens RouterOS CLI, not a shell - Do NOT suggest `mount`, `fdisk`, `mkfs` — use `/disk` commands instead - Do NOT look for config files at `/etc/` — configuration is in the RouterOS database - Do NOT assume `ping` works the same — it's `/tool/ping` or `/ping`...

Details

Author
tikoci
Repository
tikoci/routeros-skills
Created
4 months ago
Last Updated
1 weeks ago
Language
Shell
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

Code & Development Solid

routeros-scripting

RouterOS scripting language and CLI configuration idioms for .rsc files and interactive commands. Use when: writing or reviewing RouterOS scripts, scheduler/netwatch/on-event snippets, idempotent CLI config, :local/:global/:foreach/:do syntax, [find] selectors, print as-value handling, script permissions, or when the user mentions .rsc, RouterOS script, scripting tips, or CLI config automation.

40 Updated 1 weeks ago
tikoci
API & Backend Solid

routeros-quickchr

Ground RouterOS config/scripts/API code against a REAL router using quickchr (@tikoci/quickchr) — a CLI + Bun/TS library that downloads, boots, and manages MikroTik CHR VMs on QEMU. Use when: validating generated RouterOS config or scripts against real RouterOS before trusting them; spinning up a disposable CHR for REST/CLI/API iteration; writing integration/lab tests against CHR; needing host↔guest networking for a CHR (port-forward, L2/MNDP capture, guest→host UDP); driving an external RouterOS tool against a live CHR. For raw QEMU/CHR boot mechanics (VirtIO, UEFI vs SeaBIOS, acceleration) without quickchr, use routeros-qemu-chr instead.

40 Updated 1 weeks ago
tikoci
API & Backend Solid

routeros-firewall

RouterOS firewall filter, NAT, mangle, and address-list configuration. Use when: writing firewall rules in RouterOS, configuring NAT, setting up address-lists or interface-lists, writing idempotent firewall scripts, configuring DNS redirect or port forwarding, or when the user mentions /ip/firewall, chain=forward, chain=input, connection-state, address-list, interface-list, or layer7-protocol on MikroTik.

40 Updated 1 weeks ago
tikoci