OpenSep 1, 2026
No due date
•Last updated This tracks the high-level meta-issues that we know to be needed to complete the milestone.
Aim
We are aiming to achieve stable and non-experimental support for package management in dune.
We take non-experimental to mean:
- That
dune pkgcan be used reliably by OCaml users for developing most OCaml software projects. - That users do not need to make recourse to
opamor other package management systems, unless the workflows requiring workarounds are identified and documented. (But they still can!)
Developing OCaml software projects includes more that just building projects and installing their dependencies. It also includes, at least:
- being able to install (nearly) any opam package (e.g., even if the source uses symlinks)
- being able to install any desired OCaml developer tools
- being able to query packages available for installation
- being able to install software from the ecosystem used for development
- launching repls
- interoperating easily with common IDEs (VSCode, Vim, & Emacs)
- running tests
- generating documentation
When we determine that this milestone is achieved we will record this outcome by removing the "experimental" warnings on the online and CLI documentation for dune pkg and dune tools, and we will then begin encouraging working OCaml developers to use dune pkg in their day to day work.
Limitations
- This stage of the tools should be stable in the sense that it works reliably, and supports the essential, day-to-day activities of individual developers and small software teams.
- However, we don't need to solve every problem or provide all the planned features. For example:
- We don't need to provide flashy terminal output: while nice terminal UX is a nice to have and will be supplied eventually, that is completely inessential for a working alternative to opam.
- Support for Windows is very important but we can achieve stability on Linux and MacOS first, and then take on Windows support as our next priority
91% complete
Issues
- 2
- 5