aoc-template/README.md

34 lines
1.3 KiB
Markdown
Raw Normal View History

2022-12-08 21:29:50 +01:00
![ci](https://github.com/janezicmatej/aoc-template/actions/workflows/ci.yml/badge.svg)
2022-11-28 19:06:17 +01:00
# Advent-of-Code {YEAR}
2022-11-28 19:49:57 +01:00
*This is a dumbed down version of [fspoettel/advent-of-code-rust](https://github.com/fspoettel/advent-of-code-rust) with some extra features*
2022-11-28 19:06:17 +01:00
2022-12-02 14:43:17 +01:00
## Project overview
2022-11-28 19:06:17 +01:00
2022-12-02 14:43:17 +01:00
### Project structure
- `data/` :
- `examples/`: example files go here; you can push this as test are run in ci
- `inputs/`: this directory is gitignored, input files go here
2022-12-02 14:43:17 +01:00
- `src/` :
- `bin/`:
- `<day>.rs`: solution files
2022-12-15 23:58:31 +01:00
- `utils/`: utils files go here
2022-12-02 14:43:17 +01:00
- `lib.rs`: contains framework code
- `utils/`: binary packages with convenience scripts structured using cargo workspaces
- `.env.example`: example dotenv file
2022-11-28 19:06:17 +01:00
2022-12-02 14:43:17 +01:00
### Cli
2022-12-08 21:33:15 +01:00
- `cargo scaffold <day>`: prepare solution files for `day`
2022-12-02 14:43:17 +01:00
- `cargo download <day>`: download input file for `day`
- `cargo solve <day>`: run solution against input for `day`
2022-11-28 19:06:17 +01:00
*Run `cargo build --workspace --release` once so scaffold and download packages get compiled, otherwise they will have to be compiled on first run.*
2022-12-02 14:43:17 +01:00
### dotenv
2022-11-28 21:59:26 +01:00
2022-12-02 14:43:17 +01:00
set `YEAR` to whichever year you are solving for and `TOKEN` to AoC session Cookie
2022-11-28 21:59:26 +01:00
2022-12-02 14:43:17 +01:00
### FAQ
2022-11-28 19:06:17 +01:00
2022-12-02 14:43:17 +01:00
#### How are your commits numbered in ascending order?
[https://westling.dev/b/extremely-linear-git](https://westling.dev/b/extremely-linear-git)