briskml / brisk

✨Cross-platform set of tools for building native UIs with Reason/OCaml
MIT License
551 stars 9 forks source link

Cli tooling #42

Open rauanmayemir opened 5 years ago

rauanmayemir commented 5 years ago

We need a tooling to be able to easily bootstrap brisk projects. The workflow I'm imagining is the following:

  1. We'll have a cli package in our monorepo which will be an executable we publish on npm.
  2. People will have it as npm -g install brisk-cli
  3. Instead of cloning a 'quickstart' repo, they'd be running something like:
brisk init --target macos,ios project
cd project
esy @macos // install and build macos target
esy @ios // install and build ios target
esy @macos run
wokalski commented 5 years ago

@rauanmayemir I would like to keep a pure esy workflow if possible. Like esy brisk-cli init --target macOS project-name

rauanmayemir commented 5 years ago

We actually had an implementation in old esy that allowed to do

esy init --template=create-brisk-project args

It hasn't yet been reimplemented in native esy. I might take a stab at dogfooding it.

I don't see how esy brisk-cli init could work as cli tooling will scaffold the app itself. The idea is that brisk will be a global executable similar to react-native. And besides, we might need some way to do introspections and execute more complex workflows because writing Makefiles won't cut it.

wokalski commented 5 years ago

That's terrible IMO. Global executable + different versions = trouble.