SuperAPI AI 工具集

ce-dhh-rails-style

写作与研究

查看项目

更新于 10-16 00:01

技能介绍

用途:在编写 Ruby 与 Rails 代码时,按 DHH 的 37signals 风格应用约定,也可用于代码评审。

主要能力:覆盖控制器(REST 映射、concerns、Turbo 响应、API 模式)、模型(concerns、状态记录、回调、scope、PORO、授权)、视图与前端(Turbo、Stimulus、CSS、partial)、架构(路由、多租户、认证、任务、缓存)、测试(Minitest、fixtures、集成测试)、依赖选择(该用与该避开的 gem)以及代码评审。核心主张包括:领域模型优于服务对象、CRUD 控制器优于自定义 action、用 concerns 做横向复用、用记录表示状态而非布尔列、优先数据库方案而非 Redis 等外部服务、先自建再考虑 gem。其刻意避开的方案包括 devise、pundit/cancancan、sidekiq、redis、view_component、GraphQL、factory_bot、rspec、Tailwind。约定示例:用动词方法如 card.close、谓词方法如 card.closed?、以能力形容词命名 concern(Closeable、Publishable、Watchable)、以名词命名控制器(Cards::ClosuresController);用新资源替代自定义 action,如 POST /cards/:id/closure、DELETE /cards/:id/closure、POST /cards/:id/archival。

使用方式:按需求选择编号或描述任务,随后读取对应参考文件再应用到用户代码——1 控制器对应 references/controllers.md,2 模型对应 references/models.md,3 视图/前端对应 references/frontend.md,4 架构对应 references/architecture.md,5 测试对应 references/testing.md,6 依赖对应 references/gems.md,7 评审需读取全部参考。成功标准包括:控制器映射到资源的 CRUD 动词、模型用 concerns、状态用记录、避免不必要的服务对象、测试用 Minitest 与 fixtures、交互用 Turbo/Stimulus、原生 CSS 特性、授权逻辑放在 User 模型、任务仅作浅层包装。

限制:资料注明该指南由 LLM 生成,可能包含不准确之处;代码示例来自 Fizzy,采用 O'Saasy 许可证;与 37signals 无关联,亦未获其认可。资料未说明安装方式、收费、价格或支持平台。