项目规则文件

项目规则文件让你给 Agent 提供关于项目的持久上下文——技术栈、代码规范、架构决策、常用命令等。Agent 在每次会话开始时自动读取它。

支持的文件名

OpenClacky 按以下顺序在项目根目录查找文件:

文件名 备注
.clackyrules 推荐——OpenClacky 原生格式
.cursorrules 兼容 Cursor 规则格式
CLAUDE.md 兼容 Claude Code 格式

找到第一个即使用,每次会话只加载一个文件。


写什么内容

任何让 Agent 在你项目中高效工作所需的信息:

# 我的项目

## 技术栈
- Ruby on Rails 7.2 + PostgreSQL
- Stimulus + Hotwire Turbo(不用 jQuery,不写内联 JS)
- Tailwind CSS,使用自定义设计 token

## 常用命令
- `bin/dev` — 启动开发服务器(不要用 `rails s`)
- `rake test` — 运行完整测试套件
- `rails runner 'code'` — 执行一次性 Ruby 代码

## 代码规范
- 所有 Stimulus controller 必须用 TypeScript
- 不用原生 Tailwind 颜色类,统一用语义化 token
- Controller 渲染 turbo_stream 模板,不写 respond_to 块

适合写的内容:
- 如何启动 / 测试 / 构建项目
- 架构决策和原因
- 要遵循的模式(以及要避免的反模式)
- 领域模型概览
- 非显而易见的约束或注意事项

保持简洁。 该文件会被注入到系统 prompt——结构清晰、内容精简比大段文字更有效。


加载机制

该文件作为系统 prompt 的第 3 层注入,位于 Agent 核心指令之后、个性设置和 Skill 上下文之前,在整个会话期间始终有效。

第 1 层:Agent 角色与职责
第 2 层:通用行为规则
第 3 层:← 你的 .clackyrules 在这里
第 4 层:Agent 个性(SOUL.md)
第 5 层:用户画像(USER.md)
第 6 层:可用 Skill 列表

多项目工作区

如果工作区包含多个子项目,在工作区根目录放一个 .clackyrules 统一覆盖:

# 我的工作区

两个并行开发的子项目。

## 项目 A:api/ — Rails 后端
- PostgreSQL,Ruby 3.2
- `cd api && bin/dev` 启动

## 项目 B:web/ — Next.js 前端
- TypeScript,Tailwind
- `cd web && npm run dev` 启动

## 共同约定
- API 统一版本化到 /api/v1
- 所有日期用 ISO 8601 格式

使用技巧

  • 随项目演进及时更新 — 过期的规则比没有规则更糟糕
  • 用标题组织结构 — Agent 靠结构快速定位,不是线性阅读
  • 命令逐字写清楚 — 精确的命令比描述更有用