summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x.githooks/commit-msg (renamed from 2025/ocaml/.githooks/commit-msg)0
-rwxr-xr-x.githooks/pre-push (renamed from 2025/ocaml/.githooks/pre-push)0
-rw-r--r--.gitignore2
-rw-r--r--Taskfile.yml10
-rw-r--r--go/2023/.envrc (renamed from 2023/go/.envrc)0
-rw-r--r--go/2023/.gitignore (renamed from 2023/go/.gitignore)0
-rw-r--r--go/2023/README.md (renamed from 2023/go/README.md)0
-rw-r--r--go/2023/Taskfile.yml (renamed from 2023/go/Taskfile.yml)0
-rw-r--r--go/2023/flake.lock (renamed from 2023/go/flake.lock)0
-rw-r--r--go/2023/flake.nix (renamed from 2023/go/flake.nix)0
-rw-r--r--go/2023/go.mod (renamed from 2023/go/go.mod)0
-rw-r--r--go/2023/go.sum (renamed from 2023/go/go.sum)0
-rw-r--r--go/2023/internal/day_01/day_01.go (renamed from 2023/go/internal/day_01/day_01.go)0
-rw-r--r--go/2023/internal/day_01/day_01_test.go (renamed from 2023/go/internal/day_01/day_01_test.go)0
-rw-r--r--go/2023/internal/day_02/part_01/part_01.go (renamed from 2023/go/internal/day_02/part_01/part_01.go)0
-rw-r--r--go/2023/internal/day_02/part_01/part_01_test.go (renamed from 2023/go/internal/day_02/part_01/part_01_test.go)0
-rw-r--r--go/2023/internal/day_02/part_02/part_02.go (renamed from 2023/go/internal/day_02/part_02/part_02.go)0
-rw-r--r--go/2023/internal/day_02/part_02/part_02_test.go (renamed from 2023/go/internal/day_02/part_02/part_02_test.go)0
-rw-r--r--go/2023/internal/day_03/part_01/part_01.go (renamed from 2023/go/internal/day_03/part_01/part_01.go)0
-rw-r--r--go/2023/internal/day_03/part_01/part_01_test.go (renamed from 2023/go/internal/day_03/part_01/part_01_test.go)0
-rw-r--r--go/2023/internal/day_04/part_01/part_01.go (renamed from 2023/go/internal/day_04/part_01/part_01.go)0
-rw-r--r--go/2023/internal/day_04/part_01/part_01_test.go (renamed from 2023/go/internal/day_04/part_01/part_01_test.go)0
-rw-r--r--go/2023/internal/day_04/part_02/part_02.go (renamed from 2023/go/internal/day_04/part_02/part_02.go)0
-rw-r--r--go/2023/internal/day_04/part_02/part_02_test.go (renamed from 2023/go/internal/day_04/part_02/part_02_test.go)0
-rw-r--r--go/2023/internal/day_06/part_01/part_01.go (renamed from 2023/go/internal/day_06/part_01/part_01.go)0
-rw-r--r--go/2023/internal/day_06/part_01/part_01_test.go (renamed from 2023/go/internal/day_06/part_01/part_01_test.go)0
-rw-r--r--go/2023/internal/day_06/part_02/part_02.go (renamed from 2023/go/internal/day_06/part_02/part_02.go)0
-rw-r--r--go/2023/internal/day_06/part_02/part_02_test.go (renamed from 2023/go/internal/day_06/part_02/part_02_test.go)0
-rw-r--r--go/2023/internal/day_07/part_01/part_01.go (renamed from 2023/go/internal/day_07/part_01/part_01.go)0
-rw-r--r--go/2023/internal/day_07/part_01/part_01_test.go (renamed from 2023/go/internal/day_07/part_01/part_01_test.go)0
-rw-r--r--go/2023/main.go (renamed from 2023/go/main.go)0
-rw-r--r--ocaml/.editorconfig (renamed from 2025/ocaml/.editorconfig)0
-rw-r--r--ocaml/.env.template (renamed from 2025/ocaml/.env.template)0
-rw-r--r--ocaml/.envrc (renamed from 2025/ocaml/.envrc)0
-rw-r--r--ocaml/.gitattributes (renamed from 2025/ocaml/.gitattributes)0
-rw-r--r--ocaml/.gitignore (renamed from 2025/ocaml/.gitignore)0
-rw-r--r--ocaml/.ocamlformat (renamed from 2025/ocaml/.ocamlformat)0
-rw-r--r--ocaml/CODEOWNERS (renamed from 2025/ocaml/CODEOWNERS)0
-rw-r--r--ocaml/CONTRIBUTING.md (renamed from 2025/ocaml/CONTRIBUTING.md)0
-rw-r--r--ocaml/LICENSE (renamed from 2025/ocaml/LICENSE)0
-rw-r--r--ocaml/README.md (renamed from 2025/ocaml/README.md)0
-rw-r--r--ocaml/Taskfile.yaml (renamed from 2025/ocaml/Taskfile.yaml)4
-rw-r--r--ocaml/advent_of_code.opam (renamed from 2025/ocaml/advent_of_code.opam)0
-rw-r--r--ocaml/bin/dune (renamed from 2025/ocaml/bin/dune)0
-rw-r--r--ocaml/bin/main.ml (renamed from 2025/ocaml/bin/main.ml)0
-rw-r--r--ocaml/docs/Main.html (renamed from 2025/ocaml/docs/Main.html)0
-rw-r--r--ocaml/docs/index.html (renamed from 2025/ocaml/docs/index.html)0
-rw-r--r--ocaml/docs/index_attributes.html (renamed from 2025/ocaml/docs/index_attributes.html)0
-rw-r--r--ocaml/docs/index_class_types.html (renamed from 2025/ocaml/docs/index_class_types.html)0
-rw-r--r--ocaml/docs/index_classes.html (renamed from 2025/ocaml/docs/index_classes.html)0
-rw-r--r--ocaml/docs/index_exceptions.html (renamed from 2025/ocaml/docs/index_exceptions.html)0
-rw-r--r--ocaml/docs/index_extensions.html (renamed from 2025/ocaml/docs/index_extensions.html)0
-rw-r--r--ocaml/docs/index_methods.html (renamed from 2025/ocaml/docs/index_methods.html)0
-rw-r--r--ocaml/docs/index_module_types.html (renamed from 2025/ocaml/docs/index_module_types.html)0
-rw-r--r--ocaml/docs/index_modules.html (renamed from 2025/ocaml/docs/index_modules.html)0
-rw-r--r--ocaml/docs/index_types.html (renamed from 2025/ocaml/docs/index_types.html)0
-rw-r--r--ocaml/docs/index_values.html (renamed from 2025/ocaml/docs/index_values.html)0
-rw-r--r--ocaml/docs/style.css (renamed from 2025/ocaml/docs/style.css)0
-rw-r--r--ocaml/docs/type_Main.html (renamed from 2025/ocaml/docs/type_Main.html)0
-rw-r--r--ocaml/dune-project (renamed from 2025/ocaml/dune-project)0
-rw-r--r--ocaml/flake.lock (renamed from 2025/ocaml/flake.lock)0
-rw-r--r--ocaml/flake.nix (renamed from 2025/ocaml/flake.nix)0
-rw-r--r--ocaml/lib/application/d01p01.ml (renamed from 2025/ocaml/lib/application/d01p01.ml)0
-rw-r--r--ocaml/lib/application/d01p01.mli (renamed from 2025/ocaml/lib/application/d01p01.mli)0
-rw-r--r--ocaml/lib/application/d01p02.ml (renamed from 2025/ocaml/lib/application/d01p02.ml)0
-rw-r--r--ocaml/lib/application/d01p02.mli (renamed from 2025/ocaml/lib/application/d01p02.mli)0
-rw-r--r--ocaml/lib/application/d02p01.ml (renamed from 2025/ocaml/lib/application/d02p01.ml)0
-rw-r--r--ocaml/lib/application/d02p01.mli (renamed from 2025/ocaml/lib/application/d02p01.mli)0
-rw-r--r--ocaml/lib/application/d02p02.ml (renamed from 2025/ocaml/lib/application/d02p02.ml)0
-rw-r--r--ocaml/lib/application/d02p02.mli (renamed from 2025/ocaml/lib/application/d02p02.mli)0
-rw-r--r--ocaml/lib/application/d03p01.ml (renamed from 2025/ocaml/lib/application/d03p01.ml)0
-rw-r--r--ocaml/lib/application/d03p01.mli (renamed from 2025/ocaml/lib/application/d03p01.mli)0
-rw-r--r--ocaml/lib/application/d03p02.ml (renamed from 2025/ocaml/lib/application/d03p02.ml)0
-rw-r--r--ocaml/lib/application/d03p02.mli (renamed from 2025/ocaml/lib/application/d03p02.mli)0
-rw-r--r--ocaml/lib/application/d04p01.ml (renamed from 2025/ocaml/lib/application/d04p01.ml)0
-rw-r--r--ocaml/lib/application/d04p01.mli (renamed from 2025/ocaml/lib/application/d04p01.mli)0
-rw-r--r--ocaml/lib/application/d04p02.ml (renamed from 2025/ocaml/lib/application/d04p02.ml)0
-rw-r--r--ocaml/lib/application/d04p02.mli (renamed from 2025/ocaml/lib/application/d04p02.mli)0
-rw-r--r--ocaml/lib/application/d05p01.ml (renamed from 2025/ocaml/lib/application/d05p01.ml)0
-rw-r--r--ocaml/lib/application/d05p01.mli (renamed from 2025/ocaml/lib/application/d05p01.mli)0
-rw-r--r--ocaml/lib/application/d06p01.ml (renamed from 2025/ocaml/lib/application/d06p01.ml)0
-rw-r--r--ocaml/lib/application/d06p01.mli (renamed from 2025/ocaml/lib/application/d06p01.mli)0
-rw-r--r--ocaml/lib/application/d06p02.ml (renamed from 2025/ocaml/lib/application/d06p02.ml)0
-rw-r--r--ocaml/lib/application/d06p02.mli (renamed from 2025/ocaml/lib/application/d06p02.mli)0
-rw-r--r--ocaml/lib/application/dune (renamed from 2025/ocaml/lib/application/dune)0
-rw-r--r--ocaml/lib/application/parser.ml (renamed from 2025/ocaml/lib/application/parser.ml)0
-rw-r--r--ocaml/lib/domain/d01p01.ml (renamed from 2025/ocaml/lib/domain/d01p01.ml)0
-rw-r--r--ocaml/lib/domain/d01p02.ml (renamed from 2025/ocaml/lib/domain/d01p02.ml)0
-rw-r--r--ocaml/lib/domain/d02p01.ml (renamed from 2025/ocaml/lib/domain/d02p01.ml)0
-rw-r--r--ocaml/lib/domain/d02p01.mli (renamed from 2025/ocaml/lib/domain/d02p01.mli)0
-rw-r--r--ocaml/lib/domain/d02p02.ml (renamed from 2025/ocaml/lib/domain/d02p02.ml)0
-rw-r--r--ocaml/lib/domain/d02p02.mli (renamed from 2025/ocaml/lib/domain/d02p02.mli)0
-rw-r--r--ocaml/lib/domain/d03p01.ml (renamed from 2025/ocaml/lib/domain/d03p01.ml)0
-rw-r--r--ocaml/lib/domain/d03p02.ml (renamed from 2025/ocaml/lib/domain/d03p02.ml)0
-rw-r--r--ocaml/lib/domain/dune (renamed from 2025/ocaml/lib/domain/dune)0
-rw-r--r--ocaml/lib/domain/matrix.ml (renamed from 2025/ocaml/lib/domain/matrix.ml)0
-rw-r--r--ocaml/lib/domain/range.ml (renamed from 2025/ocaml/lib/domain/range.ml)0
-rw-r--r--ocaml/lib/infrastructure/dune (renamed from 2025/ocaml/lib/infrastructure/dune)0
-rw-r--r--ocaml/lib/infrastructure/file.ml (renamed from 2025/ocaml/lib/infrastructure/file.ml)0
-rw-r--r--ocaml/lib/infrastructure/file.mli (renamed from 2025/ocaml/lib/infrastructure/file.mli)0
-rw-r--r--ocaml/lib/presentation/cli.ml (renamed from 2025/ocaml/lib/presentation/cli.ml)0
-rw-r--r--ocaml/lib/presentation/dune (renamed from 2025/ocaml/lib/presentation/dune)0
-rw-r--r--ocaml/test/application/dune (renamed from 2025/ocaml/test/application/dune)0
-rw-r--r--ocaml/test/application/test_d01p01.ml (renamed from 2025/ocaml/test/application/test_d01p01.ml)0
-rw-r--r--ocaml/test/application/test_d01p02.ml (renamed from 2025/ocaml/test/application/test_d01p02.ml)0
-rw-r--r--ocaml/test/application/test_d04p01.ml (renamed from 2025/ocaml/test/application/test_d04p01.ml)0
-rw-r--r--ocaml/test/domain/dune (renamed from 2025/ocaml/test/domain/dune)0
-rw-r--r--ocaml/test/domain/test_d01p01.ml (renamed from 2025/ocaml/test/domain/test_d01p01.ml)0
-rw-r--r--ocaml/test/domain/test_d01p02.ml (renamed from 2025/ocaml/test/domain/test_d01p02.ml)0
-rw-r--r--ocaml/test/domain/test_d03p01.ml (renamed from 2025/ocaml/test/domain/test_d03p01.ml)0
-rw-r--r--ocaml/test/infrastructure/dune (renamed from 2025/ocaml/test/infrastructure/dune)0
-rw-r--r--ocaml/test/infrastructure/test_example.ml (renamed from 2025/ocaml/test/infrastructure/test_example.ml)0
-rw-r--r--ocaml/test/presentation/dune (renamed from 2025/ocaml/test/presentation/dune)0
-rw-r--r--ocaml/test/presentation/test_example.ml (renamed from 2025/ocaml/test/presentation/test_example.ml)0
-rw-r--r--php/2024/.envrc (renamed from 2024/php/.envrc)0
-rw-r--r--php/2024/README.md (renamed from 2024/php/README.md)0
-rw-r--r--php/2024/day_04/Grid.php (renamed from 2024/php/day_04/Grid.php)0
-rw-r--r--php/2024/day_04/Input.php (renamed from 2024/php/day_04/Input.php)0
-rw-r--r--php/2024/day_04/Position.php (renamed from 2024/php/day_04/Position.php)0
-rw-r--r--php/2024/day_04/part_01.php (renamed from 2024/php/day_04/part_01.php)0
-rw-r--r--php/2024/flake.lock (renamed from 2024/php/flake.lock)0
-rw-r--r--php/2024/flake.nix (renamed from 2024/php/flake.nix)0
122 files changed, 8 insertions, 8 deletions
diff --git a/2025/ocaml/.githooks/commit-msg b/.githooks/commit-msg
index 1c1c287..1c1c287 100755
--- a/2025/ocaml/.githooks/commit-msg
+++ b/.githooks/commit-msg
diff --git a/2025/ocaml/.githooks/pre-push b/.githooks/pre-push
index 51a8761..51a8761 100755
--- a/2025/ocaml/.githooks/pre-push
+++ b/.githooks/pre-push
diff --git a/.gitignore b/.gitignore
index 896581e..658b06c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
.env
.direnv
-**/_input/
+.input/*
diff --git a/Taskfile.yml b/Taskfile.yml
index d21aae2..1628de5 100644
--- a/Taskfile.yml
+++ b/Taskfile.yml
@@ -19,9 +19,13 @@ tasks:
- DAY
vars:
FORMATTED_DAY: '{{if (lt (atoi .DAY) 10)}}0{{.DAY}}{{else}}{{.DAY}}{{end}}'
- URI: https://adventofcode.com/{{ .YEAR }}/day/{{.DAY}}/input
- INPUT_DIR: '{{.YEAR}}/_input'
+ URI: https://adventofcode.com/{{.YEAR}}/day/{{.DAY}}/input
+ INPUT_DIR: '/.input/{{.YEAR}}'
cmds:
- cmd: mkdir --parents {{.INPUT_DIR}}
- - cmd: curl --cookie 'session={{.SESSION}}' {{.URI}} > {{.INPUT_DIR}}/day_{{.FORMATTED_DAY}}.txt
+ - cmd: curl --cookie 'session={{.SESSION}}' {{.URI}} > {{.INPUT_DIR}}/{{.FORMATTED_DAY}}.txt
silent: true
+
+ git:hooks:
+ desc: sets up the githooks for the project
+ cmd: git config core.hooksPath .githooks
diff --git a/2023/go/.envrc b/go/2023/.envrc
index 3550a30..3550a30 100644
--- a/2023/go/.envrc
+++ b/go/2023/.envrc
diff --git a/2023/go/.gitignore b/go/2023/.gitignore
index 9f4cb5b..9f4cb5b 100644
--- a/2023/go/.gitignore
+++ b/go/2023/.gitignore
diff --git a/2023/go/README.md b/go/2023/README.md
index 9cda93b..9cda93b 100644
--- a/2023/go/README.md
+++ b/go/2023/README.md
diff --git a/2023/go/Taskfile.yml b/go/2023/Taskfile.yml
index a07c24c..a07c24c 100644
--- a/2023/go/Taskfile.yml
+++ b/go/2023/Taskfile.yml
diff --git a/2023/go/flake.lock b/go/2023/flake.lock
index b7695d9..b7695d9 100644
--- a/2023/go/flake.lock
+++ b/go/2023/flake.lock
diff --git a/2023/go/flake.nix b/go/2023/flake.nix
index 39dda89..39dda89 100644
--- a/2023/go/flake.nix
+++ b/go/2023/flake.nix
diff --git a/2023/go/go.mod b/go/2023/go.mod
index 9fba23c..9fba23c 100644
--- a/2023/go/go.mod
+++ b/go/2023/go.mod
diff --git a/2023/go/go.sum b/go/2023/go.sum
index 3c60b26..3c60b26 100644
--- a/2023/go/go.sum
+++ b/go/2023/go.sum
diff --git a/2023/go/internal/day_01/day_01.go b/go/2023/internal/day_01/day_01.go
index 9cd0a49..9cd0a49 100644
--- a/2023/go/internal/day_01/day_01.go
+++ b/go/2023/internal/day_01/day_01.go
diff --git a/2023/go/internal/day_01/day_01_test.go b/go/2023/internal/day_01/day_01_test.go
index 8063619..8063619 100644
--- a/2023/go/internal/day_01/day_01_test.go
+++ b/go/2023/internal/day_01/day_01_test.go
diff --git a/2023/go/internal/day_02/part_01/part_01.go b/go/2023/internal/day_02/part_01/part_01.go
index 9efe20f..9efe20f 100644
--- a/2023/go/internal/day_02/part_01/part_01.go
+++ b/go/2023/internal/day_02/part_01/part_01.go
diff --git a/2023/go/internal/day_02/part_01/part_01_test.go b/go/2023/internal/day_02/part_01/part_01_test.go
index 33e5fbf..33e5fbf 100644
--- a/2023/go/internal/day_02/part_01/part_01_test.go
+++ b/go/2023/internal/day_02/part_01/part_01_test.go
diff --git a/2023/go/internal/day_02/part_02/part_02.go b/go/2023/internal/day_02/part_02/part_02.go
index ffb9691..ffb9691 100644
--- a/2023/go/internal/day_02/part_02/part_02.go
+++ b/go/2023/internal/day_02/part_02/part_02.go
diff --git a/2023/go/internal/day_02/part_02/part_02_test.go b/go/2023/internal/day_02/part_02/part_02_test.go
index 6952899..6952899 100644
--- a/2023/go/internal/day_02/part_02/part_02_test.go
+++ b/go/2023/internal/day_02/part_02/part_02_test.go
diff --git a/2023/go/internal/day_03/part_01/part_01.go b/go/2023/internal/day_03/part_01/part_01.go
index 49837b3..49837b3 100644
--- a/2023/go/internal/day_03/part_01/part_01.go
+++ b/go/2023/internal/day_03/part_01/part_01.go
diff --git a/2023/go/internal/day_03/part_01/part_01_test.go b/go/2023/internal/day_03/part_01/part_01_test.go
index a077fbd..a077fbd 100644
--- a/2023/go/internal/day_03/part_01/part_01_test.go
+++ b/go/2023/internal/day_03/part_01/part_01_test.go
diff --git a/2023/go/internal/day_04/part_01/part_01.go b/go/2023/internal/day_04/part_01/part_01.go
index 1a215b1..1a215b1 100644
--- a/2023/go/internal/day_04/part_01/part_01.go
+++ b/go/2023/internal/day_04/part_01/part_01.go
diff --git a/2023/go/internal/day_04/part_01/part_01_test.go b/go/2023/internal/day_04/part_01/part_01_test.go
index f6f1a83..f6f1a83 100644
--- a/2023/go/internal/day_04/part_01/part_01_test.go
+++ b/go/2023/internal/day_04/part_01/part_01_test.go
diff --git a/2023/go/internal/day_04/part_02/part_02.go b/go/2023/internal/day_04/part_02/part_02.go
index a9e3152..a9e3152 100644
--- a/2023/go/internal/day_04/part_02/part_02.go
+++ b/go/2023/internal/day_04/part_02/part_02.go
diff --git a/2023/go/internal/day_04/part_02/part_02_test.go b/go/2023/internal/day_04/part_02/part_02_test.go
index 3c66a2e..3c66a2e 100644
--- a/2023/go/internal/day_04/part_02/part_02_test.go
+++ b/go/2023/internal/day_04/part_02/part_02_test.go
diff --git a/2023/go/internal/day_06/part_01/part_01.go b/go/2023/internal/day_06/part_01/part_01.go
index 5735924..5735924 100644
--- a/2023/go/internal/day_06/part_01/part_01.go
+++ b/go/2023/internal/day_06/part_01/part_01.go
diff --git a/2023/go/internal/day_06/part_01/part_01_test.go b/go/2023/internal/day_06/part_01/part_01_test.go
index 7af828c..7af828c 100644
--- a/2023/go/internal/day_06/part_01/part_01_test.go
+++ b/go/2023/internal/day_06/part_01/part_01_test.go
diff --git a/2023/go/internal/day_06/part_02/part_02.go b/go/2023/internal/day_06/part_02/part_02.go
index 316b169..316b169 100644
--- a/2023/go/internal/day_06/part_02/part_02.go
+++ b/go/2023/internal/day_06/part_02/part_02.go
diff --git a/2023/go/internal/day_06/part_02/part_02_test.go b/go/2023/internal/day_06/part_02/part_02_test.go
index 67924dc..67924dc 100644
--- a/2023/go/internal/day_06/part_02/part_02_test.go
+++ b/go/2023/internal/day_06/part_02/part_02_test.go
diff --git a/2023/go/internal/day_07/part_01/part_01.go b/go/2023/internal/day_07/part_01/part_01.go
index a485dfd..a485dfd 100644
--- a/2023/go/internal/day_07/part_01/part_01.go
+++ b/go/2023/internal/day_07/part_01/part_01.go
diff --git a/2023/go/internal/day_07/part_01/part_01_test.go b/go/2023/internal/day_07/part_01/part_01_test.go
index 6ceabe8..6ceabe8 100644
--- a/2023/go/internal/day_07/part_01/part_01_test.go
+++ b/go/2023/internal/day_07/part_01/part_01_test.go
diff --git a/2023/go/main.go b/go/2023/main.go
index 7d71b47..7d71b47 100644
--- a/2023/go/main.go
+++ b/go/2023/main.go
diff --git a/2025/ocaml/.editorconfig b/ocaml/.editorconfig
index 64b41ca..64b41ca 100644
--- a/2025/ocaml/.editorconfig
+++ b/ocaml/.editorconfig
diff --git a/2025/ocaml/.env.template b/ocaml/.env.template
index 3adee3e..3adee3e 100644
--- a/2025/ocaml/.env.template
+++ b/ocaml/.env.template
diff --git a/2025/ocaml/.envrc b/ocaml/.envrc
index cf8df4b..cf8df4b 100644
--- a/2025/ocaml/.envrc
+++ b/ocaml/.envrc
diff --git a/2025/ocaml/.gitattributes b/ocaml/.gitattributes
index 1bc2e72..1bc2e72 100644
--- a/2025/ocaml/.gitattributes
+++ b/ocaml/.gitattributes
diff --git a/2025/ocaml/.gitignore b/ocaml/.gitignore
index 5456007..5456007 100644
--- a/2025/ocaml/.gitignore
+++ b/ocaml/.gitignore
diff --git a/2025/ocaml/.ocamlformat b/ocaml/.ocamlformat
index 6fdcd22..6fdcd22 100644
--- a/2025/ocaml/.ocamlformat
+++ b/ocaml/.ocamlformat
diff --git a/2025/ocaml/CODEOWNERS b/ocaml/CODEOWNERS
index 66c50a2..66c50a2 100644
--- a/2025/ocaml/CODEOWNERS
+++ b/ocaml/CODEOWNERS
diff --git a/2025/ocaml/CONTRIBUTING.md b/ocaml/CONTRIBUTING.md
index 832b94b..832b94b 100644
--- a/2025/ocaml/CONTRIBUTING.md
+++ b/ocaml/CONTRIBUTING.md
diff --git a/2025/ocaml/LICENSE b/ocaml/LICENSE
index 1e9858b..1e9858b 100644
--- a/2025/ocaml/LICENSE
+++ b/ocaml/LICENSE
diff --git a/2025/ocaml/README.md b/ocaml/README.md
index 772c76b..772c76b 100644
--- a/2025/ocaml/README.md
+++ b/ocaml/README.md
diff --git a/2025/ocaml/Taskfile.yaml b/ocaml/Taskfile.yaml
index e79cf9e..4a4cbe2 100644
--- a/2025/ocaml/Taskfile.yaml
+++ b/ocaml/Taskfile.yaml
@@ -101,7 +101,3 @@ tasks:
- command -v utop
cmds:
- cmd: dune utop
-
- git:hooks:
- desc: sets up the githooks for the project
- cmd: git config core.hooksPath .githooks
diff --git a/2025/ocaml/advent_of_code.opam b/ocaml/advent_of_code.opam
index 103f2ce..103f2ce 100644
--- a/2025/ocaml/advent_of_code.opam
+++ b/ocaml/advent_of_code.opam
diff --git a/2025/ocaml/bin/dune b/ocaml/bin/dune
index 0f6768d..0f6768d 100644
--- a/2025/ocaml/bin/dune
+++ b/ocaml/bin/dune
diff --git a/2025/ocaml/bin/main.ml b/ocaml/bin/main.ml
index cbfe6d2..cbfe6d2 100644
--- a/2025/ocaml/bin/main.ml
+++ b/ocaml/bin/main.ml
diff --git a/2025/ocaml/docs/Main.html b/ocaml/docs/Main.html
index 11d7257..11d7257 100644
--- a/2025/ocaml/docs/Main.html
+++ b/ocaml/docs/Main.html
diff --git a/2025/ocaml/docs/index.html b/ocaml/docs/index.html
index f536f1a..f536f1a 100644
--- a/2025/ocaml/docs/index.html
+++ b/ocaml/docs/index.html
diff --git a/2025/ocaml/docs/index_attributes.html b/ocaml/docs/index_attributes.html
index 3450f40..3450f40 100644
--- a/2025/ocaml/docs/index_attributes.html
+++ b/ocaml/docs/index_attributes.html
diff --git a/2025/ocaml/docs/index_class_types.html b/ocaml/docs/index_class_types.html
index be3ecc7..be3ecc7 100644
--- a/2025/ocaml/docs/index_class_types.html
+++ b/ocaml/docs/index_class_types.html
diff --git a/2025/ocaml/docs/index_classes.html b/ocaml/docs/index_classes.html
index 08c083b..08c083b 100644
--- a/2025/ocaml/docs/index_classes.html
+++ b/ocaml/docs/index_classes.html
diff --git a/2025/ocaml/docs/index_exceptions.html b/ocaml/docs/index_exceptions.html
index 0767720..0767720 100644
--- a/2025/ocaml/docs/index_exceptions.html
+++ b/ocaml/docs/index_exceptions.html
diff --git a/2025/ocaml/docs/index_extensions.html b/ocaml/docs/index_extensions.html
index 38625df..38625df 100644
--- a/2025/ocaml/docs/index_extensions.html
+++ b/ocaml/docs/index_extensions.html
diff --git a/2025/ocaml/docs/index_methods.html b/ocaml/docs/index_methods.html
index 7debe46..7debe46 100644
--- a/2025/ocaml/docs/index_methods.html
+++ b/ocaml/docs/index_methods.html
diff --git a/2025/ocaml/docs/index_module_types.html b/ocaml/docs/index_module_types.html
index 0b75a38..0b75a38 100644
--- a/2025/ocaml/docs/index_module_types.html
+++ b/ocaml/docs/index_module_types.html
diff --git a/2025/ocaml/docs/index_modules.html b/ocaml/docs/index_modules.html
index b6588a3..b6588a3 100644
--- a/2025/ocaml/docs/index_modules.html
+++ b/ocaml/docs/index_modules.html
diff --git a/2025/ocaml/docs/index_types.html b/ocaml/docs/index_types.html
index 61efcda..61efcda 100644
--- a/2025/ocaml/docs/index_types.html
+++ b/ocaml/docs/index_types.html
diff --git a/2025/ocaml/docs/index_values.html b/ocaml/docs/index_values.html
index fc7294b..fc7294b 100644
--- a/2025/ocaml/docs/index_values.html
+++ b/ocaml/docs/index_values.html
diff --git a/2025/ocaml/docs/style.css b/ocaml/docs/style.css
index 259bd49..259bd49 100644
--- a/2025/ocaml/docs/style.css
+++ b/ocaml/docs/style.css
diff --git a/2025/ocaml/docs/type_Main.html b/ocaml/docs/type_Main.html
index 43bb69c..43bb69c 100644
--- a/2025/ocaml/docs/type_Main.html
+++ b/ocaml/docs/type_Main.html
diff --git a/2025/ocaml/dune-project b/ocaml/dune-project
index 731f4b5..731f4b5 100644
--- a/2025/ocaml/dune-project
+++ b/ocaml/dune-project
diff --git a/2025/ocaml/flake.lock b/ocaml/flake.lock
index 3baeb69..3baeb69 100644
--- a/2025/ocaml/flake.lock
+++ b/ocaml/flake.lock
diff --git a/2025/ocaml/flake.nix b/ocaml/flake.nix
index 54d7b3f..54d7b3f 100644
--- a/2025/ocaml/flake.nix
+++ b/ocaml/flake.nix
diff --git a/2025/ocaml/lib/application/d01p01.ml b/ocaml/lib/application/d01p01.ml
index 206e757..206e757 100644
--- a/2025/ocaml/lib/application/d01p01.ml
+++ b/ocaml/lib/application/d01p01.ml
diff --git a/2025/ocaml/lib/application/d01p01.mli b/ocaml/lib/application/d01p01.mli
index 2eecf19..2eecf19 100644
--- a/2025/ocaml/lib/application/d01p01.mli
+++ b/ocaml/lib/application/d01p01.mli
diff --git a/2025/ocaml/lib/application/d01p02.ml b/ocaml/lib/application/d01p02.ml
index 7910486..7910486 100644
--- a/2025/ocaml/lib/application/d01p02.ml
+++ b/ocaml/lib/application/d01p02.ml
diff --git a/2025/ocaml/lib/application/d01p02.mli b/ocaml/lib/application/d01p02.mli
index 9e9a2f2..9e9a2f2 100644
--- a/2025/ocaml/lib/application/d01p02.mli
+++ b/ocaml/lib/application/d01p02.mli
diff --git a/2025/ocaml/lib/application/d02p01.ml b/ocaml/lib/application/d02p01.ml
index f313149..f313149 100644
--- a/2025/ocaml/lib/application/d02p01.ml
+++ b/ocaml/lib/application/d02p01.ml
diff --git a/2025/ocaml/lib/application/d02p01.mli b/ocaml/lib/application/d02p01.mli
index 8a8eb32..8a8eb32 100644
--- a/2025/ocaml/lib/application/d02p01.mli
+++ b/ocaml/lib/application/d02p01.mli
diff --git a/2025/ocaml/lib/application/d02p02.ml b/ocaml/lib/application/d02p02.ml
index d062f7b..d062f7b 100644
--- a/2025/ocaml/lib/application/d02p02.ml
+++ b/ocaml/lib/application/d02p02.ml
diff --git a/2025/ocaml/lib/application/d02p02.mli b/ocaml/lib/application/d02p02.mli
index 8a8eb32..8a8eb32 100644
--- a/2025/ocaml/lib/application/d02p02.mli
+++ b/ocaml/lib/application/d02p02.mli
diff --git a/2025/ocaml/lib/application/d03p01.ml b/ocaml/lib/application/d03p01.ml
index 522f5d0..522f5d0 100644
--- a/2025/ocaml/lib/application/d03p01.ml
+++ b/ocaml/lib/application/d03p01.ml
diff --git a/2025/ocaml/lib/application/d03p01.mli b/ocaml/lib/application/d03p01.mli
index 31dd0cd..31dd0cd 100644
--- a/2025/ocaml/lib/application/d03p01.mli
+++ b/ocaml/lib/application/d03p01.mli
diff --git a/2025/ocaml/lib/application/d03p02.ml b/ocaml/lib/application/d03p02.ml
index 743c658..743c658 100644
--- a/2025/ocaml/lib/application/d03p02.ml
+++ b/ocaml/lib/application/d03p02.ml
diff --git a/2025/ocaml/lib/application/d03p02.mli b/ocaml/lib/application/d03p02.mli
index 93d3b98..93d3b98 100644
--- a/2025/ocaml/lib/application/d03p02.mli
+++ b/ocaml/lib/application/d03p02.mli
diff --git a/2025/ocaml/lib/application/d04p01.ml b/ocaml/lib/application/d04p01.ml
index 7c69de4..7c69de4 100644
--- a/2025/ocaml/lib/application/d04p01.ml
+++ b/ocaml/lib/application/d04p01.ml
diff --git a/2025/ocaml/lib/application/d04p01.mli b/ocaml/lib/application/d04p01.mli
index 873acff..873acff 100644
--- a/2025/ocaml/lib/application/d04p01.mli
+++ b/ocaml/lib/application/d04p01.mli
diff --git a/2025/ocaml/lib/application/d04p02.ml b/ocaml/lib/application/d04p02.ml
index 75b1236..75b1236 100644
--- a/2025/ocaml/lib/application/d04p02.ml
+++ b/ocaml/lib/application/d04p02.ml
diff --git a/2025/ocaml/lib/application/d04p02.mli b/ocaml/lib/application/d04p02.mli
index 388ec56..388ec56 100644
--- a/2025/ocaml/lib/application/d04p02.mli
+++ b/ocaml/lib/application/d04p02.mli
diff --git a/2025/ocaml/lib/application/d05p01.ml b/ocaml/lib/application/d05p01.ml
index 4bf79ab..4bf79ab 100644
--- a/2025/ocaml/lib/application/d05p01.ml
+++ b/ocaml/lib/application/d05p01.ml
diff --git a/2025/ocaml/lib/application/d05p01.mli b/ocaml/lib/application/d05p01.mli
index 85c3dd5..85c3dd5 100644
--- a/2025/ocaml/lib/application/d05p01.mli
+++ b/ocaml/lib/application/d05p01.mli
diff --git a/2025/ocaml/lib/application/d06p01.ml b/ocaml/lib/application/d06p01.ml
index 9425810..9425810 100644
--- a/2025/ocaml/lib/application/d06p01.ml
+++ b/ocaml/lib/application/d06p01.ml
diff --git a/2025/ocaml/lib/application/d06p01.mli b/ocaml/lib/application/d06p01.mli
index b3abc1e..b3abc1e 100644
--- a/2025/ocaml/lib/application/d06p01.mli
+++ b/ocaml/lib/application/d06p01.mli
diff --git a/2025/ocaml/lib/application/d06p02.ml b/ocaml/lib/application/d06p02.ml
index 9425810..9425810 100644
--- a/2025/ocaml/lib/application/d06p02.ml
+++ b/ocaml/lib/application/d06p02.ml
diff --git a/2025/ocaml/lib/application/d06p02.mli b/ocaml/lib/application/d06p02.mli
index 49444de..49444de 100644
--- a/2025/ocaml/lib/application/d06p02.mli
+++ b/ocaml/lib/application/d06p02.mli
diff --git a/2025/ocaml/lib/application/dune b/ocaml/lib/application/dune
index b78613a..b78613a 100644
--- a/2025/ocaml/lib/application/dune
+++ b/ocaml/lib/application/dune
diff --git a/2025/ocaml/lib/application/parser.ml b/ocaml/lib/application/parser.ml
index 099900b..099900b 100644
--- a/2025/ocaml/lib/application/parser.ml
+++ b/ocaml/lib/application/parser.ml
diff --git a/2025/ocaml/lib/domain/d01p01.ml b/ocaml/lib/domain/d01p01.ml
index 6b531f4..6b531f4 100644
--- a/2025/ocaml/lib/domain/d01p01.ml
+++ b/ocaml/lib/domain/d01p01.ml
diff --git a/2025/ocaml/lib/domain/d01p02.ml b/ocaml/lib/domain/d01p02.ml
index f71e965..f71e965 100644
--- a/2025/ocaml/lib/domain/d01p02.ml
+++ b/ocaml/lib/domain/d01p02.ml
diff --git a/2025/ocaml/lib/domain/d02p01.ml b/ocaml/lib/domain/d02p01.ml
index 725d4b1..725d4b1 100644
--- a/2025/ocaml/lib/domain/d02p01.ml
+++ b/ocaml/lib/domain/d02p01.ml
diff --git a/2025/ocaml/lib/domain/d02p01.mli b/ocaml/lib/domain/d02p01.mli
index 55665fe..55665fe 100644
--- a/2025/ocaml/lib/domain/d02p01.mli
+++ b/ocaml/lib/domain/d02p01.mli
diff --git a/2025/ocaml/lib/domain/d02p02.ml b/ocaml/lib/domain/d02p02.ml
index b2b55f1..b2b55f1 100644
--- a/2025/ocaml/lib/domain/d02p02.ml
+++ b/ocaml/lib/domain/d02p02.ml
diff --git a/2025/ocaml/lib/domain/d02p02.mli b/ocaml/lib/domain/d02p02.mli
index f918ae1..f918ae1 100644
--- a/2025/ocaml/lib/domain/d02p02.mli
+++ b/ocaml/lib/domain/d02p02.mli
diff --git a/2025/ocaml/lib/domain/d03p01.ml b/ocaml/lib/domain/d03p01.ml
index 1367712..1367712 100644
--- a/2025/ocaml/lib/domain/d03p01.ml
+++ b/ocaml/lib/domain/d03p01.ml
diff --git a/2025/ocaml/lib/domain/d03p02.ml b/ocaml/lib/domain/d03p02.ml
index 88257d0..88257d0 100644
--- a/2025/ocaml/lib/domain/d03p02.ml
+++ b/ocaml/lib/domain/d03p02.ml
diff --git a/2025/ocaml/lib/domain/dune b/ocaml/lib/domain/dune
index 5b13d31..5b13d31 100644
--- a/2025/ocaml/lib/domain/dune
+++ b/ocaml/lib/domain/dune
diff --git a/2025/ocaml/lib/domain/matrix.ml b/ocaml/lib/domain/matrix.ml
index fdf476f..fdf476f 100644
--- a/2025/ocaml/lib/domain/matrix.ml
+++ b/ocaml/lib/domain/matrix.ml
diff --git a/2025/ocaml/lib/domain/range.ml b/ocaml/lib/domain/range.ml
index a1bdc00..a1bdc00 100644
--- a/2025/ocaml/lib/domain/range.ml
+++ b/ocaml/lib/domain/range.ml
diff --git a/2025/ocaml/lib/infrastructure/dune b/ocaml/lib/infrastructure/dune
index b9d250f..b9d250f 100644
--- a/2025/ocaml/lib/infrastructure/dune
+++ b/ocaml/lib/infrastructure/dune
diff --git a/2025/ocaml/lib/infrastructure/file.ml b/ocaml/lib/infrastructure/file.ml
index 3b49c01..3b49c01 100644
--- a/2025/ocaml/lib/infrastructure/file.ml
+++ b/ocaml/lib/infrastructure/file.ml
diff --git a/2025/ocaml/lib/infrastructure/file.mli b/ocaml/lib/infrastructure/file.mli
index 17d4495..17d4495 100644
--- a/2025/ocaml/lib/infrastructure/file.mli
+++ b/ocaml/lib/infrastructure/file.mli
diff --git a/2025/ocaml/lib/presentation/cli.ml b/ocaml/lib/presentation/cli.ml
index 7864e7f..7864e7f 100644
--- a/2025/ocaml/lib/presentation/cli.ml
+++ b/ocaml/lib/presentation/cli.ml
diff --git a/2025/ocaml/lib/presentation/dune b/ocaml/lib/presentation/dune
index ae1fcb1..ae1fcb1 100644
--- a/2025/ocaml/lib/presentation/dune
+++ b/ocaml/lib/presentation/dune
diff --git a/2025/ocaml/test/application/dune b/ocaml/test/application/dune
index 7a90f81..7a90f81 100644
--- a/2025/ocaml/test/application/dune
+++ b/ocaml/test/application/dune
diff --git a/2025/ocaml/test/application/test_d01p01.ml b/ocaml/test/application/test_d01p01.ml
index e57db01..e57db01 100644
--- a/2025/ocaml/test/application/test_d01p01.ml
+++ b/ocaml/test/application/test_d01p01.ml
diff --git a/2025/ocaml/test/application/test_d01p02.ml b/ocaml/test/application/test_d01p02.ml
index bbda035..bbda035 100644
--- a/2025/ocaml/test/application/test_d01p02.ml
+++ b/ocaml/test/application/test_d01p02.ml
diff --git a/2025/ocaml/test/application/test_d04p01.ml b/ocaml/test/application/test_d04p01.ml
index ffbe102..ffbe102 100644
--- a/2025/ocaml/test/application/test_d04p01.ml
+++ b/ocaml/test/application/test_d04p01.ml
diff --git a/2025/ocaml/test/domain/dune b/ocaml/test/domain/dune
index 1364288..1364288 100644
--- a/2025/ocaml/test/domain/dune
+++ b/ocaml/test/domain/dune
diff --git a/2025/ocaml/test/domain/test_d01p01.ml b/ocaml/test/domain/test_d01p01.ml
index 23404f6..23404f6 100644
--- a/2025/ocaml/test/domain/test_d01p01.ml
+++ b/ocaml/test/domain/test_d01p01.ml
diff --git a/2025/ocaml/test/domain/test_d01p02.ml b/ocaml/test/domain/test_d01p02.ml
index 98c06c3..98c06c3 100644
--- a/2025/ocaml/test/domain/test_d01p02.ml
+++ b/ocaml/test/domain/test_d01p02.ml
diff --git a/2025/ocaml/test/domain/test_d03p01.ml b/ocaml/test/domain/test_d03p01.ml
index 6a2b3cf..6a2b3cf 100644
--- a/2025/ocaml/test/domain/test_d03p01.ml
+++ b/ocaml/test/domain/test_d03p01.ml
diff --git a/2025/ocaml/test/infrastructure/dune b/ocaml/test/infrastructure/dune
index 5d493d9..5d493d9 100644
--- a/2025/ocaml/test/infrastructure/dune
+++ b/ocaml/test/infrastructure/dune
diff --git a/2025/ocaml/test/infrastructure/test_example.ml b/ocaml/test/infrastructure/test_example.ml
index e69de29..e69de29 100644
--- a/2025/ocaml/test/infrastructure/test_example.ml
+++ b/ocaml/test/infrastructure/test_example.ml
diff --git a/2025/ocaml/test/presentation/dune b/ocaml/test/presentation/dune
index e34e56f..e34e56f 100644
--- a/2025/ocaml/test/presentation/dune
+++ b/ocaml/test/presentation/dune
diff --git a/2025/ocaml/test/presentation/test_example.ml b/ocaml/test/presentation/test_example.ml
index e69de29..e69de29 100644
--- a/2025/ocaml/test/presentation/test_example.ml
+++ b/ocaml/test/presentation/test_example.ml
diff --git a/2024/php/.envrc b/php/2024/.envrc
index cffc922..cffc922 100644
--- a/2024/php/.envrc
+++ b/php/2024/.envrc
diff --git a/2024/php/README.md b/php/2024/README.md
index 6aeb9d6..6aeb9d6 100644
--- a/2024/php/README.md
+++ b/php/2024/README.md
diff --git a/2024/php/day_04/Grid.php b/php/2024/day_04/Grid.php
index 75d531b..75d531b 100644
--- a/2024/php/day_04/Grid.php
+++ b/php/2024/day_04/Grid.php
diff --git a/2024/php/day_04/Input.php b/php/2024/day_04/Input.php
index 60a16a0..60a16a0 100644
--- a/2024/php/day_04/Input.php
+++ b/php/2024/day_04/Input.php
diff --git a/2024/php/day_04/Position.php b/php/2024/day_04/Position.php
index 0dcf96c..0dcf96c 100644
--- a/2024/php/day_04/Position.php
+++ b/php/2024/day_04/Position.php
diff --git a/2024/php/day_04/part_01.php b/php/2024/day_04/part_01.php
index 0faa5b0..0faa5b0 100644
--- a/2024/php/day_04/part_01.php
+++ b/php/2024/day_04/part_01.php
diff --git a/2024/php/flake.lock b/php/2024/flake.lock
index b7695d9..b7695d9 100644
--- a/2024/php/flake.lock
+++ b/php/2024/flake.lock
diff --git a/2024/php/flake.nix b/php/2024/flake.nix
index 2be5644..2be5644 100644
--- a/2024/php/flake.nix
+++ b/php/2024/flake.nix