Use this as a starter for your new Rails application. To use, just clone or copy this repository and
run the rake template:reset
to reset the application to a new state for you.
ruby | 3.2.2 |
---|---|
rails | rails/rails, branch: main |
Database | postgres, pg |
Server | puma 6 |
Javascript Bundling | importmap-rails |
CSS | tailwindcss-rails |
JSON | oj |
Environment Variables | dotenv-rails |
Testing | rspec-rails |
Factories/Fixtures | factory_bot_rails |
Debugger | pry-rails |
Errors | better_errors |
LiveReload | rails_live_reload |
HTML Linter | htmlbeautifier |
ERB Linter | erb_lint |
Ruby Linter | standardrb, rubocop-rails |
RSpec Linter | rubocop-rspec |
Profiler | rack-mini-profiler |
UI Kit | shadcn-ui |
To start the application, run ./bin/dev
which will try to use
overmind and if not, use foreman
.
pry-rails
is installed. You can connect to any debugging session via ./bin/debug
which connects
to the overmind tmux
session.
A rake task is provided to reset the application to your application such as renaming the main application module, changing the database names, resetting the git repository to a new state, and resetting the README.md if you want.
Usage:
rake template:reset
shadcn-ui is installed with the button, dropdown,
and popover components already installed in the application. The majority of the configuration takes
place in config/shadcn.tailwind.js
and imported into config/tailwind.config.js
.
app/assets/stylesheets/shadcn.css
which is imported into
app/assets/stylesheets/application.tailwind.css
The PagesController
is setup to render the templates that come with the starter. Light/Dark mode
is controller via the Stimulus controller app/javascript/controllers/theme_controller.js
. Any
element bound to data-controller="theme"
data-action="theme#toggle"
will toggle the theme with
preferences saved to local storage.
If you use hatchbox and set the environment variables
HATCHBOX_APP_ID
HATCHBOX_DEPLOY_KEY
You can trigger a deploy to hatchbox from your main
branch with ./bin/deploy