mcpField
N
new-rails-project

new-rails-project

github.com/shpigford开发69 次安装
代码仓库

关于 new-rails-project

为新 Rails 项目生成配置指南,面向需要搭建 Rails 与 React 应用的开发者。它规定数据库、后台作业、测试和前端等技术选择,并要求先澄清需求、运行检查。

主要功能

  1. 01Rails 8、PostgreSQL 与 Inertia.js
  2. 02React、Vite 与 Tailwind CSS
  3. 03Sidekiq 与 Redis 后台作业
  4. 04UUID 主键及加密字段
  5. 05minitest 测试与安全扫描

适用场景

  1. 01从当前目录创建 Rails 项目
  2. 02按指定技术栈生成应用骨架
  3. 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
  • 使用 mocha gem 和 VCR 测试外部服务(仅限 providers 层)
  • 模拟实例优先使用 OpenStruct
  • 只模拟必要的内容

代码维护

  • 进行重大代码更改后运行 bundle exec rubocop -a
  • 使用 .rubocop.yml 配置代码风格
  • 使用 bundle exec brakeman 执行安全扫描

前端

  • 所有 React 组件和视图都应使用 TSX

通用指南

  • 规划时多提澄清问题,越多越好。充分使用 AskUserQuestionTool 收集需求和规格。问题越多越好。

验证

运行 bin/rails server 并通过 playwright MCP 访问 http://localhost:3000,验证样板项目是否正常运行。

评论

支持 Markdown