> oskel --synopsis "My very own OCaml skeleton" my_project
Creating new project:
my_project
|-- .git
|-- src
| |-- dune
| |-- my_project.ml
| `-- my_project.mli
|
|-- test
| |-- dune
| |-- main.ml
| `-- main.mli
|
|-- .gitignore
|-- .ocamlformat
|-- LICENSE
|-- README.md
|-- dune-project
`-- my_project.opamThe standard project type is initialised with:
.opam file autogeneration via dune-project;.gitignore;README.md with installation instructions for opam.There are multiple project structures, which can be selected via the --kind flag:
library (default): library-only package;executable: a single binary with minimal configuration;binary: package providing a Cmdliner binary in bin/, making use of a tested library in lib/.Examples of each layout can be seen in the examples/ directory. You can also use e.g. oskel --dry-run --kind executable to see a preview of the project structure.
opam pin add --yes https://github.com/CraigFe/oskel.git
opam install oskeloskel is very configurable (see oskel --help for details). Most options can be set via environment variables. In particular, you can set your personal metadata in your shell .profile:
export OSKEL_FULL_NAME="Joe Bloggs"
export OSKEL_EMAIL="joe@example.com"
export OSKEL_GITHUB_ORG="JoeBlo"