Awesome Advent of Code
This is a collection of awesome resources related to the yearly
Advent of Code challenge.
Project Templates
Templates, cookiecutters and skeletons for quickly setting up projects
in your favourite language.
Tools and Utilities
- Browser extension for private leaderboard visualization
- Browser extension which enhances your personal stats page with a time from Part 1 to Part 2 column (it also tracks when you've first opened a puzzle and offsets the completion times accordingly)
- Browser extension (open source) enhancing private leaderboards with a "medals/podium" chart per day, Part 1 to Part 2 overview, and several other charts for your leaderboard
- Globals medals overview -- Alternative global leaderboard showing first, second and third places as gold, silver and bronze medals.
- Scatterplot of first 100 -- Scatterplot of the time taken to solve the parts of each puzzle by the first 100 people that solved it.
- Private Leaderboard Visualiser -- Given a JSON of your private leaderboard data this website will show you graphs of how long each member took to solve parts 1 and 2 of each day.
- aocdl -- Command-line utility that automatically downloads your personal input file while you read the puzzle description (Go).
- aocinput -- CLI for getting inputs. Clipboard support. Polite to AoC. Nice help and options. (Go)
- aoc_rb -- A Ruby gem that generates an empty AoC project, and provides command-line tools for fetching input and submitting solutions (Ruby)
- aoc-cli -- Command-line utility that helps solve problems in ruby: it downloads your personal input file, creates the sample source files and benchmarks your solutions (Ruby).
- AocKt -- A testing library for creating unit tests for AoC solutions with minimal boilerplate. (Kotlin)
- AoCHelper -- NuGet library that simplifies puzzle solving and provides benchmarking (.NET).
- AdventOfCode.Runner -- NuGet package that automatically provides your puzzles solvers with the input from the AOC site and verifies calculated answers (.NET / C#).
- aocleaderboard -- get over the 200-member limit for private leaderboards and combine multiple leaderboards in a single page with recalculated scores.
- advent-of-code-api -- Haskell library for querying AOC prompts, inputs, and leaderboards (Haskell)
- advent-of-code-ocr -- Command line utility and Haskell library for parsing AoC ascii art words (Haskell)
- advent-of-code-ocr -- Python module for parsing AoC ascii art words (Python)
- aoc-agent -- C# source generator that generates: a) tests for your solution logic, b) complete runner that handles input fetching and answer submitting (.NET)
- aoc-ranking -- Show all non-zero score AoC participants in one, global scoreboard. (Python)
- aoc-cli -- Read puzzle descriptions, download input, and submit answers from the comfort of your terminal. (Rust)
- adventofcode-badge -- An interface over Shields.io to facilitate the creation of badges from Advent of Code.
- @aocjs/cli -- Package for executing solutions with hot reload and data fetching (JavaScript, TypeScript)
- eggnog -- CLI for getting input, directions (with nice colors!), and submitting answers. Caches absolutely everything. (C)
- aoc-badges-action -- A GitHub action for updating various aoc-related badges in your README (GitHub Action, Python)
- advent-readme-stars -- A GitHub action that adds and maintains a table of your AoC progress to your README (GitHub Action, Python)
- aoctimer -- A language-agnostic, multiplatform tool to measure your solution time in relative units, so you can share and compare your results with others.
- aocrunner -- A fast solutions runner and template generator, with simple CLI, customizable template, simple testing utility, live reload, and adventofcode.com integration. (JavaScript, TypeScript)
- advent-of-code-client -- A Node.js package for fetching inputs, running puzzle challenges and submitting answers to adventofcode.com directly from your JavaScript code. Also includes some commonly used & customizable input transformation functions. (JavaScript)
- advent-of-code-runner -- Node.JS CLI solution generator and runner. Downloads inputs, submits answers, prevents duplicate submissions, measures performance, tracks progress and outputs statistics. (JavaScript)
- AoC-execution-time-table-generator -- A C++20 tool to generate an execution time table for both parts of each AoC day, based on input file with time details.
- aocf -- A CLI tool (and also,