Project

daiku

0.0
No commit activity in last 3 years
No release in over 3 years
Daiku, japanese for carpenter, helps you craft lightweight ruby applications
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 1.5
>= 0

Runtime

~> 0.18.0
 Project Readme

Daiku

Craft lightweight ruby applications

Japanese Carpentry

Installation

$ gem install daiku

Updating daiku

$ gem update daiku

Usage

To generate a basic app, run the new command, passing it the port your local server should listen to incoming requests on. The generated app is whole and complete, and ready to run.

$ daiku new myapp --port 5000
$ cd myapp
$ bundle install
$ bundle exec foreman start
$ open http://localhost:5000

Or as a oneliner:

daiku new myapp --port 5000 && cd myapp && bundle install && bundle exec foreman start

Then visit http://localhost:5000 in your browser.

Options

You can further customize the app that's generated by passing additional options. The built-in help system explains the available options.

$ daiku help new
Usage:
  daiku new APP -p, --port=N

Options:
  -p, --port=N               # Port this app should run on locally.
      [--ruby=RUBY]          # Specify the version of ruby this project should use.
                            # Default: 2.1.5
      [--node=NODE]          # Specify the version of node this project should use (for grunt, etc).
                            # Default: v0.10.33
  -a, [--assets=ASSETS]      # Choose the assets workflow this project uses.
                            # Possible values: grunt
  -e, [--errors=ERRORS]      # Choose the error reporting lib this project uses.
                            # Possible values: honeybadger
  -j, [--jobs=JOBS]          # Choose the background jobs lib this project uses.
                            # Possible values: sidekiq
  -m, [--models=MODELS]      # Choose the data modeling lib this project uses.
                            # Possible values: datamapper, sequel
  -M, [--monitors=MONITORS]  # Choose the monitoring lib this project uses.
                            # Possible values: newrelic
      [--vcr]                # Include `vcr` in this project's BDD stack?
      [--sql]                # SQL or No-SQL? If SQL, assumes postgresql
                            # Default: true
      [--version]

Generate a new application with daiku

Example

Consider the following example:

$ daiku new myapp --port 5000 --models datamapper --assets grunt --errors honeybadger --monitors newrelic --jobs sidekiq --vcr

This will generate the following app:

myapp
├── .bowerrc
├── .env
├── .gitignore
├── .grunt
│   ├── aliases.yaml
│   ├── coffee.coffee
│   ├── imagemin.coffee
│   ├── robotstxt.coffee
│   ├── sass.coffee
│   ├── slim.coffee
│   └── uglify.coffee
├── .node-version
├── .ruby-version
├── .slugignore
├── .travis.yml
├── Gemfile
├── Gruntfile.coffee
├── Procfile
├── README.md
├── Rakefile
├── app.rb
├── assets
│   ├── images
│   │   └── .gitkeep
│   ├── javascripts
│   │   └── app.coffee
│   ├── pages
│   │   └── .gitkeep
│   └── stylesheets
│       ├── .gitkeep
│       └── app.scss
├── bin
│   └── console
├── bower.json
├── config
│   ├── datamapper.rb
│   ├── pony.rb
│   ├── puma.rb
│   └── sidekiq.rb
├── config.ru
├── lib
│   ├── boot.rb
│   ├── core_ext
│   │   └── frame_options.rb
│   ├── errors
│   │   ├── .gitkeep
│   │   └── app.rb
│   ├── jobs
│   │   └── .gitkeep
│   ├── models
│   │   └── .gitkeep
│   ├── services
│   │   └── .gitkeep
│   ├── tasks
│   │   ├── .gitkeep
│   │   ├── datamapper.rake
│   │   └── db.rake
│   └── values
│       └── .gitkeep
├── package.json
├── public
│   ├── assets
│   │   └── .gitkeep
│   ├── favicon.ico
│   └── fonts
│       └── .gitkeep
├── spec
│   ├── _cassettes
│   │   └── .gitkeep
│   ├── app_spec.rb
│   ├── db_helper.rb
│   ├── models
│   │   └── .gitkeep
│   ├── services
│   │   └── .gitkeep
│   ├── spec_helper.rb
│   └── vcr_helper.rb
└── views
    ├── index.slim
    └── layout.slim