diff --git a/README.md b/README.md index 8738d40..a863984 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,6 @@ A modern Ruby on Rails template equipped with opinionated defaults to start your next project 🚀 - - ![example workflow](https://github.com/yatish27/shore/actions/workflows/ci.yml/badge.svg) This serves as a base application, providing all the necessary setups and defaults required for launching a new Ruby on Rails application quickly. @@ -17,87 +15,20 @@ This serves as a base application, providing all the necessary setups and defaul - **Asset managment**: [ViteRuby](https://github.com/ElMassimo/vite_ruby) - **Front-end Libraries**: Hotwire, Turbo & StimulusJS - **Views**: [Phlex](https://www.phlex.fun) -- **Package Management**: [Bun](https://bun.sh). It replaces Node and Yarn. -- **Testing Suite**: +- **Package Management**: [Bun](https://bun.sh). (It replaces Node and Yarn). +- **Testing**: - Minitest for unit and functional integration tests - FactoryBot for setting up test data - cypress-rails for end-to-end system tests - **Background Processing**: SolidQueue - **Linting and formatting**: Rubocop - **Containerization**: - - Docker support with separate Dockerfiles and docker-compose.yml for development, test, and production environments + - Docker compose for development and testing. + - Dockerfile for production - **Continuous Integration**: Automated workflows with GitHub Actions - **Deployment Options**: - Heroku - Render - Hatchbox.io - - DigitalOcean with Kamal - -## Prerequisites - -This project requires: - -- Ruby (see [.ruby-version](./.ruby-version)), preferably managed using [rbenv](https://github.com/rbenv/rbenv) -- Node 18 (LTS) or newer -- Yarn 1.x (classic) -- PostgreSQL must be installed and accepting connections - -On macOS, these [Homebrew](http://brew.sh) packages are recommended: - -``` -brew install rbenv -brew install node -brew install yarn -brew install postgresql@16 -``` - -## Getting started - -### bin/setup - -Run this script to install necessary dependencies and prepare the Rails app to be started for the first time. - -``` -bin/setup -``` - -> [!TIP] -> The `bin/setup` script is idempotent and is designed to be run often. You should run it every time you pull code that introduces new dependencies or makes other significant changes to the project. - -### Run the app! - -Start the Rails server with this command: - -``` -yarn start -``` - -The app will be located at . - -## Development - -Use this command to run the full suite of automated tests and lint checks: - -``` -bin/rake -``` - -> [!TIP] -> Rake allows you to run all checks in parallel with the `-m` option. This is much faster, but since the output is interleaved, it may be harder to read. - -``` -bin/rake -m -``` - -### Fixing lint issues - -Some lint issues can be auto-corrected. To fix them, run: - -``` -bin/rake fix -``` + - DigitalOcean -> [!WARNING] -> A small number of Rubocop's auto-corrections are considered "unsafe" and may -> occasionally produce incorrect results. After running `fix`, you should -> review the changes and make sure the code still works as intended.