A UI development environment for Ruby on Rails applications.

Documentation  |  Demo site

Gem version CI status


Lookbook combines a powerful component browser and preview system with an integrated documentation engine to help teams build robust, modular, maintainable user interfaces.

It's compatible with ViewComponent, Phlex, ActionView partials and more.

Read the docs →

Lookbook UI

Development

Lookbook is implemented as an isolated Rails Engine and uses ViewComponent, Tailwind and Alpine for its UI.

This repository contains:

Documentation site

The Lookbook docs site is built using Bridgetown and the source files can be found in the ./docs directory.

To preview changes locally you can run a development version of the docs site:

  1. Clone this repo
  2. Install dependencies: bundle install
  3. Start the app: bin/docs
  4. Visit http://localhost:4000

Testing

Lookbook uses RSpec for testing.

Tests can be run using the rake spec or bundle exec rspec commands.

The dummy app that the tests are being run against can be viewed by running the bin/dummy command and then browsing to http://localhost:9292/lookbook

Releases

Lookbook uses Release It! to automate the release process.

Running npm run release will start the process of publishing a new release and walks though all the steps from picking a version number to publishing the updated gem.

Publishing a release requires write permissions for this repository (lookbook-hq/lookbook) and 2FA publish permissions for Lookbook on RubyGems.

Contributing

Lookbook is an un-funded open source project and contributions of all types and sizes are most welcome!

Please take the time to read over the Contributing guide before making your first contribution and if anything isn't clear then start a discussion and we will do our best to help you out.

Contributors

Lookbook was created by Mark Perkins and continues to grow & improve thanks to the ideas, suggestions and hard work of all of these excellent humans:

License

The gem is available as open source under the terms of the MIT License.