{"id":21841938,"url":"https://github.com/jzimbel/adventofcode-elixir-template","last_synced_at":"2026-04-02T02:44:43.190Z","repository":{"id":264679073,"uuid":"893657294","full_name":"jzimbel/adventofcode-elixir-template","owner":"jzimbel","description":"Template repository for Elixir-based Advent of Code projects","archived":false,"fork":false,"pushed_at":"2024-12-06T05:17:29.000Z","size":23,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-19T09:36:45.849Z","etag":null,"topics":["advent-of-code","adventofcode","codespaces","devcontainer","elixir","elixir-lang","template-repository"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jzimbel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-25T01:04:53.000Z","updated_at":"2025-01-12T18:32:33.000Z","dependencies_parsed_at":"2024-11-25T18:45:56.316Z","dependency_job_id":null,"html_url":"https://github.com/jzimbel/adventofcode-elixir-template","commit_stats":null,"previous_names":["jzimbel/adventofcode-elixir-template"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jzimbel%2Fadventofcode-elixir-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jzimbel%2Fadventofcode-elixir-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jzimbel%2Fadventofcode-elixir-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jzimbel%2Fadventofcode-elixir-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jzimbel","download_url":"https://codeload.github.com/jzimbel/adventofcode-elixir-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235695681,"owners_count":19031016,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["advent-of-code","adventofcode","codespaces","devcontainer","elixir","elixir-lang","template-repository"],"created_at":"2024-11-27T22:09:14.090Z","updated_at":"2025-10-08T08:31:32.249Z","avatar_url":"https://github.com/jzimbel.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Advent of Code Elixir Starter\n\nTemplate repository for Elixir solutions to [Advent of Code][aoc] puzzles.\n\nAdapted from another [Advent of Code Elixir Starter][aoc-starter].\n\n## ✨ Features ✨\n- Four Mix tasks: (Run `mix help \u003ctask_name\u003e` after building the project for usage info)\n  - `mix advent.gen` - Generate boilerplate solution and test modules for a new year of puzzles.\n  - `mix advent.solve` - Run or benchmark a solution.\n  - `mix advent.test` - Run tests against a solution. (A convenience wrapping `mix test`)\n  - `mix advent.try` - Run tests followed by a solution. (A convenience wrapping `mix advent.test` and `mix advent.solve`)\n- Automatically downloads puzzle inputs as needed.\n- Optional benchmarking with Benchee.\n- [Special support][shared-parse] for puzzle solutions that reuse the same parsed value for both parts.\n- [Optionally run in a container that handles Erlang/Elixir installation for you.](#get-started-in-a-self-contained-environment)\n\n## Usage\n\nStart by creating your own repository from this template, using the big green\nbutton up there ↗️.\n\nOnce that's done, let's get your project running.\n\nEnable the automatic puzzle input downloader by creating a `config/secrets.exs`\nfile containing the following:\n\n```elixir\nimport Config\n\nconfig :advent_of_code, AdventOfCode.Input,\n  allow_network?: true,\n  session_cookie: \"...\" # paste your AoC session cookie value here\n```\n\nFetch dependencies with\n```shell\nmix deps.get\n```\n\nGenerate a set of solution and test files for a new year of puzzles with\n```shell\nmix advent.gen -y${YEAR}\n```\n\nNow you can run a solution with\n```shell\nmix advent.solve -d${DAY} [-p${1 | 2}] [-y${YEAR}] [--bench]\n```\n\nand tests with\n```shell\nmix advent.test [-d${DAY}] [-y${YEAR}]\n```\n\neither directly in your local terminal, or in VSCode's terminal pane while\nconnected to a dev container as described below.\n\nAs an additional convenience, you can also use\n```shell\nmix advent.try -d${DAY} [-p${1 | 2}] [-y${YEAR}] [--bench]\n```\nto run tests, and then if they pass, a solution.\n\n## Get started in a self-contained environment\n\n\u003cimg width=\"1912\" alt=\"Screenshot of the project running in GitHub Codespaces\" src=\"https://github.com/user-attachments/assets/8b2e5625-c9dc-489b-99a3-39b7a8888c00\"\u003e\n\nYour project generated from this template repository can optionally run in a dev container for remote development.\\\nYou have two options:\n\n### :octocat: Run in your browser using GitHub Codespaces\n\n1. Go to the landing page of your generated repo.\n1. Click the `\u003c\u003e Code` drop-down menu, select the Codespaces tab, and click the\n   big green button.\n1. Wait for the Codespace to build.[^1]\n1. Once the in-browser editor activates, follow the steps from [Usage](#usage)\n   to enable puzzle downloads and run a solution. (You can use\n   \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003e`\u003c/kbd\u003e to open a terminal pane.)\n\n### :whale: Using Visual Studio Code + Docker Desktop\n\nRequires Docker Desktop or an alternative Docker-compliant CLI, like podman.\n\nSimply open the project directory locally in VS Code. It will show a popup\nasking if you want to use the Dev Container. It will then guide you through\ngetting set up, building the container image, and connecting to the running dev\ncontainer.\n\n[^1]: If you decide to stick with Codespaces, consider [configuring prebuilds][prebuilds-docs]\n      for your project to speed up build time.\n\n[aoc]: https://adventofcode.com/\n[aoc-starter]: https://github.com/mhanberg/advent-of-code-elixir-starter\n[shared-parse]: lib/advent_of_code/solution/shared_parse.ex\n[prebuilds-docs]: https://docs.github.com/en/codespaces/prebuilding-your-codespaces/configuring-prebuilds\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjzimbel%2Fadventofcode-elixir-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjzimbel%2Fadventofcode-elixir-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjzimbel%2Fadventofcode-elixir-template/lists"}