package spin

  1. Overview
  2. Docs
A project generator for Reason and OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

spin-0.6.0.tbz
sha256=2fea29779b8751651e101064affbfc482c62c68fc6672f28a314ae60f30c75c2
sha512=df00a63f6f12fe8ebd1626356741256f00c2c51878f227bca4243c83ff8dbbe1734fe7ce70d22ecb134968795e166ea5770fc038551f48fb6d510e52c3234c2e

Description

A project generator for Reason and OCaml

Published: 19 May 2020

README

README.md

Logo

Reason and OCaml project generator.

Build Status npm version

FeaturesInstallationTemplatesUsageRoadmapContributingLicenseAcknowledgements

Demo

Features

🚀 Quickly start new projects that are ready for the real world.

❤️ Have a great developer experience when developing with Reason/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.

Installation

Using Homebrew (macOS)

brew install tmattio/tap/spin

Using Opam

opam install spin

Using npm

yarn global add @tmattio/spin
# Or
npm -g install @tmattio/spin

Using a script

curl -fsSL https://github.com/tmattio/spin/raw/master/scripts/install.sh | bash

Templates

You can generate a new project using a template with spin 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 templates for each type of applications are listed below.

Templates for native applications

  • bin - Native project containing a binary.

  • cli - Command Line Interface releasable on Opam.

  • lib - Library releasable on Opam.

  • ppx - PPX library with prebuilt binaries for native and bucklescript.

Templates for Bucklescript applications

  • bs-react - React application in Reason.

Usage

For a detailed documentation of Spin's CLI, run spin --help, or refer to the [CLI documentation](https://github.com/tmattio/spin/tree/master/doc/cli.md].

spin new TEMPLATE [PATH] [--default] [--ignore-config]

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.

spin ls

List the official Spin templates.

spin gen

List the generators available for the current project.

spin gen GENERATOR

Generate a new component in the current project.

spin config

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.

Roadmap

See our development board for a list of selected features and issues.

Contributing

We'd love your help improving Spin!

Take a look at our Contributing Guide to get started.

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgements

Thanks to everyone who contributed to Spin!

Special thanks to @wesoudshoorn for creating Spin's logo.

Dependencies (14)

  1. inquire >= "0.2.0" & < "0.3.0"
  2. reason >= "3.6.0" & < "3.7.0"
  3. jingoo >= "1.3.0"
  4. lwt >= "5.3.0"
  5. sexplib >= "v0.13"
  6. logs
  7. cmdliner
  8. fpath
  9. fmt >= "0.8.7"
  10. stdio >= "v0.13"
  11. base >= "v0.13"
  12. crunch build
  13. dune >= "2.4"
  14. ocaml >= "4.08.0"

Dev Dependencies (3)

  1. odoc with-doc
  2. alcotest with-test & < "1.2.0"
  3. mdx with-test

Used by

None

Conflicts

None