Skip to content

rindag-devs/hull

Repository files navigation

Hull

license ci docs

A Nix-based framework for competitive programming problem authoring, analysis, and packaging.

Getting Started

Visit the documentation home page to learn more.

Features

  • Reproducible problem pipelines. Nix definitions connect programs, generated data, validation, official outputs, solution predictions, documents, and packages in one buildable problem model.
  • First-class Typst integration. Build multilingual statements, technical overviews, and contest booklets from analyzed problem data, with automatic samples, subtasks, and validator-backed visualizations.
  • Programmable judging workflows. Use built-in batch, interactive, and answer-only models, or define a custom judger for multi-stage evaluation, custom protocols, and specialized scoring.
  • Extensible problem and contest targets. Package for supported judge systems and participant environments, or write a custom target for a project-specific output format.
  • End-to-end parallel execution. Problem builds, contest builds, judging, and stress testing use available CPU parallelism by default. Artifact builds and packaging retain Nix's own parallel scheduling, allowing high-core-count servers to process large solution and testcase sets with high throughput.
  • AI-agent-friendly authoring. Published Agent Skills, llms.txt, Typst source mirrors, and generated option references give AI agents structured entry points for creating and maintaining complete Hull problems.

License

LGPL-3.0-or-later

Copyright (c) 2025-present, rindag-devs

About

Hull is a tool to prepare programming contest problems.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages