[ANN] create-melange-app 1.0.0 - A CLI for quickly becoming productive with Melange

Hello y’all :wave:

I have been working on creating a scaffolding tool aimed at enabling JavaScript and TypeScript developers to quickly become familiar and productive with OCaml, ReasonML, and Melange. The developer experience, tooling, and project setup is opinionated and meant to be familiar and friendly for folks coming from that ecosystem.

So, without further ado, I’m excited to announce create-melange-app, 1.0.0!

Get started by simply running npm create melange-app@latest and completing the questions that the CLI will guide you through.

Project setup:


:sparkles:Your new Melange app :sparkles:

You can find the code/projected generated in this example here: GitHub - dmmulroy/create-melange-app-example: An example app created by create-melange-app

I’ve tried to take great care to provide as much helpful information for developers unfamiliar with our ecosystem as possible. You’ll find many of the scaffolded files commented with explanations, examples, and additional resources aimed at quickly becoming productive with OCaml, ReasonML, and Melange.

Looking forward :eyes:

I have a lot of ideas around making bindings easier and more pleasant to write for melange, along with some interesting and useful ways to integrate them into CMA.

But first…

We’re rewriting to native OCaml using MintTea! Currently create-melange-app is written using Melange and Ink, a library for rendering React components too the terminal.

When I started CMA, OCaml didn’t have a great TUI story for easily making experiences like this (plus I wanted an excuse to go deeper with Melange, and doesn’t a CLI written with OCaml and React sound ridiculous? :joy:)

I would love for CMA itself to be a great OSS project for beginners with OCaml to get involved with and learn with and I’m aiming to bring as many people along for that ride as I can :slight_smile:

You can follow my development of CMA on my twitch channel where I live stream OCaml content every M-F 7am - 10am ET

Thanks y’all! :camel: