- Notifications
You must be signed in to change notification settings - Fork15
tmattio/spin
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Features •Installation •Templates •Usage •Roadmap •Contributing •License •Acknowledgements
🚀 Quickly start new projects that are ready for the real world.
❤️ Have a great developer experience when developing with OCaml.
🏄 Be as productive as Ruby-on-Rails or Elixir's Mix users.
🔌 Establish a convention for projects organizations to make it easy to get into new projects.
brew install tmattio/tap/spin
opam install spin
curl -fsSL https://github.com/tmattio/spin/raw/main/script/install.sh| bash
You can generate a new project using a template withspin new
. For instance:
spin new bin my_app
Will create a new binary application in the directory./my_app/
Anyone can create new Spin templates, but we provide official templates for a lot of use cases.
The official Spin templates templates are the following:
- bin - Native project containing a binary.
- cli - Command Line Interface releasable on Opam.
- lib - Library releasable on Opam.
- ppx - PPX library.
- c-bindings - Bindings to a C library.
- js - Js application with Js_of_ocaml.
If you'd like to add an official template, don't hesitate to open a PR!
You can find community Spin templates for various projects here:https://github.com/ocaml-templates
Here are some non-official Spin templates that you can use:
Although the focus of Spin is to offer a great project generator for the OCaml ecosystem, it can also be used to generate non-OCaml templates. Here are a few examples:
- spin-python-cli - Spin template for Python CLIs
For a detailed documentation of Spin's CLI, runspin --help
, or refer to theCLI documentation.
Create a new ReasonML/Ocaml project from a template.
PATH
defaults to the current working directory.
When--default
is passed, the user will not be prompted for configurations that have a default value.
When--ignore-config
is passed, the configuration file will be ignored and the user will be prompted for all the configurations.
List the official Spin templates.
Prompt the user for values that can be saved in the configuration file.
If a value is present in the configuration file, it will not be prompted when generating a new project.
See ourdevelopment board for a list of selected features and issues.
Here are some of the improvements we'll be working on as well in for next releases:
- Support windows
- Support CLI options/args for configurations
- Minimal
hello
template - Generators for
lib/bin/test
for all templates
We'd love your help improving Spin!
Take a look at ourContributing Guide to get started.
Distributed under the ISC License. SeeLICENSE for more information.
Thanks to everyone whocontributed to Spin!
Special thanks to@wesoudshoorn for creating Spin's logo.
About
OCaml project generator.