mirror of
https://github.com/theoludwig/advent_of_code_2023.git
synced 2024-10-29 22:17:19 +01:00
My solutions for the Advent of Code 2023, implemented in the Rust Programming Language.
https://adventofcode.com/2023
.github | ||
.vscode | ||
day_1 | ||
day_2 | ||
day_3 | ||
day_4 | ||
day_5 | ||
day_6 | ||
day_7 | ||
day_8 | ||
.commitlintrc.json | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.markdownlint-cli2.jsonc | ||
.prettierrc.json | ||
Cargo.lock | ||
Cargo.toml | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md |
theoludwig/advent_of_code_2023
My Solutions for the Advent of Code 2023, implemented in the Rust Programming Language.
Getting Started
Prerequisites
Rust Toolchain
The current Minimum Supported Rust Version (MSRV) is v1.74.0.
The project is tested against the following Rust versions:
- Minimum Supported Rust Version (MSRV): v1.74.0
- Latest Stable Version
External Linting Tools (optional)
External linting tools are used to ensure a consistent code style and commit message format. They are used in the Continuous Integration (CI) pipeline and can be optionally used locally.
They have to be installed using Node.js >= v20.0.0 and npm >= v10.0.0.
npm clean-install
Usage
# Run a specific day's challenge (e.g. Day 1)
cargo run --package day_1
# Build, Lint, and Test Usage
cargo build
cargo test
cargo clippy --verbose -- -D warnings
cargo fmt -- --check
# External Linting Tools Usage (optional)
echo 'chore: try commitlint' | npm run lint:commit
npm run lint:editorconfig
npm run lint:markdown
npm run lint:prettier
💡 Contributing
Anyone can help to improve the project, submit a Feature Request, a bug report or even correct a simple spelling mistake.
The steps to contribute can be found in the CONTRIBUTING.md file.