package oskel

  1. Overview
  2. Docs
Skeleton generator for OCaml projects

Install

Dune Dependency

Authors

Maintainers

Sources

oskel-0.3.0.tbz
sha256=e7d1abb7cb501334ca495757ef10744883f3773cac8ac67de54394ad5f6dc71b
sha512=228b11bd586b322f0306a08448ef800fc067e4e8979a812590c4bda50ea499d055fb0ecd429ad73caba599fdcd98da8d2ad1fb42253a3d1c6a3ea9737f213cdb

Description

Skeleton generator for OCaml projects

oskel is a tool for generating stubs of OCaml projects pre-equipped with the standard boilerplate: OCamlformat config file, Alcotest scaffolding, auto-generation of [*.opam] files via [dune-project] etc. It supports generating binaries with Cmdliner, Fmt and Logs support. The resulting projects are compliant with [dune-release lint].

Published: 06 May 2020

README

:skull: oskel: skeleton generator for OCaml projects

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"

Dev Dependencies (1)

  1. cmdliner with-test & < "1.1.0"

Used by

None

Conflicts

None