summaryrefslogtreecommitdiff
path: root/ocaml/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'ocaml/README.md')
-rw-r--r--ocaml/README.md54
1 files changed, 54 insertions, 0 deletions
diff --git a/ocaml/README.md b/ocaml/README.md
new file mode 100644
index 0000000..772c76b
--- /dev/null
+++ b/ocaml/README.md
@@ -0,0 +1,54 @@
+# OCaml Template
+
+This is a template for OCaml projects.
+
+## Quick Start
+
+1. Fork this repository
+2. Rename the repository to your project name
+3. Replace all instances of `advent_of_code` with your project name, both in files and filenames themselves.
+
+## Project Structure
+
+```txt
+.
+├── _build # build outputs
+├── bin # program entry points
+├── docs # documentation
+├── lib # public modules
+├── test # tests
+├── .editorconfig
+├── .envrc
+├── .gitignore
+├── .ocamlformat # ocamlformat configuration
+├── CODEOWNERS
+├── CONTRIBUTING.md
+├── LICENSE
+├── README.md
+├── Taskfile.yml # task runner configuration similar to make
+├── dune-project # dune project configuration
+├── flake.lock
+├── flake.nix # nix flake configuration
+├── advent_of_code.install # autogenerated install script
+└── advent_of_code.opam # autogenerated project description
+```
+
+## Tools
+
+- [task](https://taskfile.dev/)
+- [dune](https://dune.build/)
+- [opam](https://opam.ocaml.org/)
+- [ocamlformat](https://ocaml.org/p/ocamlformat/latest/doc/index.html)
+- [odoc](https://ocaml.github.io/odoc/odoc/index.html)
+- [alchotest](https://github.com/mirage/alcotest)
+- [bisect_ppx](https://github.com/aantron/bisect_ppx)
+- [ocaml-lsp](https://github.com/ocaml/ocaml-lsp)
+- [earlybird](https://github.com/ocaml-lsp/earlybird)
+- [findlib](https://github.com/ocaml/ocamlfind)
+- [re2](https://github.com/janestreet/re2)
+- [fmt](https://erratique.ch/software/fmt)
+- [cmdliner](https://erratique.ch/software/cmdliner)
+
+## License
+
+This project is licensed under the [Unlicense](https://unlicense.org/).