autocode
Version:
spec-driven code generator
715 lines (706 loc) • 25.8 kB
YAML
name: Autocode
version: 1.3.1
description: spec-driven code generator
repository: https://github.com/ctate/autocode
author:
name: Chris Tate
email: chris@autocode.run
url: 'https://autocode.run'
company: Autocode
license: Apache-2.0
copyright: Copyright © 2015-2016 Autocode. All Rights Reserved.
imports:
ctate/authors: ~0.3.7
ctate/bower: ~0.5.2
ctate/git: ~0.2.3
ctate/grunt: ~0.3.2
ctate/handlebars: ~0.4.4
ctate/license: ~0.5.2
ctate/npm: ~0.4.3
ctate/readme: ~0.5.4
ctate/travis: ~0.4.1
exports:
ConfigSchema:
schema:
type: object
properties:
author:
type: object
properties:
name:
title: Name
type: string
email:
title: Email
type: string
url:
title: URL
type: string
copyright:
title: Copyright
type: string
description:
description: This project's description.
title: Description
type: string
exports:
type: object
additionalProperties:
type: object
properties:
description:
type: string
engine:
type: string
example:
type: string
helper:
type:
- string
- object
additionalProperties:
type: string
processor:
type: string
generator:
type: string
schema:
type:
- object
- string
spec:
type:
- array
- object
- string
type:
required: true
type: string
imports:
type: object
additionalProperties:
type:
- string
- object
properties:
aliases:
type: object
additionalProperties:
type: string
version:
type: string
name:
description: This project's name.
title: Name
type: string
version:
description: This project's version.
title: Version
type:
- number
- string
type: schema
VersionGenerator:
engine: handlebars.HandlebarsEngine
filename: version.txt
schema:
type: object
properties:
version:
required: true
type: string
template: version.hbs
type: generator
outputs:
- generator: bower.ConfigGenerator
spec:
directory: app/lib/components
- generator: bower.PackageGenerator
spec:
name: autocode
description: $description
main: lib/autocode.js
dependencies:
CodeMirror: 5.7.0
dragula: 3.5.4
formulator: 0.10.1
google-diff-match-patch-js: 1.0.0
jquery: 2.1.4
jquery-cookie: 1.4.1
jquery-ui: 1.11.4
jstree: 3.2.1
js-yaml: 3.4.2
marked: 0.3.5
zeroclipboard: 2.2.0
- generator: git.GitignoreGenerator
spec:
items:
- .DS_Store
- app/lib/components/
- app/lib/scripts
- node_modules/
- generator: grunt.GruntfileGenerator
spec:
loadNpmTasks:
- grunt-contrib-concat
- grunt-contrib-watch
registerTask:
default:
- concat
config:
pkg: package.json
concat:
options:
separator: ;
dist:
src:
- app/src/scripts/autocode.js
- app/src/scripts/autocode/*.js
- app/src/scripts/*/**
dest: app/lib/scripts/autocode.js
watch:
files:
- app/src/scripts/autocode.js
- app/src/scripts/*/**
tasks:
- concat
- generator: license.LicenseGenerator
spec:
copyright: $copyright
license: $license
- generator: npm.PackageGenerator
spec: npm.yml
- generator: readme.ReadmeGenerator
spec:
name: $name
description: $description
badges:
- type: travis
subject: ctate/autocode
- type: gitter
subject: ctate/autocode
#logo:
# image: https://rawgit.com/crystal/autocode/master/.autocode/image.svg
# text: $name
# url: https://autocode.run
showTableOfContents: true
sections:
- name: install
title: Install
content: |
Use `npm` to install Autocode:
```sh
npm install autocode -g
```
- name: projects
title: Generators
content: |
<table width="100%">
<tr>
<td>
<a href="https://github.com/ctate/angular">
<img width="50" src="https://rawgit.com/ctate/angular/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/angular">ctate/angular</a></b></div>
Generates an Angular app
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/asciinema">
<img width="50" src="https://rawgit.com/ctate/asciinema/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/asciinema">ctate/asciinema</a></b></div>
Generates an Asciicast
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/backbone">
<img width="50" src="https://rawgit.com/ctate/backbone/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/backbone">ctate/backbone</a></b></div>
Generates a Backbone app
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/bower">
<img width="50" src="https://rawgit.com/ctate/bower/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/bower">ctate/bower</a></b></div>
Generates Bower config and package files
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/cocoapods">
<img width="50" src="https://rawgit.com/ctate/cocoapods/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/cocoapods">ctate/cocoapods</a></b></div>
Generates a Podfile
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/coffeescript">
<img width="50" src="https://rawgit.com/ctate/coffeescript/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/coffeescript">ctate/coffeescript</a></b></div>
Transforms CoffeeScript into JavaScript
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/composer">
<img width="50" src="https://rawgit.com/ctate/composer/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/composer">ctate/composer</a></b></div>
Generates a Composer package file
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/cordova">
<img width="50" src="https://rawgit.com/ctate/cordova/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/cordova">ctate/cordova</a></b></div>
Generates a Cordova app
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/django">
<img width="50" src="https://rawgit.com/ctate/django/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/django">ctate/django</a></b></div>
Generates a Django app
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/docker">
<img width="50" src="https://rawgit.com/ctate/docker/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/docker">ctate/docker</a></b></div>
Generates a Dockerfile
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/editorconfig">
<img width="50" src="https://rawgit.com/ctate/editorconfig/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/editorconfig">ctate/editorconfig</a></b></div>
Generates an .editorconfig file
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/electron">
<img width="50" src="https://rawgit.com/ctate/electron/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/electron">ctate/electron</a></b></div>
Generates an Electron app
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/eslint">
<img width="50" src="https://rawgit.com/ctate/eslint/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/eslint">ctate/eslint</a></b></div>
Generates an .eslintrc file
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/express">
<img width="50" src="https://rawgit.com/ctate/express/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/express">ctate/express</a></b></div>
Generates an Express app
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/feathers">
<img width="50" src="https://rawgit.com/ctate/feathers/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/feathers">ctate/feathers</a></b></div>
Generates a Feathers app
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/git">
<img width="50" src="https://rawgit.com/ctate/git/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/git">ctate/git</a></b></div>
Generates `.gitignore` and `.gitkeep` files
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/google-analytics">
<img width="50" src="https://rawgit.com/ctate/google-analytics/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/google-analytics">ctate/google-analytics</a></b></div>
Generates tracking code for Google Analytics
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/grunt">
<img width="50" src="https://rawgit.com/ctate/grunt/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/grunt">ctate/grunt</a></b></div>
Generates a Gruntfile
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/handlebars">
<img width="50" src="https://rawgit.com/ctate/handlebars/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/handlebars">ctate/handlebars</a></b></div>
Renders Handlebars templates for generators
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/hosts">
<img width="50" src="https://rawgit.com/ctate/hosts/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/hosts">ctate/hosts</a></b></div>
Generates a HOSTS file
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/httpd">
<img width="50" src="https://rawgit.com/ctate/httpd/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/httpd">ctate/httpd</a></b></div>
Generates a `apache.conf` file
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/ini">
<img width="50" src="https://rawgit.com/ctate/ini/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/ini">ctate/ini</a></b></div>
Renders INI files for generators
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/jade">
<img width="50" src="https://rawgit.com/ctate/jade/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/jade">ctate/jade</a></b></div>
Renders Jade templates for generators
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/javascript">
<img width="50" src="https://rawgit.com/ctate/javascript/master/.autocode/icon.svg" />
<a/>
</td>
<td>
<div><b><a href="https://github.com/ctate/javascript">ctate/javascript</a></b></div>
Transforms JavaScript into beautiful JavaScript
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/jshint">
<img width="50" src="https://rawgit.com/ctate/jshint/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/jshint">ctate/jshint</a></b></div>
Generates a `.jshintrc` file
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/json">
<img width="50" src="https://rawgit.com/ctate/json/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/json">ctate/json</a></b></div>
Renders JSON files for generators
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/laravel">
<img width="50" src="https://rawgit.com/ctate/laravel/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/laravel">ctate/laravel</a></b></div>
Generates a Laravel app
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/license">
<img width="50" src="https://rawgit.com/ctate/license/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/license">ctate/license</a></b></div>
Generates a LICENSE file
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/martini">
<img width="50" src="https://rawgit.com/ctate/martini/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/martini">ctate/martini</a></b></div>
Generates a Martini app
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/model">
<img width="50" src="https://rawgit.com/ctate/model/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/model">ctate/model</a></b></div>
Model Schema
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/npm">
<img width="50" src="https://rawgit.com/ctate/npm/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/npm">ctate/npm</a></b></div>
Generates `package.json` and `.npmignore` files
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/php">
<img width="50" src="https://rawgit.com/ctate/php/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/php">ctate/php</a></b></div>
Generates `php.ini` files
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/pip">
<img width="50" src="https://rawgit.com/ctate/pip/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/pip">ctate/pip</a></b></div>
Generates `requirements.txt` files
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/rails">
<img width="50" src="https://rawgit.com/ctate/rails/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/rails">ctate/rails</a></b></div>
Generates a Rails app
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/raml">
<img width="50" src="https://rawgit.com/ctate/raml/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/raml">ctate/raml</a></b></div>
Schemas for RAML
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/redis">
<img width="50" src="https://rawgit.com/ctate/redis/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/redis">ctate/redis</a></b></div>
Generates a `redis.conf` file
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/rubygems">
<img width="50" src="https://rawgit.com/ctate/rubygems/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/rubygems">ctate/rubygems</a></b></div>
Generates a `Gemfile`
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/sequelize">
<img width="50" src="https://rawgit.com/ctate/sequelize/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/sequelize">ctate/sequelize</a></b></div>
Generates models for Sequelize
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/swagger">
<img width="50" src="https://rawgit.com/ctate/swagger/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/swagger">ctate/swagger</a></b></div>
Schemas for Swagger
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/travis">
<img width="50" src="https://rawgit.com/ctate/travis/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/travis">ctate/travis</a></b></div>
Generates a `.travis.yml` file
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/vagrant">
<img width="50" src="https://rawgit.com/ctate/vagrant/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/vagrant">ctate/vagrant</a></b></div>
Generates a `Vagrantfile`
</div>
</tr>
<tr>
<td>
<a href="https://github.com/ctate/watchman">
<img width="50" src="https://rawgit.com/ctate/watchman/master/.autocode/icon.svg" />
</a>
</td>
<td>
<div><b><a href="https://github.com/ctate/watchman">ctate/watchman</a></b></div>
Generates a `.watchmanconfig` file
</div>
</tr>
</table>
- name: docs
title: Documentation
content: |
View Autocode's Official Documentation here:
[https://autocode.readme.io](https://autocode.readme.io)
- generator: travis.ConfigGenerator
spec:
language: node_js
node_js:
- '0.12'
- generator: VersionGenerator
path: cli
spec:
version: $version
scripts:
build:
- description: Install Node.js via nvm.
command: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
- description: Install Bower via npm.
command: npm install bower -g
- description: Install CoffeeScript via npm.
command: npm install coffee-script -g
- description: Install Forever via npm.
command: npm install forever -g
- description: Install Grunt CLI via npm.
command: npm install grunt-cli -g
- description: Install npm Modules.
command: npm install
- description: Install bower Modules.
command: bower install
- description: Compile Library.
command: coffee --compile --output lib/ src/
- description: Compile CLI Library.
command: coffee --compile --output cli/lib/ cli/src/
- description: Run Grunt.
command: grunt
run:
- description: Run web server for Autocode app.
command: forever start -a --uid autocode-app app/app.js
stop:
- description: Stop web server for Autocode app.
command: forever stop autocode-app
test:
- description: Test Autocode.
command: npm test