{"id":16260205,"url":"https://github.com/bryan-hoang/advent-of-code","last_synced_at":"2025-10-29T12:31:09.216Z","repository":{"id":62421796,"uuid":"225111393","full_name":"bryan-hoang/advent-of-code","owner":"bryan-hoang","description":"A CLI tool built with Deno to help solve Advent of Code puzzles.","archived":false,"fork":false,"pushed_at":"2025-02-05T18:11:20.000Z","size":216,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-05T19:34:10.736Z","etag":null,"topics":["advent-of-code","cli","cli-app","deno"],"latest_commit_sha":null,"homepage":"https://deno.land/x/advent_of_code","language":"TypeScript","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/bryan-hoang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2019-12-01T05:28:46.000Z","updated_at":"2025-02-05T18:11:24.000Z","dependencies_parsed_at":"2023-10-19T12:37:47.404Z","dependency_job_id":null,"html_url":"https://github.com/bryan-hoang/advent-of-code","commit_stats":{"total_commits":69,"total_committers":4,"mean_commits":17.25,"dds":"0.49275362318840576","last_synced_commit":"470f5a12055d27b45cdbe7afe7410c27e72606a2"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryan-hoang%2Fadvent-of-code","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryan-hoang%2Fadvent-of-code/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryan-hoang%2Fadvent-of-code/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryan-hoang%2Fadvent-of-code/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bryan-hoang","download_url":"https://codeload.github.com/bryan-hoang/advent-of-code/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238821464,"owners_count":19536223,"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","cli","cli-app","deno"],"created_at":"2024-10-10T16:06:45.634Z","updated_at":"2025-10-29T12:31:08.751Z","avatar_url":"https://github.com/bryan-hoang.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# advent_of_code\n\n![Deno](https://github.com/bryan-hoang/advent-of-code/workflows/Deno/badge.svg)\n[![vr scripts](https://badges.velociraptor.run/flat.svg)](https://velociraptor.run)\n[![GitHub stars](https://img.shields.io/github/stars/bryan-hoang/advent-of-code)](https://github.com/bryan-hoang/advent-of-code/stargazers)\n[![GitHub license](https://img.shields.io/github/license/bryan-hoang/advent-of-code)](https://github.com/bryan-hoang/advent-of-code/blob/main/LICENSE)\n[![GitHub forks](https://img.shields.io/github/forks/bryan-hoang/advent-of-code)](https://github.com/bryan-hoang/advent-of-code/network)\n[![GitHub issues](https://img.shields.io/github/issues/bryan-hoang/advent-of-code)](https://github.com/bryan-hoang/advent-of-code/issues)\n\n---\n\nA CLI tool help initialize and run Typescript/JavaScript files to solve\nadvent-of-code challenges written for Deno. It was heavily inspired by\n[@ksmithut](https://github.com/ksmithut)'s\n[advent-of-code](https://www.npmjs.com/package/advent-of-code) npm package.\n\n## Installation\n\n```shell\ndeno install --unstable --allow-env --allow-read --allow-write --allow-net -f -n aoc https://deno.land/x/advent_of_code/cli.ts\n```\n\n## Usage\n\n```shell\n# Create a day file from a template file and get the input file\naoc init \u003cday\u003e\n\n# Example:\naoc init 1\n\n# Runs a day file based on the given arguments. Can pipe the input into\n# the command with `-` instead of having it read the input file.\naoc run \u003cday\u003e \u003cpart\u003e [input]\n\n# Example\naoc run 1 1 - \u003c input.txt\n\n# Get description of other options.\naoc -h\n```\n\n## Configuration\n\n`aoc` can be configured using a json file called `advent_of_code.json`. If you\npass in command-line arguments, they will override your `advent_of_code.json`\nconfiguration.\n\n### JSON config (`advent_of_code.json` template)\n\naoc configuration can be provided as a JSON file:\n\n```json\n{\n  // Optional but highly recommended\n  \"$schema\": \"https://deno.land/x/advent_of_code/schema.json\",\n\n  \"year\": 2020,\n  \"nameTemplate\": \"day_${num}.ts\",\n  \"templateFile\": \"https://deno.land/x/advent_of_code/templates/day.ts\",\n  \"inputFile\": \"input.txt\"\n}\n```\n\n\u003c!-- To create a basic configuration in the root directory of your project file you\ncan run:\n\n```shell\naoc --init\n```\n\nthis will create a basic `advent_of_code.json` file:\n\n```json\n{\n  \"year\": 2020,\n  \"nameTemplate\": \"day_${num}.ts\",\n  \"templateFile\": \"https://deno.land/x/advent_of_code/templates/day.ts\"\n}\n``` --\u003e\n\n## Debugging\n\n`aoc` leverages the [debug](https://deno.land/x/debug) module. Setting\n`DEBUG=aoc` will print out debug information. When reporting bugs, please have\nthe output from this handy so that the issue can be determined more quickly.\n\n## Disclaimer\n\nI am not affiliated with [adventofcode.com](https://adventofcode.com) or any of\ntheir sponsors, employees, pets, or anything relating to them. I am an active\nparticipant, and I wanted to make a tool to make it easier to setup and run\nadvent of code things. Please don't abuse\n[adventofcode.com](https://adventofcode.com). This tool could be used to make a\nlot of automated requests to their\nsite\u003c!-- , which is why this tool leverages caching --\u003e. If you find that you're\nmaking too many requests to [adventofcode.com](https://adventofcode.com) because\nof this module, please let me know so I can resolve any issues. If this module\nis used to abuse [adventofcode.com](https://adventofcode.com), I will unpublish\nit from deno.land and remove this code from github.\n\n## TODO\n\nSummary of progress tracking for the\n[project](https://github.com/bryan-hoang/advent-of-code/projects/1):\n\n- [ ] Improve test suite\n- [ ] Flush out examples\n- [ ] Implement `aoc --init`: Initialize a default config file.\n- [ ] Implement `aoc submit`: Submit answers to Advent of Code puzzles.\n- [ ] Create programmatic API (similar to\n      [advent-of-code-client](https://www.npmjs.com/package/advent-of-code-client))\n      the mirrors the CLI functions (e.g. get input, run, submit). This would\n      make the project not be a pure cli tool anymore.\n- [ ] Add proper caching. Instead of relying on the file existing. I would like\n      to use the [Deno cache library](https://deno.land/x/cache), but it's still\n      very new and doesn't support modifying the headers when fetching the\n      files.\n\n## Contributing\n\nRefer to [CONTRIBUTING.md](./CONTRIBUTING.md): Please follow the\n[Code of Conduct](./CODE_OF_CONDUCT.md). Pull request, issues and feedback are\nvery welcome. Code style is formatted with `deno fmt` and commit messages are\ndone following [Conventional Commits](https://www.conventionalcommits.org) spec.\n\n## License\n\nCopyright (c) 2020-present Bryan Hoang. All rights reserved. MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbryan-hoang%2Fadvent-of-code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbryan-hoang%2Fadvent-of-code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbryan-hoang%2Fadvent-of-code/lists"}