All Projects → tmattio → Spin

tmattio / Spin

Licence: mit
Reason and OCaml project generator.

Programming Languages

ocaml
1615 projects
reason
219 projects

Labels

Projects that are alternatives of or similar to Spin

Latex Ppt Template
Seven awesome latex ppt templates for researchers or students.
Stars: ✭ 229 (-6.53%)
Mutual labels:  template
Templates
.NET project templates with batteries included, providing the minimum amount of code required to get you going faster.
Stars: ✭ 2,864 (+1068.98%)
Mutual labels:  template
Sodajs
Light weight but powerful template engine for JavaScript
Stars: ✭ 240 (-2.04%)
Mutual labels:  template
React Firebase Admin
React ⚛️ starter kit with Firebase 🔥 and Bulma for setting up an admin dashboard - Highly scalable, PWA, Serverless
Stars: ✭ 232 (-5.31%)
Mutual labels:  template
Scaffdog
🐶 scaffdog is Markdown driven scaffolding tool.
Stars: ✭ 237 (-3.27%)
Mutual labels:  template
Extension Create
Create modern cross-browser extensions with no build configuration.
Stars: ✭ 167 (-31.84%)
Mutual labels:  template
React Landing Page Template
A simple react one page landing page templates for startups/companies
Stars: ✭ 224 (-8.57%)
Mutual labels:  template
Shinymobile
shiny API for Framework7 (IOS/android)
Stars: ✭ 243 (-0.82%)
Mutual labels:  template
Dot Github
.github directory generator
Stars: ✭ 237 (-3.27%)
Mutual labels:  template
Typescript Starter
Quickly create and configure a new library or Node.js project
Stars: ✭ 2,953 (+1105.31%)
Mutual labels:  template
Projectmaker
A Sublime Text 2/3 plugin to allow creating any kind of project from your own custom templates
Stars: ✭ 233 (-4.9%)
Mutual labels:  template
Github Issue Templates
🔣 A collection of GitHub issue and pull request templates
Stars: ✭ 3,074 (+1154.69%)
Mutual labels:  template
Vben Admin Thin Next
vue-vben-admin-2.0 mini template.vue3,vite,typescript
Stars: ✭ 232 (-5.31%)
Mutual labels:  template
Electron React Webpack
Electron + React 16 + Webpack 4 template with ES6, JSX and hot reloading.
Stars: ✭ 231 (-5.71%)
Mutual labels:  template
Whu Thesis
📝 武汉大学毕业论文 LaTeX 模版 2021
Stars: ✭ 232 (-5.31%)
Mutual labels:  template
Laravel Database Mail Templates
Render Laravel mailables based on a mail template stored in the database
Stars: ✭ 226 (-7.76%)
Mutual labels:  template
Generate
A new command line tool and developer framework for scaffolding out GitHub projects. Generate offers the robustness and configurability of Yeoman, the expressiveness and simplicity of Slush, and more powerful flow control and composability than either.
Stars: ✭ 238 (-2.86%)
Mutual labels:  template
Gamajo Template Loader
A class to copy into your WordPress plugin, to allow loading template parts with fallback through the child theme > parent theme > plugin.
Stars: ✭ 243 (-0.82%)
Mutual labels:  template
Moko Template
Template project of a Mobile (Android & iOS) Kotlin MultiPlatform project with the MOKO libraries and modularized architecture
Stars: ✭ 240 (-2.04%)
Mutual labels:  template
Wemake Python Package
Bleeding edge cookiecutter template to create new python packages
Stars: ✭ 235 (-4.08%)
Mutual labels:  template

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/script/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.

Official templates

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 with prebuilt binaries for native and bucklescript.
  • 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!

Other Reason/OCaml templates

Here are some non-official Spin templates that you can use:

Other non-OCaml templates

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:

Usage

For a detailed documentation of Spin's CLI, run spin --help, or refer to the CLI documentation.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].