Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/theoludwig/advent_of_code_2023

My solutions for the Advent of Code 2023, implemented in the Rust Programming Language.
https://github.com/theoludwig/advent_of_code_2023

advent-of-code advent-of-code-2023 rust-lang

Last synced: 3 months ago
JSON representation

My solutions for the Advent of Code 2023, implemented in the Rust Programming Language.

Awesome Lists containing this project

README

        

theoludwig/advent_of_code_2023


My Solutions for the Advent of Code 2023, implemented in the Rust Programming Language.


CONTRIBUTING
Licence MIT
Contributor Covenant


CI
Rust
Conventional Commits

## Days Progress

- [Day 1 (`**`)](./day_1)
- [Day 2 (`**`)](./day_2)
- [Day 3 (`**`)](./day_3)
- [Day 4 (`**`)](./day_4)
- [Day 5 (`**`)](./day_5)
- [Day 6 (`**`)](./day_6)
- [Day 7 (`*`)](./day_7)
- [Day 8 (`*`)](./day_8)

## Getting Started

### Prerequisites

#### Rust Toolchain

The current Minimum Supported [Rust](https://www.rust-lang.org/) 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 (external to Rust) 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](https://nodejs.org/) >= v20.0.0 and [npm](https://www.npmjs.com/) >= v10.0.0.

```sh
npm clean-install
```

### Usage

```sh
# 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](./CONTRIBUTING.md) file.

## 📄 License

[MIT](./LICENSE)