Speed up your new Rails 8.0 projects with a preconfigured set of tools !
If you don't have yet the project cloned, fetch it from remote URL:
$ rails new myapp -m https://raw.githubusercontent.com/anthony-robin/hyperloop/master/template.rbIf you already have it cloned:
$ rails new myapp -m hyperloop/template.rbWarning
Some arguments from the rails new command might not be compatible with the template.
Generator will ask several questions to refine configuration:
- What port the server should run (default:
3000) - What language the app should handle (default:
en) - Is an authentication needed ? (default:
true)- If yes, does an admin dashboard is needed ? (default:
true)
- If yes, does an admin dashboard is needed ? (default:
Note
You can specify the port directly in the generator command using --port=4000 and avoid the first question prompt:
$ rails new myapp -m hyperloop/template.rb -- --port=4000Wait for the end of the installer, then start it with:
$ bin/dev- simple_form for handling forms inputs
- pagy for pagination
- meta-tags for SEO friendly
- action_policy as authorization actions verifier (only if authentication is
yes) - pretender to sign in as another user (only if admin dashboard is
yes) - dotenv-rails to handle
.envfiles - mission_control-jobs to manage processed jobs (unless
--skip-active-jobflag) - rails-i18n if locale is different of English
- annotaterb to print model database structure (opinionated configuration)
- bullet to track N+1 queries
- chusaku to print routes URL above controller actions
- letter_opener_web to intercept emails and print them in browser (unless
--skip-action-mailerflag) - rubocop and its extensions for coding conventions (opinionated) (unless
--skip-rubocopflag) - ribbonit to display Ruby and Rails information
- spark to reload browser page on HTML, CSS, JS modifications.
- PicoCSS as a minimalist prototyping framework.
- daisyUI as a minimalist framework on top of Tailwind (required
--css=tailwindflag option).
-
Rails authentication comes with
session,registrationandreset passwordfeatures preconfigured as well as related mailers. -
A minimal admin dashboard is created if requested on generator prompt. This feature includes the pretender gem to sign in as another user to manage it easily.
-
SEO is preconfigured to work in any pages by default and title/description can be specified directly in
seo.{locale}.ymlfile. -
Default browser confirm modal as been replaced with a pretty and friendly one following excellent gorails tutorial.
-
Database is seed with default users corresponding to each access level.
-
If using
postgresadapter, database can be dockerized using:$ docker-compose up -d
Project is compatible for english and french locales out of the box.
See Github project for coming roadmap.
Hyperloop is inspired by:
- excid3/jumpstart for its starter template
- bdavidxyz/tailstart for its starter instructions
Thank you :)