{"id":19614346,"url":"https://github.com/fpapado/elm-aoc-starter","last_synced_at":"2026-06-09T01:04:42.618Z","repository":{"id":44027596,"uuid":"227420065","full_name":"fpapado/elm-aoc-starter","owner":"fpapado","description":"A setup for starting to solve Advent of Code problems in Elm, with tests and a CLI.","archived":false,"fork":false,"pushed_at":"2022-12-10T11:49:55.000Z","size":166,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-26T17:47:56.897Z","etag":null,"topics":["advent-of-code","aoc","elm"],"latest_commit_sha":null,"homepage":"","language":"Elm","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fpapado.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-11T17:13:40.000Z","updated_at":"2019-12-12T10:20:13.000Z","dependencies_parsed_at":"2023-01-26T06:01:26.631Z","dependency_job_id":null,"html_url":"https://github.com/fpapado/elm-aoc-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fpapado/elm-aoc-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpapado%2Felm-aoc-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpapado%2Felm-aoc-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpapado%2Felm-aoc-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpapado%2Felm-aoc-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fpapado","download_url":"https://codeload.github.com/fpapado/elm-aoc-starter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpapado%2Felm-aoc-starter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34086665,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","aoc","elm"],"created_at":"2024-11-11T10:51:29.575Z","updated_at":"2026-06-09T01:04:42.586Z","avatar_url":"https://github.com/fpapado.png","language":"Elm","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Elm Advent of Code Starter\n\nThis is a simple setup for starting to solve [Advent of Code][aoc] problems in [Elm][elm].\n\n## What problem this addresses\n\nAdvent of Code problems often take their input from a file.\nIn Elm, we don't have a filesystem!\nThis setup allows reading the input using [Elm flags][elm-flags].\n\nSimilarly, we set up tests with [`elm-test`][elm-test], so you can view your code on the command line, rather than having to set up a format for the browser.\n\nYou could do all of those things manually, or in a browser, or through the test interface. This is meant to be a starting point!\n\n## Quick Start\n\nYou will need [Node][node] and [npm][npm].\\* npm comes installed with Node.\nIt should not matter much which versions, though either way I'd recommend you use [nvm][nvm] to install Node. It works better without needing admin privileges for every npm installation.\n\nYou will also need [git][git].\n\nThen, in a terminal, like iterm or gnome terminal, run:\n\n```shell\nnpx degit fpapado/elm-aoc-starter aoc-2019-elm\ncd aoc-2019-elm\nnpm ci\nnpm test\n```\n\n## Structure / Solving Advent of Code Problems\n\nAdding a solution works as follows:\n\n- Copy the input that Advent of Code gives you to `inputs/dayX.txt`\n- Add your solution in an Elm module under `src`. I call them `DayX.elm`, but you can pick anything.\n- In `Main.elm`, import your module, and change the pattern match in `init` to call the respective function for the day and part.\n- Run `npm run solve day part`, e.g. `npm run solve 1 1`, in a terminal\n\nIf you want to run tests:\n\n- Add a test module under `tests`, for example `tests/Day1Test.elm`\n- Write tests as you want :)\n- Run `npm run test` or `elm-test` directly, in a terminal\n\n## Other notes\n\n### \\*On needing Node\n\nNode is used for the CLI toolchain and the test runner.\nThe Elm compiler can very well be run by itself, without needing Node :)\n\n[aoc]: https://adventofcode.com/\n[elm]: https://elm-lang.org/\n[elm-test]: https://github.com/elm-explorations/test\n[elm-flags]: https://guide.elm-lang.org/interop/flags.html\n[node]: https://nodejs.org/en/\n[npm]: https://www.npmjs.com/\n[nvm]: https://github.com/nvm-sh/nvm#installation-and-update\n[git]: https://help.github.com/en/github/getting-started-with-github/set-up-git\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffpapado%2Felm-aoc-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffpapado%2Felm-aoc-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffpapado%2Felm-aoc-starter/lists"}