ClawFirm 代码库文件分类规则
核心原则
一句话版本: 代码直接提交,自然语言走 app/assets,Skill 双写,Shortcut 归 shortcuts。
分类决策树
文件是什么类型?
│
├─ 纯代码(Go / JS / TS / HTML / CSS / YAML配置 / Dockerfile ...)
│ → 直接提交到 GitHub 对应目录
│
├─ 纯自然语言(Skill MD / 提示词 / 文案模板 / 参考文档 ...)
│ → app/assets/ 对应子目录
│ → 如果是 Skill,还需同步到 ~/.clawfirm/skills/
│
├─ 混合项目(代码 + 自然语言文件)
│ → 只要包含自然语言文件 → 整体放 app/assets/
│
└─ 自媒体 CDP 分发 YAML
→ app/assets/shortcuts/
详细规则
1. 纯代码文件 → 直接提交 GitHub
| 文件类型 | 示例 | 目标位置 |
|---|---|---|
| Go 源码 | *.go, go.mod, go.sum |
项目对应 package 目录 |
| Web 前端 | *.ts, *.tsx, *.vue, *.css |
cmd/*/frontend/ |
| 配置文件 | Dockerfile, Makefile, .yaml(非Skill) |
项目根或对应目录 |
| Shell 脚本 | *.sh |
项目对应目录 |
| 二进制构建 | 编译产物 | .gitignore 排除 |
处理方式: git add → git commit → git push,无需额外操作。
2. 自然语言内容 → app/assets/
| 内容类型 | 目标路径 | 说明 |
|---|---|---|
| Skill 提示词 | app/assets/skills/<name>/SKILL.md |
平台文案规则、AI 能力定义 |
| Skill 参考文档 | app/assets/skills/<name>/references/ |
算法指南、格式规格、审核规则 |
| 工作流文档 | app/assets/skills/<name>/WORKFLOW.md |
多 Skill 编排流程 |
| 文案模板 | app/assets/skills/<name>/templates/ |
Hook 公式、CTA 模板 |
3. Skill 文件 → 双写同步
Skill 文件必须同时存在于两个位置:
源码位置(Git 管理):
app/assets/skills/<skill-name>/SKILL.md
app/assets/skills/<skill-name>/references/*.md
运行时位置(本地同步):
~/.clawfirm/skills/<skill-name>/SKILL.md
~/.clawfirm/skills/<skill-name>/references/*.md
同步命令:
cp -r app/assets/skills/<skill-name> ~/.clawfirm/skills/
4. 自媒体 CDP Shortcut → app/assets/shortcuts/
| 文件 | 说明 |
|---|---|
app/assets/shortcuts/<platform>.yaml |
完整发布流程(含点击发布) |
app/assets/shortcuts/<platform>-fill.yaml |
仅填写不发布(用户手动确认) |
已有 Shortcuts:
xhs.yaml— 小红书douyin.yaml/douyin-fill.yaml— 抖音tiktok.yaml/tiktok-fill.yaml— TikTokbilibili.yaml/bilibili-fill.yaml— B站x.yaml— Twitter/Xyoutube.yaml/youtube-fill.yaml— YouTubezhipin.yaml— Boss直聘
5. 敏感文件 → .gitignore 保护
以下内容绝不提交到 GitHub:
_ops/.env— 环境变量 / API Key_ops/finance/— 财务数据_ops/LegalEntity/— 法律实体文件_ops/PPT/— 内部演示_ops/demo-video/— 演示视频_ops/reports/— 内部报告.mcp.json— MCP 配置(含 API Key)bin/— 编译产物
操作清单
每次提交代码库时,按此清单执行:
- 分类 — 按上述决策树判断每个文件的归属
- 放置 — 移动文件到正确目录
- 同步 Skill — 如有 Skill 变更,
cp -r到~/.clawfirm/skills/ - 检查 .gitignore — 确认敏感文件未被追踪
- 提交 —
git add具体文件(不用git add .)→git commit→git push - 更新索引 — 如新增 Skill/Shortcut,更新
skill-index/SKILL.md