Adding a Problem
Steps
- Write a problem spec in
benchmarks/problems/<name>.mdwith input/output contract - Implement idiomatic solutions in
benchmarks/solutions/<lang>/<name>.<ext> - Score:
bun run scripts/score.ts <file>→ save JSON todata/ - Add a page in
docs/problems/<name>.mdwith results table, observations, and code - Update
docs/.vitepress/config.tssidebar
Problem categories
Algorithmic (A-prefix): Pure logic. Same algorithm in every language. Tests raw expressiveness.
Real-World (R-prefix): Practical tasks with I/O, errors, concurrency. Tests ecosystem and ergonomics.
Solution rules
- Idiomatic for the language (how a proficient developer would write it)
- Use standard library where available
- No code golf — aim for readable, maintainable code
- No over-engineering — solve the problem, nothing more
- Include all imports and boilerplate in the solution file