Skip to content

OCaml project situation tools: wander freely to find fertile ground

Notifications You must be signed in to change notification settings

shonfeder/nomad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nomad: Portable Habitations in OCaml’s Dunes

A tiny, minimally-functional project management tool for OCaml.

NOTE: nomad is not published on opam and afaik I’m the only user, so it is likely to be a bit brittle. Contributions to improve and harden the tool would be welcome.

Goal

nomad’s goal is to automate repetitive aspects of managing OCaml projects by coordinating the dune and opam.

Ethos and comparison

nomad differs from drom and spin in its narrow focus and minimal ethos. I.e.:

  • Just automate the most repetitive flows, but still expect users to use opam and dune.
  • Don’t generate boilerplate and templates.
  • Don’t introduce a bunch of complex features.
  • sexp is perfect: don’t introduce new abstraction layers in the configuration format of the week.

Install

Assuming you have installed opam and dune:

opam pin git@github.com:shonfeder/nomad.git

Usage

Create a new project to build a binary

If you project’s name is dingus

nomad new dingus

And a scaffold for building the dingus executable will be created in the directory ./dingus.

Create a new project to build a library

If you project’s name is dingus

nomad new --lib dingus

And a scaffold for building the dingus library will be created in the directory ./dingus.

Add a dependency to your project

Suppose we’re building a GUI with bogue. We can add the dependency with:

nomad add bogue

Then we can sync all the dependencies of a project

From the project root

nomad sync

And the dependencies declared in your project’s dune-project will be synced using opam.

Examples

For more examples of usage, see test/README.org.

Plans and ideas

See project.org.

About

OCaml project situation tools: wander freely to find fertile ground

Resources

Stars

Watchers

Forks

Packages

No packages published