Skip to content

craigfe/oskel

Repository files navigation

💀 oskel: skeleton generator for OCaml projects

OCaml-CI Build Status

asciicast

The standard project type is initialised with:

  • .opam file autogeneration via dune-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 for opam.

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 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.

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"

About

💀 Skeleton generator for OCaml projects.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages