package oskel
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=aaea2ff830518c17399f40df4d1d7c1d4c08867ea0506e41b78acdfea655f5cb
sha512=61edf40c42d2fa8e33554848bab1eaf951064050b14a2768d5e83d1adbb79e23021b4310a51e9553b5ae875f86729c5d7fd0aca03a97cab7b0164b30006b00c1
README.md.html
:skull: oskel: skeleton generator for OCaml projects
> 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.opam
The standard project type is initialised with:
.opam
file autogeneration viadune-project
;OCamlformat config file;
Alcotest testing boilerplate, with pre-configured Logs initialisation.
Git repository with an initial commit;
OCaml
.gitignore
;README.md
with installation instructions foropam
.
Choice of project layouts
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 inbin/
, making use of a tested library inlib/
.
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.
Installation
opam install oskel
If you want to contribute to the project, please read CONTRIBUTING.md.
Configuration
oskel
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"