crystal

code generator for every language, framework and platform

Crystal 0.8.4

Crystal is an open source code generator that was created to solve fragmentation caused by unevenly distributed systems.

View Crystal's Full Documentation here:

https://crystal.readme.io

(1) Crystal unifies all technologies with a standardized input written in YAML, JSON, CSON and/or XML.

(2) Crystal generates code for:

  • Any application: APIs, Apps, Websites, Frontends, Backends + more
  • Any language: JavaScript, PHP, Ruby, Python, Swift, Java + more
  • Any framework: Express, Hapi, Laravel, Yii, Rails, Sinatra, Django + more
  • Any platform: Twitter, Facebook, Mailchimp, Pinterest, Google + more
  • Any runtime/server: Node.js, Apache, Nginx, HAPROXY + more
  • Any CMS: Wordpress, Drupal, Joomla, Plone, Keystone + more
  • Any datastore: MySQL, PostgreSQL, Redis, MongoDB, DynamoDB + more
  • Any file: README, LICENSE, AUTHORS, HOSTS + more
  • ...and any other software!!

(3) Crystal is made up of 8 elements that make code generation more flexible and powerful than ever before:

(4) Crystal is meant to be used on an ongoing basis - beyond project creation and scaffolding.

(5) Crystal has its own registry (the Crystal Hub) and package manager built-in which makes it easy to search, install and update modules.

(6) All of Crystal's elements can be modularized and published to the Crystal Hub for you or others to use.

(7) You can use multiple modules together such as a:

  • README generator for documentation
  • MIT generator for licensing
  • Composer generator for frontend dependencies
  • Bower generator for backend dependencies
  • Laravel generator for business logic
  • Ember generator for UI

(8) You can add/remove modules to/from a project at anytime.

(9) To prevent vendor lock-in and becoming dependent of Crystal, it's kept in its own directory: .crystal/. If you wish to no longer use Crystal, simply delete this directory and continue using the generated code (and making changes) without Crystal.

(10) Crystal makes language integration and/or migration easier.