{"id":13779007,"url":"https://github.com/devries/aoc_template","last_synced_at":"2026-02-01T21:11:00.054Z","repository":{"id":150792309,"uuid":"598839372","full_name":"devries/aoc_template","owner":"devries","description":"Advent of Code Template in Go","archived":false,"fork":false,"pushed_at":"2023-12-17T15:54:44.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-08-03T18:13:36.331Z","etag":null,"topics":["advent-of-code"],"latest_commit_sha":null,"homepage":"","language":"Go","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/devries.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}},"created_at":"2023-02-07T22:51:47.000Z","updated_at":"2024-01-07T09:26:30.000Z","dependencies_parsed_at":"2023-12-07T21:22:29.025Z","dependency_job_id":"91696736-f519-493e-ad9f-17729adf614d","html_url":"https://github.com/devries/aoc_template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devries%2Faoc_template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devries%2Faoc_template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devries%2Faoc_template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devries%2Faoc_template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devries","download_url":"https://codeload.github.com/devries/aoc_template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225049018,"owners_count":17412911,"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"],"created_at":"2024-08-03T18:00:59.991Z","updated_at":"2026-02-01T21:11:00.027Z","avatar_url":"https://github.com/devries.png","language":"Go","funding_links":[],"categories":["Project Templates"],"sub_categories":[],"readme":"# Advent of Code Template in Go\n\nThis is a template to put advent of code problems into a single executable. It\nallows you to measure the execution time of each part of each problem, and to\nignore some of the boilerplate. Not sure if anyone else will be interested, but\nI thought I would give it a try because I have seen a lot of templates like\nthis.\n\n# Instructions\n\nTo start a new day, download your input from the advent of code website and put\nit in a file named `dayXX.txt` where `XX` is replaced by the two digit day of\nthe month within a subdirectory called `inputs`. Then, to generate code from a\ntemplate using the command:\n\n```\nmake start\n```\n\nIt will default to adding code for the current day. This will create a\ndirectory called `dayXXp1` where `XX` is replaced by the day number. Inside\nwill be a file called `solution.go` with a `Solve` function in which to put\nyour solution, and a `solution_test.go` file to write your tests. The `Solve`\nfunction takes an `io.Reader` argument which is the input and returns a\nsolution which can be any type.\n\nIf you wish to start a problem for a specific day, say the 21st, you can create\nthe desired directory from the template by using the make command to create the\npart 1 directory for that day using the command below.\n\n```\nmake day21p1\n```\n\nTo run the last code you worked on use the command:\n\n```\nmake run\n```\n\nThis will generate a `run.go` file and run the most recently modified code. Once\nthe first part is finished you can start the second part by using the command:\n\n```\nmake day21p2\n```\n\nThis will copy your current part 1 code from `day21p1` and update the package\nnames. You can then edit that code to complete part 2.\n\nYou can run all the days with the command:\n\n```\nmake runall\n```\n\nYou can build a binary called `aoc_run` by using the\n\n```\nmake build\n```\n\ncommand.\n\nFinally, you can run your tests with the command:\n\n```\nmake test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevries%2Faoc_template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevries%2Faoc_template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevries%2Faoc_template/lists"}