{"id":24868749,"url":"https://github.com/daltonsw/aocgo","last_synced_at":"2025-10-09T02:48:58.541Z","repository":{"id":250517689,"uuid":"833601149","full_name":"DaltonSW/aocgo","owner":"DaltonSW","description":"Go Package + CLI Tool for interacting with Advent of Code workflows","archived":false,"fork":false,"pushed_at":"2025-10-02T02:37:19.000Z","size":23695,"stargazers_count":30,"open_issues_count":7,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-02T04:21:50.657Z","etag":null,"topics":["advent-of-code","bubbletea","cli","golang","tui","utility"],"latest_commit_sha":null,"homepage":"https://pkg.go.dev/go.dalton.dog/aocgo","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DaltonSW.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-25T11:28:07.000Z","updated_at":"2025-04-17T14:14:23.000Z","dependencies_parsed_at":"2024-12-10T05:18:33.196Z","dependency_job_id":"a38645ac-6d6e-444e-8016-5a7ea88af7fe","html_url":"https://github.com/DaltonSW/aocgo","commit_stats":null,"previous_names":["daltonsw/aocutil","daltonsw/aocgo"],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/DaltonSW/aocgo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaltonSW%2Faocgo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaltonSW%2Faocgo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaltonSW%2Faocgo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaltonSW%2Faocgo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DaltonSW","download_url":"https://codeload.github.com/DaltonSW/aocgo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaltonSW%2Faocgo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000766,"owners_count":26082906,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"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","bubbletea","cli","golang","tui","utility"],"created_at":"2025-02-01T02:32:55.156Z","updated_at":"2025-10-09T02:48:58.523Z","avatar_url":"https://github.com/DaltonSW.png","language":"Go","readme":"# Welcome to `aocGo`!\n\n`aocGo` is a two part project. It is not an official [Advent of Code](https://adventofcode.com/) project, merely my take on some ways to enhance the workflow.  \nDefinitely go support the official project, especially since this project would be useless without it.  \n\n## `aocgo`\n\nThe first encompasses the `go` module of the same name. This module contains a main package with some functions for obtaining input for a given day based on the file's directory structure. It also contains an `aocutils` sub-package, containing some helpful functions for common things you might need when solving AoC puzzles. If you want to handle all of that yourself, don't worry about importing this.\n\nThis module should be imported using `go get go.dalton.dog/aocgo`.\n\nExample:\n```go\n// Example file/dir structure:\n// 2015/1/main.go\npackage main\n\nimport \"go.dalton.dog/aocgo\"\n\nfunc main() {\n    // Get your input data as a string, exactly as the input has it\n    var inLine string = aocgo.GetInputAsString()\n\n    // Get your input data as an array of strings, created by splitting input on newline characters\n    var inLnArr []string = aocgo.GetInputAsLineArray()\n\n    // Get your input data as an array of bytes, where each element is a single byte of the input\n    var inByteArr []byte = aocgo.GetInputAsByteArray()\n}\n```\n\n## `aocli`\n\nThe second, and more expansive, is a CLI application called `aocli` that can be used to interact with the Advent of Code workflow without leaving your terminal.\n\n![\"aocli landing page\"](./assets/LandingPage.png)\n\nIt can currently do all of the following:\n- View puzzle data\n- Submit puzzle answers\n- View both yearly and daily leaderboards\n- View an overview of your user\n\nCheck out the directory's specific [README](https://github.com/DaltonSW/aocgo/tree/main/cmd/aocli) for detailed documentation!\n\nYou should install the program via this repo's ['Releases' page](https://github.com/DaltonSW/aocgo/releases/latest). There are standalone binaries for Windows, Linux, and Mac, and the program has a built-in updating system. Just put the executable in a directory on your PATH and you're good to go.\n\n## Required Setup\n\nAll you need for this to work is the cookie session token of the user you'd like to use to interface with Advent of Code.\n\n1. To obtain this token, log in to Advent of Code via whichever method you prefer.\n2. Open Dev Tools (Press F12 or Right Click -\u003e Inspect), and then open the `Storage` tab. \n![Storage Tab](./assets/Step2.png)\n3. With the `Storage` tab open, double click the `value` to select it, and copy it.\n![Session Token](./assets/Step3.png)\n4. Once copied, place it in one of these two places:\n    - `~/.config/aocgo/session.token`\n    - `AOC_SESSION_TOKEN` environment variable  \n  \nIf you choose to use the environment variable method, make sure to include a line to set it in your shell's startup script.\n\nFrom there, you should be good to go! If you installed the CLI program, you can run `aocli health` to verify that everything loaded properly.\n![aocli health](./assets/aocliHealth.png)\n\n\n## Licensing\n\n© 2024 Dalton Williams  \nCheck repository LICENSE file for licensing information.\n","funding_links":[],"categories":["Applications"],"sub_categories":["Games"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaltonsw%2Faocgo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaltonsw%2Faocgo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaltonsw%2Faocgo/lists"}