A flexible framework for maintainable Ruby apps.
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::Router - Rack compatible HTTP router for Ruby
- Hanami::Controller - Full featured, fast and testable actions for Rack
- Hanami::View - Presentation with a separation between views and templates
- Hanami::DB - Database integration, complete with migrations, repositories, relations, and structs
- Hanami::Assets - Assets management for Ruby
These components are designed to be used independently or together in a Hanami application.
Hanami supports Ruby (MRI) 3.1+.
gem install hanami
hanami new bookshelf
cd bookshelf && bundle
bundle exec hanami dev
# Now visit http://localhost:2300
Please follow along with the Getting Started guide.
You can give back to Open Source, by supporting Hanami development via GitHub Sponsors.
We care about building a friendly, inclusive and helpful community. We welcome people of all backgrounds, genders and experience levels, and respect you all equally.
We do not tolerate nazis, transphobes, racists, or any kind of bigotry. See our code of conduct for more.
- 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
In addition to contributing code, you can help to triage issues. This can include reproducing bug reports, or asking for vital information such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to subscribe to hanami on CodeTriage.
To run all test suite:
$ bundle exec rake
To run all the unit tests:
$ bundle exec rspec spec/unit
To run all the integration tests:
$ bundle exec rspec spec/integration
To run a single test:
$ bundle exec rspec path/to/spec.rb
- Ruby >= 3.1
- Bundler
- Node.js
Hanami uses Semantic Versioning 2.0.0.
Copyright © 2014–2024 Hanami Team – Released under MIT License.