RIBRush
Players compare each packet destination with candidate routes and choose the winning next hop. Seven levels move from mixed IPv4 warmups through focused longest-prefix, administrative-distance, and metric practice, then transfer the rules to IPv6.

The builder
- Name
- AutomateIP
- From
- Raleigh, NC, USA
- First spec project?
- No
- Began at
- NAF AC6
How it was built
- Model
- claude-opus-5-5
- Harness
- Copilot SDK in VS Code
- Spec method
- GitHub Spec Kit
- Spec artifacts
- constitution, spec, plan, tasks, checklists, research, data-model, contracts, quickstart
- Tasks
- 31 in 6 loops
Build environment
- MCP servers
- None recorded
- Sources & RAG
- Cisco Understand Administrative Distance (Document ID 15986)
- Cisco IOS XE 17.x Basic IP Routing Configuration Guide
- RFC 1812 Section 5.2.4.3
- RFC 7608
- Skills
- Spec Kit: constitution, specify, plan, tasks, implement
- Spec Kit git-feature
- Other tools
- Node.js 26.5.0
- Python 3
- Git
- GitHub CLI
- integrated browser
Runtime: how to play
- Type
- static-web · HTML, CSS, JavaScript ES modules
- Start
- cd WORKSHOP/LAB/Examples/RIBRush && python3 -m http.server 8000 --bind 127.0.0.1
- Then open
- http://127.0.0.1:8000
- Install needed
- No
- Internet needed
- No
- API key needed
- No
- AI at runtime
- No
- Tested on
- Integrated browser (version unknown)
- Saves
- In-memory only; reloading starts a new run.
- Accessibility
- Keyboard controls and a full 35-packet playthrough were checked. Reduced-motion, 320px layout, contrast, and mute checks are recorded in README.md; no screen-reader audit is recorded.
Verification
- Tests
- 12 passing · Start the local server, then open http://127.0.0.1:8000/tests/
- Facts from
- Cisco IOS/IOS XE administrative-distance documentation, RFC 1812, RFC 7608
- Known limits
- Eligible-candidate teaching model; it does not simulate route installation, next-hop recursion, the FIB, or BGP best-path.
- Five-person formative network-engineer playtest remains outstanding.
- License
- Apache-2.0
Who it is for.
RIBRush is a browser puzzle for people learning how routers choose a next hop. Players route 35 packets by comparing destinations with IPv4 and IPv6 candidate routes, then get an explanation of the deciding rule. The seven levels build from simple longest-prefix decisions to Cisco administrative distance and same-protocol metrics, with a specific-route-versus-trusted-route trap. It is designed for early routing practice, not as a simulation of a vendor's full route-installation pipeline.
THE BUILD STORYHow it was made.
The project began with a constitution and a feature specification, then added research, a plan, data-model and UI contracts, a quickstart, and ordered implementation tasks. The route rules were grounded in Cisco IOS/IOS XE administrative-distance documentation and the relevant IPv4 and IPv6 longest-prefix references. The implementation separates address handling, route evaluation, deterministic scenario generation, run state, and presentation so the evaluator remains the authority for each answer. Human feedback shaped the project name, the Cisco AD baseline, the progression from IPv4 into IPv6, and the decision to mix LPM, AD, and metric warmups in Level 1. Repeated destination blocks across levels were addressed with distinct IPv4 route pools, and the specification and design documents were synchronized with those changes. The browser check page reports 12 passing checks, and a full 35-packet run was verified. The five-person formative playtest is still outstanding.
ADVICEFor the next builder.
- Keep the learning model explicit: LPM first, AD only for identical prefixes,
- then metric only for the same protocol and prefix.
- Preserve seeded generation and independently expected fixtures when adding
- route pools; varied data still needs reproducible correctness checks.
- Complete the five-person playtest and record evidence before calling the
- release criteria finished.
Built a game of your own?
Fill in the ARCADE template with your build agent and send me your GitHub URL.
Add your game →