Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. OCaml
  3. drom

drom

NOASSERTIONOCamlv0.9.3

A wrapper over opam/dune providing a cargo-like experience for creating and managing OCaml projects with integrated documentation and CI.

Visit WebsiteGitHubGitHub
201 stars23 forks0 contributors

What is drom?

drom is a command-line tool that wraps opam and dune to provide a cargo-like user experience for OCaml developers. It automates the creation of full OCaml projects, including documentation with sphinx and odoc, and generates configuration files for GitHub Actions CI and GitHub Pages. It solves the problem of manual project setup and configuration in the OCaml ecosystem.

Target Audience

OCaml developers and teams looking for a streamlined, opinionated tool to bootstrap and manage OCaml projects with minimal boilerplate and integrated CI/CD workflows.

Value Proposition

Developers choose drom because it brings the convenience and productivity of Rust's cargo to OCaml, automating repetitive setup tasks, ensuring best practices for documentation and CI, and providing a unified configuration interface.

Overview

drom is a wrapper over opam/dune in an attempt to provide a cargo-like user experience. It can be used to create full OCaml projects with sphinx and odoc documentation. It has specific knowledge of Github and will generate files for Github Actions CI and Github pages.

Use Cases

Best For

  • Quickly bootstrapping new OCaml applications or libraries
  • Setting up standardized project structures with documentation
  • Automating GitHub Actions workflows for OCaml projects
  • Managing multi-package OCaml projects with consistent configuration
  • Generating ready-to-deploy documentation sites on GitHub Pages
  • Simplifying the onboarding process for new OCaml developers

Not Ideal For

  • Projects hosted on GitLab or other version control systems not using GitHub Actions
  • Teams that require fine-grained, manual control over opam and dune configurations without abstraction layers
  • Existing OCaml projects with established build systems that would require significant refactoring to adopt drom

Pros & Cons

Pros

Streamlined Project Creation

Generates complete OCaml project skeletons like mini_prg, program, and library with all necessary files, as shown in the README's example output, reducing boilerplate setup time.

Integrated Documentation Setup

Automatically configures sphinx and odoc documentation systems, ensuring projects have comprehensive docs from the start without manual tooling.

GitHub Workflow Automation

Creates ready-to-use GitHub Actions CI and GitHub Pages configuration files, simplifying deployment and continuous integration for OCaml projects on GitHub.

Unified Configuration Management

Uses editable TOML files (drom.toml and package.toml) for project and package settings, making customization straightforward and centralized.

Cons

Ecosystem Lock-in

Heavily tailored for GitHub, making it less adaptable for projects using other CI/CD platforms or version control systems like GitLab, as admitted in its focus on GitHub-specific features.

Abstraction Overhead

As a wrapper over opam and dune, it adds an extra layer that can obscure low-level details and debugging, potentially complicating issues for advanced users.

Limited Skeleton Flexibility

Pre-defined skeletons may not suit all project structures, forcing manual modifications for complex or non-standard setups, which can negate the automation benefits.

Frequently Asked Questions

Quick Stats

Stars201
Forks23
Contributors0
Open Issues50
Last commit6 months ago
CreatedSince 2020

Tags

#dune#continuous-integration#documentation#package-management#opam#project-scaffolding#ocaml#build-tool#github-actions

Built With

O
OCaml

Links & Resources

Website

Included in

OCaml3.1k
Auto-fetched 1 day ago

Related Projects

spinspin

OCaml project generator.

Stars301
Forks15
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub