{"id":23503127,"url":"https://github.com/dudelson/advent-of-code-2024","last_synced_at":"2025-05-05T08:53:23.595Z","repository":{"id":269218607,"uuid":"904527654","full_name":"dudelson/advent-of-code-2024","owner":"dudelson","description":"Solutions to the advent of code 2024","archived":false,"fork":false,"pushed_at":"2024-12-21T20:19:30.000Z","size":119,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-03T04:40:06.721Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Clojure","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/dudelson.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-17T04:20:27.000Z","updated_at":"2024-12-21T20:19:34.000Z","dependencies_parsed_at":"2024-12-21T21:23:04.904Z","dependency_job_id":"4dbd93ee-b382-4182-9ec1-9a9718f32c62","html_url":"https://github.com/dudelson/advent-of-code-2024","commit_stats":null,"previous_names":["dudelson/advent-of-code-2024"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dudelson%2Fadvent-of-code-2024","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dudelson%2Fadvent-of-code-2024/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dudelson%2Fadvent-of-code-2024/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dudelson%2Fadvent-of-code-2024/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dudelson","download_url":"https://codeload.github.com/dudelson/advent-of-code-2024/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252310936,"owners_count":21727512,"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":[],"created_at":"2024-12-25T08:14:25.077Z","updated_at":"2025-05-04T08:41:33.390Z","avatar_url":"https://github.com/dudelson.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# practicalli/playground\n\n```none\n██████╗ ██████╗  █████╗  ██████╗████████╗██╗ ██████╗ █████╗ ██╗     ██╗     ██╗\n██╔══██╗██╔══██╗██╔══██╗██╔════╝╚══██╔══╝██║██╔════╝██╔══██╗██║     ██║     ██║\n██████╔╝██████╔╝███████║██║        ██║   ██║██║     ███████║██║     ██║     ██║\n██╔═══╝ ██╔══██╗██╔══██║██║        ██║   ██║██║     ██╔══██║██║     ██║     ██║\n██║     ██║  ██║██║  ██║╚██████╗   ██║   ██║╚██████╗██║  ██║███████╗███████╗██║\n╚═╝     ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝   ╚═╝   ╚═╝ ╚═════╝╚═╝  ╚═╝╚══════╝╚══════╝╚═╝\n```\n\n## Project Status\n\nTODO: add status badges for \u003chttps://github.com/David/{{scm/repo\u003e}} workflows and issues\n\nTODO: Provide a meaningful description of the project\n\nProject created with [deps-new](https://github.com/seancorfield/deps-new) and the [practicalli/application template](https://github.com/practicalli/project-templates)\n\n## Run the service\n\nRun the service (clojure.main)\n\n```shell\nclojure -M:run/app\n```\n\nRun the greet function (clojure.exec), optionally passing a `:name` key and value as arguments\n\n```shell\nclojure -X:run/greet :team-name '\"team name\"'\n```\n\n## Development\n\nPracticalli workflow overview:\n\n- start a REPL process in a Terminal\n- open the project in a Clojure Editor and connected to the REPL\n- write code and evaluate expressions in the editor using the source code files\n\n[Practicalli Clojure CLI Config](https://practical.li/clojure/clojure-cli/practicalli-config/) should be used with this project to support all aliases used.\n\nThis project uses `make` tasks to run the Clojure tests, kaocha test runner and package the service into an uberjar.  The `Makefile` uses `clojure` commands and arguments which can be used directly if not using `make`.\n\n`make` command in a terminal will list all the tasks available\n\n```shell\nmake\n```\n\n\n### Run Clojure REPL\n\nStart the REPL with the [Practicalli REPL Reloaded](https://practical.li/clojure/clojure-cli/repl-reloaded/) aliases to include the custom `user` namespace (`dev/user.clj`) which provides additional tools for development (Portal data inspector, hotload libraries, namespace reload)\n\n```shell\nmake repl\n```\n\nThe local nREPL server port will be printed, along with a help menu showing the REPL Reloaded tools available.\n\nEvaluate the practicalli.playground namespace and a mulog publisher will start, sending pretty printed events to the console. Evaluate `(mulog-publisher)` to stop the mulog publisher.\n\nCall the `-main` function with or without an argument, or call the `greet` function directly passing an optional key and value pair.\n\n`(namespace/refresh)` will reload any changed namespaces in the Clojure project.\n\n\n### Clojure Editor\n\nIf a REPL has been run from a terminal, use the editor **connect*- feature.\n\nOtherwise, use the `:dev/reloaded` alias from Practicalli Clojure CLI Config to starting a REPL process from within a Clojure editor.\n\n\n### Unit tests\n\nRun unit tests of the service using the kaocha test runner\n\n```shell\nmake test\n```\n\n\u003e If additional libraries are required to support tests, add them to the `:test/env` alias definition in `deps.edn`\n\n`make test-watch` will run tests on file save, stopping the current test run on the first failing test.  Tests will continue to be watched until `Ctrl-c` is pressed.\n\n## Format Code\n\nCheck the code format before pushing commits to a shared repository, using cljstyle to check the Clojure format, MegaLinter to check format of all other files and kaocha test runner to test the Clojure code.\n\nBefore running the `pre-commit-check`\n\n- [install cljstyle](https://github.com/greglook/cljstyle/releases){target=_blank}\n- MegaLinter runs in a Docker container, so ensure Docker is running\n\n```shell\nmake pre-commit-check\n```\n\nRun cljstyle only\n\n- `make format-check` runs cljstyle and and prints a report if there are errors\n- `make format-fix` updates all files if there are errors (check the changes made via `git diff`)\n\nRun MegaLinter only\n\n- `make lint` runs all configured linters in `.github/config/megalinter.yaml`\n- `make lint-fix` as above and applies fixes\n\nRun Kaocha test runner only\n\n- `make test` runs all unit tests in the project, stopping at first failing test\n- `make test-watch` detect file changes and run all unit tests in the project, stopping at first failing test\n\n\n## Deployment\n\nBuild an uberjar to deploy the service as a jar file\n\n```shell\nmake build-uberjar\n```\n\n- `make build-config` displays the tools.build configuration\n- `make build-clean` deletes the build assets (`target` directory)\n\n```shell\nmake docker-build\n```\n\n- `make docker-down` shuts down all services started with `docker-build`\n- `make docker-build-clean`\n\nOr build and run the service via the multi-stage `Dockerfile` configuration as part of a CI workflow.\n\n\n## License\n\nCopyright © 2024 David\n\n[Creative Commons Attribution Share-Alike 4.0 International](http://creativecommons.org/licenses/by-sa/4.0/\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdudelson%2Fadvent-of-code-2024","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdudelson%2Fadvent-of-code-2024","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdudelson%2Fadvent-of-code-2024/lists"}