{"id":13878816,"url":"https://github.com/peterberkenbosch/rails-starter-template","last_synced_at":"2025-08-22T08:31:14.785Z","repository":{"id":37953281,"uuid":"384165121","full_name":"peterberkenbosch/rails-starter-template","owner":"peterberkenbosch","description":"Opinionated Rails 7 starter template using esbuild, tailwindcss, postgresql and hotwired tested with RSpec","archived":false,"fork":false,"pushed_at":"2024-09-02T11:24:30.000Z","size":1351,"stargazers_count":52,"open_issues_count":15,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-13T10:10:33.624Z","etag":null,"topics":["docker","hacktoberfest","hacktoberfest-2022","hacktoberfest2021","hacktoberfest2022","rails","ruby","tailwindcss","template-repository"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peterberkenbosch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"peterberkenbosch"}},"created_at":"2021-07-08T15:12:24.000Z","updated_at":"2024-06-19T03:58:04.000Z","dependencies_parsed_at":"2023-09-25T23:34:22.994Z","dependency_job_id":"bcf03f8c-958d-4bd5-89ac-7429fa6544c2","html_url":"https://github.com/peterberkenbosch/rails-starter-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterberkenbosch%2Frails-starter-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterberkenbosch%2Frails-starter-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterberkenbosch%2Frails-starter-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterberkenbosch%2Frails-starter-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peterberkenbosch","download_url":"https://codeload.github.com/peterberkenbosch/rails-starter-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230575851,"owners_count":18247484,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","hacktoberfest","hacktoberfest-2022","hacktoberfest2021","hacktoberfest2022","rails","ruby","tailwindcss","template-repository"],"created_at":"2024-08-06T08:02:00.977Z","updated_at":"2024-12-20T11:07:49.026Z","avatar_url":"https://github.com/peterberkenbosch.png","language":"Ruby","funding_links":["https://github.com/sponsors/peterberkenbosch"],"categories":["Ruby"],"sub_categories":[],"readme":"# Rails starter template\n\n## IN MAINTENANCE MODE\n\n### In the last couple of months the Rails landscape changed, and so did my opinionated Rails setup. I will keep this one as maintained as possible, but currently running on edge Rails with just minor changes. Those specifics will be open sourced in the future as well.\n\n\nOpinionated Rails setup using Rails 7, PostgreSQL, TailwindCSS, Stimulus, Hotwire and RSpec.\n\nWe are bundling JavaScript and CSS through a Node-based setup with [`jsbundling-rails`](https://github.com/rails/jsbundling-rails) and [`cssbundling-rails`](https://github.com/rails/cssbundling-rails).\n\nIf you want to run [`propshaft`](https://github.com/rails/propshaft) as the asset pipeline you can use this branch: https://github.com/peterberkenbosch/rails-starter-template/tree/propshaft. The main branch will be using Sprockets for the time being.\n\nYou need the following installed:\n\n* Ruby \u003e= 3 (`asdf install`)\n* Node 19 (`asdf install`)\n* Bundler (`gem install bundler`)\n* Yarn (`brew install yarn`)\n* Overmind (`brew install tmux overmind`)\n* Postgresql (`brew install postgresql` start with: `brew services start postgresql`)\n* Redis (`brew install redis` start with: `brew services start redis`)\n\nIf you are using [asdf](https://asdf-vm.com/) (I recommend that you do :) ) you can install the required Ruby and NodeJS versions with `asdf install`\n\nThe Homebrew dependencies can be installed with running:\n\n```bash\nbrew bundle install --no-upgrade\n```\n\nAdditional Homebrew dependencies can be added to the `Brewfile`\n\nOptional: [Docker](https://docs.docker.com/engine/installation/mac/) to use with the preconfigured `dip.yml` to setup a dockerized dev environment using [dip](https://github.com/bibendi/dip)\n\n## Getting started\n\n### Initial application setup\n\nRun the setup script that will run the needed setup steps for the application, installing all gems and packages, database preparing etc.\n\n```sh\n$ bin/setup\n```\n\n#### Provisioning and interacting with Docker and dip\n\nYou need `docker` and `docker-compose` installed (for MacOS just use [official app](https://docs.docker.com/engine/installation/mac/)).\n\nThis app uses the [dip](https://github.com/bibendi/dip) CLI, a utility CLI tool for straightforward provisioning and interactions with applications configured by docker-compose.\n\n```sh\n$ gem install dip\n$ dip provision\n```\n\nTake a look at the `dip.yml` file for the available commands\n\n### Development\n\nWill run Overmind (or Foreman if Overmind is not installed), builds all assets automaticly and will start the rails server and sidekiq\n\n```sh\n$ bin/dev\n```\n\nWhen using dip:\n\n```\n$ dip up web\n```\n\n## Code Guidelines\n\nIt uses [StandardRB](https://github.com/testdouble/standard) for Ruby to automatically fix code style offenses.\n\n```sh\n$ bundle exec standardrb\n```\n\nto automatically format Ruby with StandardRB you can run:\n\n```sh\n$ bundle exec standardrb --fix\n```\n\nFor Javascript we use [StandardJS](https://standardjs.com/).\n\n```sh\n$ yarn standard\n```\n\nto automatically format the javascript with StandardJS you can run:\n\n```sh\n$ yarn standard --fix\n```\n\n## Running the specs\n\nInspired by [Evil Martians - System of a Test article](https://evilmartians.com/chronicles/system-of-a-test-setting-up-end-to-end-rails-testing)\n\nTo run all the specs you can run:\n\n```sh\n$ rake\n```\n\nor use RSpec directly with\n\n```sh\n$ bundle exec rspec\n```\n\nInside the docker container we have 2 different commands. To just run the unit tests:\n\n```sh\n$ dip rspec\n```\n\nand to just run the system specs:\n\n```sh\n$ dip rspec system\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterberkenbosch%2Frails-starter-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterberkenbosch%2Frails-starter-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterberkenbosch%2Frails-starter-template/lists"}