生成器一次产出模型、迁移、定义和策略,覆盖 CRUD、搜索、筛选与批量操作
plutonium-core — Rails 后台模板
作者 radioactive-labs
Plutonium 是一个基于 Rails 的后台与启动器模板,通过生成器把 CRUD、认证、授权、多租户、门户、搜索筛选和批量操作等常见后台能力直接写入项目代码。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
策略与定义分离:Policy 控制权限与可写字段,Definition 控制渲染、搜索和 scope
支持门户(Portal)与包(Package)拆分,业务逻辑和 Web 界面可独立组织
内置 Rodauth 认证与多租户实体作用域,支持路径或域名策略
提供交互(Interaction)机制实现自定义业务动作,生成代码位于仓库中可自由修改
模板详细介绍
Plutonium 面向 Rails 项目,提供一套约定驱动的资源架构:模型、策略(Policy)、定义(Definition)和控制器协同工作,策略控制谁能执行哪些操作,定义控制字段如何渲染、搜索与筛选如何生效。它通过 Rails 生成器快速搭建资源、门户(Portal)和包(Package),把生成代码留在仓库中,可自行修改、覆盖或删除。
模板内置 Rodauth 认证集成、基于实体作用域的多租户支持(路径或域名策略),以及自定义交互(Interaction)机制,用于实现发布等业务动作。项目按门户和包拆分业务逻辑与 Web 界面,资源通过连接命令挂载到指定门户。
使用前提是 Ruby 3.2.2+、Rails 7.2+(推荐 Rails 8)和 Node.js 18+。仓库采用 MIT 许可,免费范围为该版本代码;演示图片、字体、图标等第三方素材以及域名、托管、数据库、支付或 AI 等外部服务需另行核对许可与费用。
适合你的项目吗?
适用场景
- 需要快速搭建带权限控制、搜索筛选和批量操作的后台管理界面
- 希望把业务逻辑与 Web 界面拆分为多个门户或引擎的 Rails 项目
- 需要多租户隔离并按路径或域名区分组织数据的应用
- 想用 Rodauth 集成认证并自定义账号体系的 Rails 后台
适合人群
- 熟悉 Rails 并希望减少重复后台代码的开发者
- 需要权限、多租户和后台门户一体化方案的项目
- 接受约定驱动架构、愿意阅读和修改生成代码的团队
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
使用 rails new 配合 Plutonium 模板创建应用,模板地址为 radioactive-labs.github.io/plutonium-core/templates/plutonium.rb
- 2
通过 rails g pu:res:scaffold 生成资源,再用 pu:pkg:portal 创建门户、pu:res:conn 连接资源
- 3
环境要求 Ruby 3.2.2+、Rails 7.2+(推荐 Rails 8)和 Node.js 18+
- 4
认证需运行 pu:rodauth:install 与 pu:rodauth:account 生成器
- 5
代码采用 MIT 许可,第三方素材与外部服务需单独核对许可和费用
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 使用需满足运行环境要求:Ruby 3.2.2 及以上、Rails 7.2 及以上(推荐 Rails 8)、Node.js 18 及以上,低于这些版本无法运行。
- 创建应用需从远程地址加载 Plutonium 模板,依赖网络访问该外部模板地址,离线环境无法直接使用。
- 认证功能依赖 Rodauth 集成,需运行 pu:rodauth:install 与 pu:rodauth:account 生成器进行配置,并非开箱即用。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
Ruby 3.2.2+ - Rails 7.2+ (Rails 8 recommended) - Node.js 18+
README 原文
rails new myapp -a propshaft -j esbuild -c tailwind \ -m https://radioactive-labs.github.io/plutonium-core/templates/plutonium.rb
README 原文
https://github.com/radioactive-labs/plutonium-core/blob/master/LICENSE.txthttps://github.com/radioactive-labs/plutonium-core/blob/master/README.md**Built-in authentication** via Rodauth:
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-01。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 92 / 100
- 技术栈
- Rails
- 网站类型
- 后台 · 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-09-30
- 截图检查日期
- 2026-10-01
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Rails。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。
查看当时使用的来源资料
SHA-256: 1c210ac3962d5b7ef8bbe1f9f71cf7a82c736437b8ac0344351354b9dbacaf57
2026-10-01T02:49:31.130Z
来源文件 / 仓库# Plutonium
[](https://badge.fury.io/rb/plutonium)
[](https://github.com/radioactive-labs/plutonium-core/actions/workflows/main.yml)
[](LICENSE.txt)
**The Rails framework for things you should never write again.**
Convention over configuration, extended to everything you keep rebuilding: **CRUD. Auth. Authorization. Multi-tenancy. Admin portals. Search, filters, bulk actions.** All generated. All customizable. All Rails.
## Quick Start
```bash
rails new myapp -a propshaft -j esbuild -c tailwind \
-m https://radioactive-labs.github.io/plutonium-core/templates/plutonium.rb
```
Then scaffold a resource, create a portal, and connect them:
```bash
cd myapp
# Scaffold a resource — model, migration, definition, policy
rails g pu:res:scaffold Post title:string body:text published_at:datetime --dest=main_app
rails db:prepare
# Create a portal (web interface) and connect the resource to it
rails g pu:pkg:portal app --public
rails g pu:res:conn Post --dest=app_portal
bin/dev
```
Visit `http://localhost:3000/app/posts` — you have a complete CRUD interface.
## What You Stop Writing
Same scaffold command you already know. A very different surface area.
```bash
rails g scaffold Post ... # Rails: just CRUD
rails g pu:res:scaffold Post ... # Plutonium: full CRUD + search + filters + bulk actions
```
And it doesn't stop at scaffolds:
**Resource-oriented architecture** — models, policies, definitions, and controllers that work together:
```ruby
# Policy controls WHO can do WHAT
class PostPolicy < ResourcePolicy
def create? = user.present?
def update? = record.author == user || user.admin?
def permitted_attributes_for_create
%i[title body]
end
end
# Definition controls HOW it renders
class PostDefinition < ResourceDefinition
input :body, as: :markdown
search { |scope, q| scope.where("title ILIKE ?", "%#{q}%") }
scope :published
scope :drafts
end
```
**Packages and portals** — split your app into feature engines and themed web interfaces:
```bash
rails g pu:pkg:package blogging # Business logic
rails g pu:pkg:portal admin # Web interface
rails g pu:res:conn Post --dest=admin_portal
```
**Built-in authentication** via Rodauth:
```bash
rails g pu:rodauth:install
rails g pu:rodauth:account user
```
**Multi-tenancy** with entity scoping:
```ruby
# In a portal engine
scope_to_entity Organization, strategy: :path
# Routes become /organizations/:organization_id/posts
```
**Custom actions** with interactions:
```ruby
class PublishInteraction < ResourceInteraction
attribute :resource
attribute :publish_at, :datetime
def execute
resource.update!(published_at: publish_at)
succeed(resource).with_message("Published!")
rescue ActiveRecord::RecordInvalid => e
failed(e.record.errors)
end
end
```
## Why Plutonium
- **Convention over configuration** — extended to resources, policies, portals, and tenancy, not just routes and views.
- **It's just Rails** — generated code lives in your repo. Edit it, override it, delete it. The "magic" is regular Ruby mixins you can read.
- **Multi-tenant ready** — path or domain tenancy, scoped relations, invites and memberships out of the box.
- **AI-readable** — predictable file layout and naming, plus built-in [Claude Code skills](.claude/skills) that teach AI assistants the patterns.
## Documentation
Full documentation at **[radioactive-labs.github.io/plutonium-core](https://radioactive-labs.github.io/plutonium-core/)**
- [Installation](https://radioactive-labs.github.io/plutonium-core/getting-started/installation)
- [Tutorial](https://radioactive-labs.github.io/plutonium-core/getting-started/tutorial/)
- [Guides](https://radioactive-labs.github.io/plutonium-core/guides/)
- [Reference](https://radioactive-labs.github.io/plutonium-core/reference/)
## Requirements
- Ruby 3.2.2+
- Rails 7.2+ (Rails 8 recommended)
- Node.js 18+
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.
## License
MIT License — see [LICENSE.txt](LICENSE.txt).
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

react-starter-kit
Inertia Rails React Starter Kit
Rails · 启动器

rails-tabler-starter
Free and open source Ruby on Rails starter kit built using Tabler
Rails · 后台

ace-template
Rails 8+ app template. Go from 0 to full-featured deployed app in less than 5 minutes (self-hosted or PaaS)
Rails · 启动器

kern
SaaS starter for Rails apps. Skip the boilerplate and start shipping the actual product.
Rails · SaaS

rails-react-starter
Simple React & Rails starter
Rails · 启动器

SknServices
Authentication and Authorization focused starter Rails 5 Application
Rails · 启动器
