关于 new-rails-project
为新 Rails 项目生成配置指南,面向需要搭建 Rails 与 React 应用的开发者。它规定数据库、后台作业、测试和前端等技术选择,并要求先澄清需求、运行检查。
主要功能
- 01Rails 8、PostgreSQL 与 Inertia.js
- 02React、Vite 与 Tailwind CSS
- 03Sidekiq 与 Redis 后台作业
- 04UUID 主键及加密字段
- 05minitest 测试与安全扫描
适用场景
- 01从当前目录创建 Rails 项目
- 02按指定技术栈生成应用骨架
- 03为新项目制定测试与代码规范
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ shpigford/ skills --skill new-rails-project安装后在 Claude Code 中输入/new-rails-project确认已加载。
详细介绍
在当前目录中生成一个名为 $1 的新 Rails 项目。你可以参考 @CLAUDE.md 获取一般指导,但此处的指导优先。
技术栈
设置以下技术栈:
- Rails ~8 与 PostgreSQL — 服务端框架和数据库
- Inertia.js ~2.3 — 连接 Rails 和 React,带来类 SPA 体验,无需 API
- React ~19.2 — 前端 UI 框架
- Vite ~5 — 支持 HMR 的 JavaScript 打包工具
- Tailwind CSS ~4 — 实用优先的 CSS 框架
- Sidekiq 8 — 后台作业处理,通过 sidekiq-scheduler 执行定时作业
- Redis — 用于会话、缓存和作业队列
Rails 指南
- 不要使用 Kamal 或 Docker
- 不要使用 Rails 的“solid_*”组件或系统
- 尽可能使开发环境与生产环境的设置保持一致
- 使用 Redis 进行缓存
数据库
- 所有表都使用 UUID 主键(pgcrypto 扩展)
- 时间戳使用
timestamptz,以支持时区 - 使用 JSONB 列灵活存储元数据
- 制定全面的索引策略,以提升性能
- 对敏感数据字段(OAuth 令牌、API 密钥)进行加密
后台作业
- 使用 Sidekiq 8 和 Redis
测试
- 始终使用 minitest
- 使用
mochagem 和 VCR 测试外部服务(仅限 providers 层) - 模拟实例优先使用
OpenStruct - 只模拟必要的内容
代码维护
- 进行重大代码更改后运行
bundle exec rubocop -a - 使用
.rubocop.yml配置代码风格 - 使用
bundle exec brakeman执行安全扫描
前端
- 所有 React 组件和视图都应使用 TSX
通用指南
- 规划时多提澄清问题,越多越好。充分使用 AskUserQuestionTool 收集需求和规格。问题越多越好。
验证
运行 bin/rails server 并通过 playwright MCP 访问 http://localhost:3000,验证样板项目是否正常运行。
评论
支持 Markdown