Customiser son app c’est bien. S’il faut le refaire à chaque fois, c’est moins bien.

Comment construire son template

https://guides.rubyonrails.org/rails_application_templates.html

Les options pour la création d’une app

rails new –help Usage: rails new APP_PATH [options]

Options: [–skip-namespace], [–no-skip-namespace] # Skip namespace (affects only isolated engines) [–skip-collision-check], [–no-skip-collision-check] # Skip collision check -r, [–ruby=PATH] # Path to the Ruby binary of your choice # Default: /Users/jbfran/.rbenv/versions/3.1.0/bin/ruby -m, [–template=TEMPLATE] # Path to some application template (can be a filesystem path or URL) -d, [–database=DATABASE] # Preconfigure for selected database (options: mysql/postgresql/sqlite3/oracle/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc) # Default: sqlite3 -G, [–skip-git], [–no-skip-git] # Skip .gitignore file [–skip-keeps], [–no-skip-keeps] # Skip source control .keep files -M, [–skip-action-mailer], [–no-skip-action-mailer] # Skip Action Mailer files [–skip-action-mailbox], [–no-skip-action-mailbox] # Skip Action Mailbox gem [–skip-action-text], [–no-skip-action-text] # Skip Action Text gem -O, [–skip-active-record], [–no-skip-active-record] # Skip Active Record files [–skip-active-job], [–no-skip-active-job] # Skip Active Job [–skip-active-storage], [–no-skip-active-storage] # Skip Active Storage files -C, [–skip-action-cable], [–no-skip-action-cable] # Skip Action Cable files -A, [–skip-asset-pipeline], [–no-skip-asset-pipeline] # Indicates when to generate skip asset pipeline -a, [–asset-pipeline=ASSET_PIPELINE] # Choose your asset pipeline [options: sprockets (default), propshaft] # Default: sprockets -J, [–skip-javascript], [–no-skip-javascript] # Skip JavaScript files [–skip-hotwire], [–no-skip-hotwire] # Skip Hotwire integration [–skip-jbuilder], [–no-skip-jbuilder] # Skip jbuilder gem -T, [–skip-test], [–no-skip-test] # Skip test files [–skip-system-test], [–no-skip-system-test] # Skip system test files [–skip-bootsnap], [–no-skip-bootsnap] # Skip bootsnap gem [–dev], [–no-dev] # Set up the application with Gemfile pointing to your Rails checkout [–edge], [–no-edge] # Set up the application with Gemfile pointing to Rails repository –master, [–main], [–no-main] # Set up the application with Gemfile pointing to Rails repository main branch [–rc=RC] # Path to file containing extra configuration options for rails command [–no-rc], [–no-no-rc] # Skip loading of extra configuration options from .railsrc file [–api], [–no-api] # Preconfigure smaller stack for API only apps [–minimal], [–no-minimal] # Preconfigure a minimal rails app -j, [–javascript=JAVASCRIPT] # Choose JavaScript approach [options: importmap (default), webpack, esbuild, rollup] # Default: importmap -c, [–css=CSS] # Choose CSS processor [options: tailwind, bootstrap, bulma, postcss, sass… check https://github.com/rails/cssbundling-rails] -B, [–skip-bundle], [–no-skip-bundle] # Don’t run bundle install

Runtime options: -f, [–force] # Overwrite files that already exist -p, [–pretend], [–no-pretend] # Run but do not make any changes -q, [–quiet], [–no-quiet] # Suppress status output -s, [–skip], [–no-skip] # Skip files that already exist

Rails options: -h, [–help], [–no-help] # Show this help message and quit -v, [–version], [–no-version] # Show Rails version number and quit

Description: The ‘rails new’ command creates a new Rails application with a default directory structure and configuration at the path you specify.

You can specify extra command-line arguments to be used every time
'rails new' runs in the .railsrc configuration file in your home directory,
or in $XDG_CONFIG_HOME/rails/railsrc if XDG_CONFIG_HOME is set.

Note that the arguments specified in the .railsrc file don't affect the
defaults values shown above in this help message.

Example: rails new ~/Code/Ruby/weblog

This generates a skeletal Rails installation in ~/Code/Ruby/weblog.