Devise-based user system, including login page and admin user management page
cybros_core_starter_mark — Rails Starter Template
By markmcdonald51
A bare Rails application starter template integrating Devise user system, Webpacker, and CoreUI frontend, with practical modifications such as credential encryption and mailer configuration.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Preview provided in the project README.
One original preview is available. Open the full image to inspect the design.
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Uses Webpacker 5 and removes Sprockets, uniformly importing static assets via application.js
Integrates CoreUI with Bootstrap and FontAwesome for frontend styling
Provides custom modifications for credentials.yml encryption process and centralized ActionMailer configuration
Includes concerns for form helper method rewriting, model defaults, and enum internationalization
Template Details
Cybros Core is a bare Rails application starter template extracted from the author's personal project, used to quickly set up the foundation for new projects. It builds a user system based on Devise and includes pages such as login and admin dashboard. The frontend uses Webpacker 5 and removes Sprockets, employs CoreUI with Bootstrap and FontAwesome, while retaining Rails server-side rendering; complex pages can locally introduce React or Vue. The template also provides several engineering modifications: custom bin/rails to support the encryption process for credentials.yml, centralizing ActionMailer configuration into config/mailer.yml, rewriting form helper methods to adapt to Bootstrap validation styles, and adding concerns for model defaults and enum internationalization. The README explicitly lists to-do items, including UI/UX improvements, email layouts, ActiveStorage avatar uploads, Docker deployment, etc., indicating that some features are not yet complete.
Is it right for your project?
Use Cases
- Need to quickly set up a Rails project skeleton with user system and admin dashboard
- Rails applications that prefer server-side rendering with local introduction of React or Vue
- Need to reference implementations for Rails Credentials encryption process or centralized mailer configuration
- Want to understand asset organization after replacing Sprockets with Webpacker
Suitable For
- Developers familiar with Rails who need a reusable starter template
- Teams that prefer server-side rendering and classic Rails view layer
- Personal projects requiring a Devise user system and basic admin dashboard implementation
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Run bundle, yarn in sequence, and copy the example files for database.yml, credentials.yml, mailer.yml
- 2
Run rails credentials:encrypt to generate credentials.yml.enc and master.key
- 3
Run rails db:migrate then rails s to start the application
- 4
To receive confirmation emails in development, install and run mailcatcher
- 5
Write the email into settings.local.yml under admin.emails to see the Administration entry in the user menu
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license from the public repository; the free scope is the code of this version and does not imply that external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version's code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as-is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons, and other third-party assets must be checked under their respective licenses; they cannot be judged solely by the code's MIT license.
- External services such as domain, hosting, database, payment, or AI may incur additional charges.
- The author states that this template originated from a personal side project and was initially shared only with friends, but explicitly permits free use.
- The author expresses hope that the template should be production-ready, but the wording is 'should', indicating a goal rather than a guarantee; actual completeness must be assessed independently.
- The author explicitly does not intend to add too many features, especially business-specific ones, so the template's feature scope is limited.
- Parts of the README are undocumented, and relevant feature descriptions are missing.
- Receiving confirmation emails in development requires installing and running the external tool mailcatcher.
- Configuration files must be manually copied and the email written into admin.emails to see the admin entry.
- Before running, execute gem update --system to use the latest Rubygem.
- Docker deployment support is still in a Help wanted to-do state and not yet implemented.
- ActiveStorage avatar upload functionality is still a to-do item and not yet completed.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
I'm used to maintaining a barebone app that helps me build new project quickly, and this is extracted from my side project initially for sharing my ideas to friends, but if this is valuable to you, use it freely.
Original README
I hope this could be a template for new apps, it should be production-ready, so I'll keep polishing the codebase, follow best practice, keep dependencies up to date.
Original README
I don't wanna add too much features especially business-specific, but I'd like to perfection User system (based on Devise) because most apps need this, and keep improving UI/UX relates works.
Original README
### Undocumented yet TODO:
Original README
In development, I use `mailcatcher` to receive mails, run `gem install mailcatcher` to install it.
Original README
- `cp config/settings.yml config/settings.local.yml` - Put your email into `admin.emails` - In user menu (right-top of pages), you should see `Administration`
Original README
Make sure run `gem update --system` to use latest Rubygem
Original README
- Docker for deployment, including stages to compiling assets & copy `yml`s, easy to migrate to k8s
Original README
https://github.com/markmcdonald51/cybros_core_starter_mark/blob/main/MIT-LICENSEhttps://github.com/markmcdonald51/cybros_core_starter_mark/blob/main/README.md- Try support uploading user avatar using ActiveStorage
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-13. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- Less documented · 45 / 100
- Technologies
- Rails
- Website type
- Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2023-04-09
- Screenshot last checked
- 2026-10-13
No demo link is recorded. Use the repository instructions to evaluate the project locally; the screenshot alone cannot establish interactive behavior.
The catalog identifies Rails as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: [email protected] · 2026-10-13
Inspect the recorded source material
SHA-256: 2bafebfac8b085deadb2aac7807bf268ad0446036ecd32c1f657bc4d27bef256
2026-10-13T05:04:08.440Z
Source file / repositoryCybros Core
====
[](https://circleci.com/gh/jasl/cybros_core)
This is a barebone Rails 6.0 app to show some basic configurations.
I'm used to maintaining a barebone app that helps me build new project quickly,
and this is extracted from my side project initially for sharing my ideas to friends,
but if this is valuable to you, use it freely.
## Goal
I hope this could be a template for new apps, it should be production-ready,
so I'll keep polishing the codebase, follow best practice, keep dependencies up to date.
I don't wanna add too much features especially business-specific,
but I'd like to perfection User system (based on Devise) because most apps need this,
and keep improving UI/UX relates works.
BTW: I'm really hoping someone could extract GitLab's user system.
I list some helps wanted, see below.
## Features
### Classic front-end
Personally, I'm not skilled at front-end and I still prefer classic Rails server-side rendering,
and partially introduce React or Vue for complex pages.
A good example is Gitlab, I also cheat some useful helpers to this app.
#### Webpacker 5 without Sprockets
Webpacker can do all the jobs that Sprockets does,
and has full support of front-end community,
So I remove Sprockets and tune Webpacker allows Assets Pipeline experience.
I do these:
- Remove gems related to Sprockets
- Search and remove `assets` related configs
- `resolved_paths: ['app/assets']` in `config/webpacker.yml`
- `app/javascript/packs/application.js` require all static assets (images, webfonts, etc.)
#### CoreUI with Bootstrap, FontAwesome
See `app/assets/stylesheets/application.scss`
### Application configuration
#### A hack about Rails Credentials
Rails Credentials is a useful feature to store security-sensitive configs.
But we can't bundle `master.key`, and `credentials.yml.enc` isn't readable,
so it's difficult to redistribute the app,
I gave a [PR to Rails](https://github.com/rails/rails/pull/34777) but no respond,
I consistantly think it's useful so I integrate it as a hack, see `bin/rails`.
So you can copy `config/credentials.yml.example` as `config/credentials.yml`,
edit it, then run `rails credentials:encrypt` that will generate `config/credentials.yml.enc` and `config/master.key` for you.
#### A hack about ActionMailer configuration
Unlike `database.yml`, ActionMailer's config separates in many files,
I do a hack that you can config ActionMailer in one place.
See `config/mailer.yml`
Codes in `config/application.rb`
### Implemented a full-feature layouts & views
I don't have art skill but ... at least it works!
#### Overrides Form Helpers to enhance them to support Bootstrap form validation style
The technique is in <https://guides.rubyonrails.org/engines.html#implementing-decorator-pattern-using-class-class-eval>
See `app/overrides/action_view/helpers/form_builder_override.rb`
In addition, see `config/application.rb` for how to require overrides.
#### Don't render ActionView's default error field wrapper
That will break many CSS frameworks.
See `config/initializers/action_view.rb`
#### Default value for model fields
See `app/models/concerns/acts_as_default_value.rb`
Default value of column can only be a static value,
Active Record's `attribute` DSL can set default for field but doesn't have entity context,
Using hooks (such as `after_initilize`) to set default values has edge cases,
you can use `default_value_for` to set default value.
Here's a complex example:
```ruby
default_value_for :role_id,
-> (member) {
if member.has_attribute?(:tenant_id) || member.tenant
member&.tenant&.member_role&.id
end
}, allow_nil: false
```
#### I18n for `enum`
See `app/models/concerns/enum_attribute_localizable.rb`
Rails doesn't have best practice for `enum` I18n,
I integrate my personal practice.
For example, I have a model `Post` with `status` column for `enum`
```ruby
class Post < ApplicationRecord
enum status: %i[draft published archived]
end
```
The locale `post.en.yml` looks like
```yaml
en:
activerecord:
models:
post: Post
attributes:
post:
status: Status
statuses:
draft: Draft
published: Published
archived: Archived
```
To render human readable post's status, you can do like this:
```ruby
Post.human_enum_value(:status, @post)
```
### Undocumented yet
TODO:
## Run the app
- Clone it
- `bundle`
- `yarn`
- `cp config/database.yml.example config/database.yml`
- `cp config/credentials.yml.example config/credentials.yml` & `rails credentials:encrypt`
- `cp config/mailer.yml.example config/mailer.yml`
- `rails db:migrate`
- `rails s`
### Receive Devise confirmation mail
In development, I use `mailcatcher` to receive mails,
run `gem install mailcatcher` to install it.
Open a new terminal, run `mailcatcher`, then follow the instructions
### Set user as admin
- `cp config/settings.yml config/settings.local.yml`
- Put your email into `admin.emails`
- In user menu (right-top of pages), you should see `Administration`
## Troubleshooting
Make sure run `gem update --system` to use latest Rubygem
## Help wanted
- UI/UX design & SCSS & HTML improvement
- Layout for mails
- Coding style & structural improvement
- Try support uploading user avatar using ActiveStorage
- Find bugs
- Docker for deployment, including stages to compiling assets & copy `yml`s, easy to migrate to k8s
## Screenshots


## License
[MIT License](https://opensource.org/licenses/MIT).
Explore similar templates
Compare previews and descriptions within the same stack and category.

react-starter-kit
A full-stack Inertia.js starter with a Rails backend and React + TypeScript frontend, generated by inertia-rails/generator and automatically synced.
Rails · Starter

rails-tabler-starter
A free, open-source Ruby on Rails backend starter using Tabler (Bootstrap 5) with Hotwire/Turbo.
Rails · Admin dashboard

plutonium-core
Plutonium is a Rails-based admin and starter template that uses generators to write CRUD, authentication, authorization, multi-tenancy, portals, search and filtering, and bulk actions directly into project code.
Rails · Admin dashboard

ace-template
Ace Template is a Rails application template applied via rails new, supporting interactive mode and command-line options, with SQLite, Postgres, and MySQL support, Tailwind or Bootstrap styling, and deployment instructions for Kamal, Fly.io, and Heroku.
Rails · Starter

kern
Kern is a Rails engine that provides foundational SaaS features: authentication and user settings based on Rails' authentication generator, multi-tenancy via Workspace and Member with multiple Roles, team invitations, Stripe subscription billing configured through plans.yml and credentials, plus a form builder, basic…
Rails · SaaS

rails-react-starter
Rails React Starter is an MIT-licensed starter that pairs a Rails JSON API backend with a React frontend, including TailwindCSS and Docker configuration.
Rails · Starter
