rbx
A competitive programming tool to accelerate user journeys of competitive programmers and setters.
A command line tool for setting competitive programming problems
rbx is an Apache-2.0 Python tool that helps competitive programming setters build, test, and package problems and contests from the terminal.
What rbx offers setters
rbx is a command line tool aimed at the competitive programming community, specifically at the people who write problems rather than the people who solve them. The README compares its ambition to Polygon, the well known setting tool, but places rbx directly in the terminal. The feature list breaks the workflow into six parts. Structure lets a setter describe a problem or a whole contest with YAML configuration files. Generation provides a simple way to describe the entire testset, covering both manually added and generated test cases. Testing offers commands that run correct and incorrect solutions against the test cases and automatically judge whether the verdict matched expectations. Verify checks that test cases and solutions are strictly conformant through validators and unit tests. Statements supplies tooling for writing and building problem statements while keeping them synchronized with the testset. Package provides a single command to package a problem for a preferred judge system. The project is written in Python and built on FastAPI and JSON, and the README notes it reached roughly 1400 commits by 2026. The owner states the execution engine that runs solutions and generates tests is kept stable and is not rewritten with AI, which the README frames as a deliberate choice for a tool where correctness matters more than novelty.
The project's stance on AI assistance
The rbx README includes an explicit AI disclaimer that is unusual for a tool of this size, and it is worth reading because it explains how the code was produced. The owner writes that the repository was written until 2026, about 1400 commits, without the use of AI, and argues that the substantive part of the tool was written by a human who understands the domain. The owner then states that AI proved more efficient and less error prone when a human stayed in the loop, and that all AI features added later pass through pull request review and are carefully checked by the owner. The stated plan is to not use AI for the execution engine of the tool, the parts that run solutions and generate tests, because those are critical and do not need to change often. The README presents this as a way to maintain the project with less time while still implementing more useful interface and nice-to-have features. For a reader evaluating the tool, the takeaway is that the parts most likely to cause wrong verdicts are the parts the owner has kept under direct human control, while the surrounding polish is where automation was allowed. This transparency is a useful signal when choosing tooling for contest preparation where a misjudged test can waste hours. The owner frames the split as keeping the trusted core human written while letting automation handle interface polish, a balance that keeps the tool both dependable and easier to maintain.
Contributing and local setup
The README lays out a clear path for developers who want to run or extend rbx. Prerequisites are Python 3.9 or newer, the uv package manager, and the mise task runner. A fresh checkout is cloned from GitHub, then mise run sync installs and locks dependencies while pre-commit install wires up the git hooks. Day to day work runs through mise tasks: sync, lock, lint, lint-fix, format, format-check, check, test, test-cov, test-e2e, and build. The code style rules are enforced automatically by pre-commit hooks and are described plainly: single quotes for strings, absolute imports only with no relative imports, and Conventional Commits. Submitting a change means creating a branch from main, making the change, running mise run check and mise run test, committing with the Conventional Commits format, and opening a pull request. The license section states the project is protected under the Apache License 2.0. The README also points to an external documentation site for the full manual. For someone joining the project, the combination of a fixed toolchain, enforced formatting, and conventional commits means the bar for a clean first contribution is clear before any code is written. The README also points to an external documentation site for the full manual, so a contributor can read beyond the quickstart before changing the tool.
Editorial conclusion
rbx is distributed under the Apache License 2.0, is written in Python, and shows 22 stars with a most recent GitHub update on 2026-08-24.
Community notes