Skip to content

Instantly share code, notes, and snippets.

@kirillshevch
Last active August 13, 2025 02:52
Show Gist options
  • Save kirillshevch/1b52f711e66b064416d746f07e834c00 to your computer and use it in GitHub Desktop.
Save kirillshevch/1b52f711e66b064416d746f07e834c00 to your computer and use it in GitHub Desktop.

Revisions

  1. kirillshevch revised this gist Feb 16, 2025. 1 changed file with 97 additions and 49 deletions.
    146 changes: 97 additions & 49 deletions rails_new_options_help.md
    Original file line number Diff line number Diff line change
    @@ -1,72 +1,120 @@
    Run `rails new --help` to see all of the options you can use to create a new Rails application:

    Output for Rails 7+
    Output for Rails 8+

    ```
    Usage:
    rails COMMAND [options]
    You must specify a command:
    new Create a new Rails application. "rails new my_app" creates a
    new application called MyApp in "./my_app"
    plugin new Create a new Rails railtie or engine
    All commands can be run with -h (or --help) for more information.
    Inside a Rails application directory, some common commands are:
    console Start the Rails console
    server Start the Rails server
    test Run tests except system tests
    ➜ workspace 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/kirillshevch/.rvm/rubies/ruby-3.1.1/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
    [--skip-namespace] # Skip namespace (affects only isolated engines)
    # Default: false
    [--skip-collision-check] # Skip collision check
    # Default: false
    -r, [--ruby=PATH] # Path to the Ruby binary of your choice
    # Default: /Users/kirillshevch/.rvm/rubies/ruby-3.4.2/bin/ruby
    -n, [--name=NAME] # Name of the app
    -m, [--template=TEMPLATE] # Path to some application template (can be a filesystem path or URL)
    -d, [--database=DATABASE] # Preconfigure for selected database
    # Default: sqlite3
    # Possible values: mysql, trilogy, postgresql, sqlite3, mariadb-mysql, mariadb-trilogy
    -G, [--skip-git] # Skip git init, .gitignore and .gitattributes
    [--skip-docker] # Skip Dockerfile, .dockerignore and bin/docker-entrypoint
    [--skip-keeps] # Skip source control .keep files
    -M, [--skip-action-mailer] # Skip Action Mailer files
    [--skip-action-mailbox] # Skip Action Mailbox gem
    [--skip-action-text] # Skip Action Text gem
    -O, [--skip-active-record] # Skip Active Record files
    [--skip-active-job] # Skip Active Job
    [--skip-active-storage] # Skip Active Storage files
    -C, [--skip-action-cable] # Skip Action Cable files
    -A, [--skip-asset-pipeline] # Indicates when to generate skip asset pipeline
    -J, --skip-js, [--skip-javascript] # Skip JavaScript files
    [--skip-hotwire] # Skip Hotwire integration
    [--skip-jbuilder] # Skip jbuilder gem
    -T, [--skip-test] # Skip test files
    [--skip-system-test] # Skip system test files
    [--skip-bootsnap] # Skip bootsnap gem
    [--skip-dev-gems] # Skip development gems (e.g., web-console)
    [--skip-thruster] # Skip Thruster setup
    [--skip-rubocop] # Skip RuboCop setup
    [--skip-brakeman] # Skip brakeman setup
    [--skip-ci] # Skip GitHub CI files
    [--skip-kamal] # Skip Kamal setup
    [--skip-solid] # Skip Solid Cache, Queue, and Cable setup
    [--dev], [--no-dev], [--skip-dev] # Set up the application with Gemfile pointing to your Rails checkout
    [--devcontainer], [--no-devcontainer], [--skip-devcontainer] # Generate devcontainer files
    [--edge], [--no-edge], [--skip-edge] # Set up the application with a Gemfile pointing to the 8-0-stable branch on the Rails repository
    --master, [--main], [--no-main], [--skip-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] # Skip loading of extra configuration options from .railsrc file
    [--api], [--no-api], [--skip-api] # Preconfigure smaller stack for API only apps
    # Default: false
    [--minimal], [--no-minimal], [--skip-minimal] # Preconfigure a minimal rails app
    -j, --js, [--javascript=JAVASCRIPT] # Choose JavaScript approach
    # Default: importmap
    # Possible values: importmap, bun, webpack, esbuild, rollup
    -c, [--css=CSS] # Choose CSS processor. Check https://github.com/rails/cssbundling-rails for more options
    # Possible values: tailwind, bootstrap, bulma, postcss, sass
    -B, [--skip-bundle] # Don't run bundle install
    [--skip-decrypted-diffs] # Don't configure git to show decrypted diffs of encrypted credentials
    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
    -f, [--force] # Overwrite files that already exist
    -p, [--pretend], [--no-pretend], [--skip-pretend] # Run but do not make any changes
    -q, [--quiet], [--no-quiet], [--skip-quiet] # Suppress status output
    -s, [--skip], [--no-skip], [--skip-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
    -h, [--help], [--no-help], [--skip-help] # Show this help message and quit
    -v, [--version], [--no-version], [--skip-version] # Show Rails version number and quit
    Description:
    The 'rails new' command creates a new Rails application with a default
    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,
    `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.
    default values shown above in this help message.
    You can specify which version to use when creating a new rails application
    using `rails _<version>_ new`.
    Examples:
    `rails new ~/Code/Ruby/weblog`
    This generates a new Rails app in ~/Code/Ruby/weblog.
    `rails _<version>_ new weblog`
    This generates a new Rails app with the provided version in ./weblog.
    `rails new weblog --api`
    This generates a new Rails app in API mode in ./weblog.
    Example:
    rails new ~/Code/Ruby/weblog
    `rails new weblog --skip-action-mailer`
    This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
    This generates a new Rails app without Action Mailer in ./weblog.
    Any part of Rails can be skipped during app generation.
    ```
  2. kirillshevch revised this gist Feb 16, 2025. No changes.
  3. kirillshevch revised this gist Oct 10, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion rails_new_options_help.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    Run `rails new --help` to view all of the options you can use to generate new Rails application:
    Run `rails new --help` to see all of the options you can use to create a new Rails application:

    Output for Rails 7+

  4. kirillshevch revised this gist Sep 18, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion rails_new_options_help.md
    Original file line number Diff line number Diff line change
    @@ -10,7 +10,7 @@ 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/shevchk/.rvm/rubies/ruby-3.1.1/bin/ruby
    # Default: /Users/kirillshevch/.rvm/rubies/ruby-3.1.1/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
  5. kirillshevch revised this gist Sep 18, 2022. No changes.
  6. kirillshevch revised this gist Sep 18, 2022. 1 changed file with 25 additions and 15 deletions.
    40 changes: 25 additions & 15 deletions rails_new_options_help.md
    Original file line number Diff line number Diff line change
    @@ -1,44 +1,48 @@
    Run `rails new --help` to view all of the options you can use to generate new Rails application:

    Output for Rails 6+
    Output for Rails 7+

    ```
    Usage:
    rails new APP_PATH [options]
    Options:
    [--skip-namespace], [--no-skip-namespace] # Skip namespace (affects only isolated applications)
    [--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/kirill/.rvm/rubies/ruby-2.6.3/bin/ruby
    # Default: /Users/shevchk/.rvm/rubies/ruby-3.1.1/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/frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)
    -d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/postgresql/sqlite3/oracle/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)
    # Default: sqlite3
    [--skip-gemfile], [--no-skip-gemfile] # Don't create a Gemfile
    -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
    -P, [--skip-puma], [--no-skip-puma] # Skip Puma related files
    -C, [--skip-action-cable], [--no-skip-action-cable] # Skip Action Cable files
    -S, [--skip-sprockets], [--no-skip-sprockets] # Skip Sprockets files
    [--skip-spring], [--no-skip-spring] # Don't install Spring application preloader
    [--skip-listen], [--no-skip-listen] # Don't generate configuration that depends on the listen gem
    -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-turbolinks], [--no-skip-turbolinks] # Skip turbolinks gem
    [--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] # Setup the application with Gemfile pointing to your Rails checkout
    [--edge], [--no-edge] # Setup the application with Gemfile pointing to Rails repository
    [--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
    --webpacker, [--webpack=WEBPACK] # Preconfigure Webpack with a particular framework (options: react, vue, angular, elm, stimulus)
    [--skip-webpack-install], [--no-skip-webpack-install] # Don't run Webpack install
    Runtime options:
    -f, [--force] # Overwrite files that already exist
    @@ -55,8 +59,14 @@ Description:
    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.
    '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.
    ```
  7. Kirill Shevchenko revised this gist Sep 9, 2019. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions rails_new_options_help.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,7 @@
    Run `rails new --help` to view all of the options you can use to generate new Rails application:

    Output for Rails 6+

    ```
    Usage:
    rails new APP_PATH [options]
  8. Kirill Shevchenko revised this gist Sep 9, 2019. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion rails_new_options_help.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,4 @@
    ```
    Usage:
    rails new APP_PATH [options]
    @@ -53,4 +54,5 @@ Description:
    'rails new' runs in the .railsrc configuration file in your home directory.
    Note that the arguments specified in the .railsrc file don't affect the
    defaults values shown above in this help message.
    defaults values shown above in this help message.
    ```
  9. Kirill Shevchenko created this gist Sep 9, 2019.
    56 changes: 56 additions & 0 deletions rails_new_options_help.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,56 @@
    Usage:
    rails new APP_PATH [options]

    Options:
    [--skip-namespace], [--no-skip-namespace] # Skip namespace (affects only isolated applications)
    -r, [--ruby=PATH] # Path to the Ruby binary of your choice
    # Default: /Users/kirill/.rvm/rubies/ruby-2.6.3/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/frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)
    # Default: sqlite3
    [--skip-gemfile], [--no-skip-gemfile] # Don't create a Gemfile
    -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-storage], [--no-skip-active-storage] # Skip Active Storage files
    -P, [--skip-puma], [--no-skip-puma] # Skip Puma related files
    -C, [--skip-action-cable], [--no-skip-action-cable] # Skip Action Cable files
    -S, [--skip-sprockets], [--no-skip-sprockets] # Skip Sprockets files
    [--skip-spring], [--no-skip-spring] # Don't install Spring application preloader
    [--skip-listen], [--no-skip-listen] # Don't generate configuration that depends on the listen gem
    -J, [--skip-javascript], [--no-skip-javascript] # Skip JavaScript files
    [--skip-turbolinks], [--no-skip-turbolinks] # Skip turbolinks 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] # Setup the application with Gemfile pointing to your Rails checkout
    [--edge], [--no-edge] # Setup the application with Gemfile pointing to Rails repository
    [--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
    -B, [--skip-bundle], [--no-skip-bundle] # Don't run bundle install
    --webpacker, [--webpack=WEBPACK] # Preconfigure Webpack with a particular framework (options: react, vue, angular, elm, stimulus)
    [--skip-webpack-install], [--no-skip-webpack-install] # Don't run Webpack 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.

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