{"id":50848083,"url":"https://github.com/jeromedalbert/ace-template","last_synced_at":"2026-06-14T11:30:53.191Z","repository":{"id":356236506,"uuid":"1229105864","full_name":"jeromedalbert/ace-template","owner":"jeromedalbert","description":"Rails 8+ app template. Go from 0 to full-featured deployed app in less than 5 minutes (self-hosted or PaaS)","archived":false,"fork":false,"pushed_at":"2026-06-06T20:18:01.000Z","size":277,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-06T22:10:33.702Z","etag":null,"topics":["rails","ruby","starter","template"],"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/jeromedalbert.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-04T17:51:20.000Z","updated_at":"2026-06-06T20:18:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jeromedalbert/ace-template","commit_stats":null,"previous_names":["jeromedalbert/ace-template"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jeromedalbert/ace-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeromedalbert%2Face-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeromedalbert%2Face-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeromedalbert%2Face-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeromedalbert%2Face-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeromedalbert","download_url":"https://codeload.github.com/jeromedalbert/ace-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeromedalbert%2Face-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34320268,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["rails","ruby","starter","template"],"created_at":"2026-06-14T11:30:52.511Z","updated_at":"2026-06-14T11:30:53.184Z","avatar_url":"https://github.com/jeromedalbert.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ace Template\n\nA Rails application template to generate full-featured web apps fast:\n\n- Go from `rails new` to deployed in **less than 5 minutes**.\n  Demos: [self-hosted server](https://www.youtube.com/watch?v=kCXugP63Cqc) |\n  [Fly.io](https://www.youtube.com/watch?v=2PsQQIbSsg0) |\n  [Heroku](https://www.youtube.com/watch?v=iY_kVYGbbRk).\n- Designed to keep up with future versions of Rails. Tested\n  [daily](.github/workflows/ci.yml#L8) against Rails `main`.\n- Automated yet thoughtful. Code diffs are applied in just the right places.\n- Use interactive mode or command-line options for extra customization.\n- Use carefully curated defaults or the omakase default Rails way.\n\nShip your idea in record time, or learn how modern Rails 8+ apps are structured\nand deployed. See [list of features](#features) and [why I made this](#why-ace-template).\n\n\u003cbr\u003e\n\n[![Preview of Ace Template's interactive mode](https://raw.githubusercontent.com/jeromedalbert/files/main/ace-template/interactive_mode.png)](https://www.youtube.com/watch?v=kCXugP63Cqc)\n\n## Usage\n\nTo create a basic app:\n\n```bash\nrails new myapp -m https://raw.githubusercontent.com/jeromedalbert/ace-template/stable/template.rb\n```\n\nIt gets more interesting with options! You can choose template options\ninteractively with `-i`:\n\n```bash\nrails new myapp -i -m https://raw.githubusercontent.com/jeromedalbert/ace-template/stable/template.rb\n```\n\nOr you can pass template options manually with `-o` (see [`-o help`](template.rb#L17)\nfor details). Rails options are also supported. For example, to create an app\nwith an example \"Banana\" resource and styled with Tailwind:\n\n```bash\nrails new myapp -o banana --css tailwind \\\n  -m https://raw.githubusercontent.com/jeromedalbert/ace-template/stable/template.rb\n```\n\n#### Pro-tip\n\nTo make commands shorter, you can add this function to your shell config (like\n`~/.bashrc` or `~/.zshrc`):\n\n```bash\nrn() {\n  rails new $1 -m https://raw.githubusercontent.com/jeromedalbert/ace-template/stable/template.rb ${@:2}\n}\n```\n\nThe previous example can now be shortened to `rn myapp -o banana --css tailwind`.\n\n## Features\n\n#### General\n\n- Easy-to-follow instructions to deploy with [Kamal](https://kamal-deploy.org/),\n  [Fly.io](https://fly.io/), or [Heroku](https://www.heroku.com/). Most\n  instructions are copy-pasteable and can be found in the generated project Readme.\n- Supports SQLite, Postgres, and MySQL databases.\n- Supports the [Tailwind](https://tailwindcss.com/) and [Bootstrap](https://getbootstrap.com/)\n  CSS frameworks, with default styles and HTML boilerplate that are ready to go.\n- Each configuration step has its own commit, so you can see exactly how\n  everything is set up.\n- All generated code has thoughtful corresponding tests.\n- Uses single quotes by default. Double quotes are supported as an option.\n- Supports most `rails new` options like `--api`, `--skip-*`, `--main`,\n  `--edge`, etc.\n\n#### Default gems\n\n- `IRB` and ruby `debug` are kept as defaults for interactive Ruby sessions.\n  This combo now works just as well as the old Pry gems.\n  [Amazing Print](https://github.com/amazing-print/amazing_print) is used for\n  pretty printing and is a modern successor to Awesome Print that works with\n  ruby `debug` sessions and Rails 8.2+.\n- [Solid Cable](https://github.com/rails/solid_cable),\n  [Solid Cache](https://github.com/rails/solid_cache),\n  and [Solid Queue](https://github.com/rails/solid_queue) are kept as great\n  defaults that can get you pretty far.\n- [Rubocop](https://github.com/rubocop/rubocop) for linting and\n  [SyntaxTree](https://github.com/ruby-syntax-tree/syntax_tree) for\n  auto-formatting that looks good.\n  [Standard](https://github.com/standardrb/standard) is also used as a\n  collection of sensible Rubocop defaults that are further customized to fit\n  Ace Template's own style.\n- [RSpec](https://github.com/rspec/rspec-rails) tests by default.\n  [Rails test cases](https://guides.rubyonrails.org/testing.html#writing-your-first-test)\n  (backed by [Minitest](https://github.com/minitest/minitest)) are supported as\n  an option.\n- [Dotenv](https://github.com/bkeepers/dotenv) as a simple way to manage\n  secrets.\n  [Rails credentials](https://guides.rubyonrails.org/security.html#custom-credentials)\n  are supported as an option.\n- [FactoryBot](https://github.com/thoughtbot/factory_bot) for test data.\n  [Rails fixtures](https://guides.rubyonrails.org/testing.html#fixtures) are\n  supported as an option.\n- [Spring](https://github.com/rails/spring) to run Rails commands and tests\n  instantly on your local.\n- [Lograge](https://github.com/roidrage/lograge) to make production logs simple\n  and easy to read.\n\nIf you prefer to stick to Rails defaults, use the `omakase` template option.\n\n#### Options\n\n- `banana`: scaffolds an example \"Banana\" resource for quick demos or as a\n  starting point.\n- `authentication`: adds authentication that is ready to go with login\n  **and signup** pages, either with\n  [Rails authentication](https://guides.rubyonrails.org/security.html#authentication)\n  or [Devise](https://github.com/heartcombo/devise).\n- `omakase`: uses Rails [omakase](https://rubyonrails.org/doctrine#omakase)\n  defaults instead of Ace Template's defaults.\n- `solid-dev`: configures [Solid Cable](https://github.com/rails/solid_cable),\n  [Solid Cache](https://github.com/rails/solid_cache),\n  and [Solid Queue](https://github.com/rails/solid_queue) to work in development.\n- `worker`: removes web code, for apps like bots or scheduled scripts that do\n  not need to be accessible with a web page.\n- `errors`: adds an error monitoring service (either [Rollbar](https://rollbar.com/)\n  or [Sentry](https://sentry.io/)).\n- `pundit`: adds [Pundit](https://github.com/varvet/pundit) authorization.\n- `redis`: adds Redis.\n- `vcr`: adds the [VCR](https://github.com/vcr/vcr) gem to record test HTTP requests.\n\nSee [`-o help`](template.rb#L17) for the full list of options.\n\nOptions can **synergize** with each other. For example if both `banana` and\n`authentication` are selected, bananas will belong to a user and logged in users\nwill only have access to their own bananas.\n\n## Why Ace Template?\n\nMy goal with this template is to have both quality and speed, where you can\nquickly deploy an app for a demo or an interview, while having a solid\nfoundation with polished internals.\n\nThe template runs with `rails new` and it is just plain Rails with some\nsprinkles. This is not a heavier SaaS starter kit.\n\nAce Template is also built to stay up to date. Partials are preferred over\nwhole files, and end-to-end tests run on a [cron\nschedule](.github/workflows/ci.yml#L8) against Rails `main` with alerts on\nfailures, so fixes are proactive and require minimal focused effort.\nMost other templates are too static and become completely out of date after\n5-10 years, needing a full rewrite or significant maintenance effort. Here's\nhoping Ace Template still works flawlessly in 15 years (famous last words)!\n\n## Contributing\n\nBug reports and pull requests are welcome! See [guide to contributing](CONTRIBUTING.md)\nfor more information.\n\n## License\n\nThe project is available as open source under the terms of the\n[MIT License](https://opensource.org/licenses/MIT).\n\n## Code of Conduct\n\nEveryone interacting in the Ace Template project's codebases, issue trackers,\nchat rooms and mailing lists is expected to follow the\n[code of conduct](CODE_OF_CONDUCT.md).\n\n\u003cbr\u003e\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"#ace-template\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/jeromedalbert/files/main/ace-template/cards.png\" width=\"150\" alt=\"Ace Template\"/\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeromedalbert%2Face-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeromedalbert%2Face-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeromedalbert%2Face-template/lists"}