Skip to content

Latest commit

 

History

History
39 lines (36 loc) · 1.48 KB

project.org

File metadata and controls

39 lines (36 loc) · 1.48 KB

Principles

Do not encourage boilerplate!

We do not want a boilerplate generator. We just want a simple tool for tying together some other tools and automating some simple configs.

Do not privilege walled gardens

Newer tools tend to focused on supporting the GitHub walled garden. We will not bow to this complacency to monopolization.

Tasks

User templates

Users can provide templates at the command line or via a config.

Emacs integration?

Add dependency

Install pin-depends

PPX to convert ocaml to dune expressions?

Separate out project initialization from dependency installation

Find the project root to work from as default location *)

~/Sync/oss/nomad/lib/add.ml::27

Extend add subcommand to support adding dependencies

  • [x] extend add subcommand
  • [x] add the dependency to the dune-project

Generate a project config

Generate ocamlformat config

Auto install packages from dune configs

User config

Specifies common preferences

  • which base library to use
  • which testing tools to use
  • etc.

Subcommands

[X] new
Create new projects, with options
[X] --lib
Create a library
[X] --bin
Create an executable
[X] add
Add a new part to an existing project, with options
  • [X] --ocamlformat= add a new ocamlformat file
  • [X] --dune-project= add a new dune-project file
  • [X] --gitignore= add a .gitignore file