The web, with simplicity.
Hanami is a full-stack Ruby web framework. It's made up of smaller, single-purpose libraries.
This repository is for the full-stack framework, which provides the glue that ties all the parts together:
- Hanami::Model - Persistence with entities, repositories and data mapper
- Hanami::View - Presentation with a separation between views and templates
- Hanami::Controller - Full featured, fast and testable actions for Rack
- Hanami::Validations - Validations mixin for Ruby objects
- Hanami::Router - Rack compatible HTTP router for Ruby
- Hanami::Helpers - View helpers for Ruby applications
- Hanami::Mailer - Mail for Ruby applications
- Hanami::Assets - Assets management for Ruby
- Hanami::CLI - Ruby command line interface
- Hanami::Utils - Ruby core extensions and class utilities
These components are designed to be used independently or together in a Hanami application.
Hanami supports Ruby (MRI) 2.3+
gem install hanami
hanami new bookshelf cd bookshelf && bundle bundle exec hanami server # visit http://localhost:2300
Please follow along with the Getting Started guide.
You can give back to Open Source, by supporting Hanami development via a donation. :green_heart:
- Home page: http://hanamirb.org
- Community: http://hanamirb.org/community
- Guides: http://hanamirb.org/guides
- Mailing List: http://hanamirb.org/mailing-list
- API Doc: http://rdoc.info/gems/hanami
- Bugs/Issues: https://github.com/hanami/hanami/issues
- Stack Overflow: http://stackoverflow.com/questions/tagged/hanami
- Forum: https://discourse.hanamirb.org
- Chat: http://chat.hanamirb.org
We strive for an inclusive and helpful community. We have a Code of Conduct to handle controversial cases. In general, we expect you to be nice with other people. Our hope is for a great software and a great Community.
- Fork it ( https://github.com/hanami/hanami/fork )
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create a new Pull Request
How To Use Hanami HEAD
If you want to test Hanami's HEAD to try a new feature or to test a bug fix, here's how to do:
git clone https://github.com/hanami/hanami.git cd hanami && bundle bundle exec hanami new --hanami-head=true bookshelf cd bookshelf vim Gemfile # edit with: gem 'hanami', path: '..' bundle
- Ruby 2.3+ / JRuby 18.104.22.168+
- Node.js (MacOS)
In order to simulate installed gems on developers' computers, the build installs
all the gems locally in
hanami code from
Before running a test, please make sure you have a fresh version of the code:
./script/setup bundle exec rspec spec/path/to/file_spec.rb
To run all the tests, please use:
Hanami uses Semantic Versioning 2.0.0
Released under MIT License.
This project was formerly known as Lotus (
Copyright © 2014-2017 Luca Guidi.