用途
Patterns 是按机器、按项目学习得到的:哪些文件通常是浪费,哪些通常有用,哪些会被一起编辑。队友新克隆一份仓库时是「盲」的,会通过消耗同样的 token 重新学一遍同样的经验。cco-patterns 的作用就是让这些模式变得可移植,从而降低团队的重复摸索成本。
主要能力
-
export:导出模式摘要。命令在插件根目录(包含 src/patterns-share.js 的目录)下运行:
node ${CLAUDE_PLUGIN_ROOT}/src/patterns-share.js export该命令会在项目中写入
.cco/patterns.digest.json(可用 --out 覆盖)。摘要只包含相对路径和计数——没有文件内容、没有绝对路径、没有主目录。无法以项目根目录相对路径表达的条目会被丢弃,命令会报告丢弃了多少条。文件在写入前会经过审计;如果混入了任何可识别信息,它会拒绝写入,而不是产出一个可能被人提交的文件。此时应告知使用者该摘要是可以安全提交的,而且提交正是它的意义所在:队友在克隆时就能拿到它。 -
import:导入摘要。
node ${CLAUDE_PLUGIN_ROOT}/src/patterns-share.js import .cco/patterns.digest.json导入的数据会合并进当前项目的模式中。导入的数据被存为一份独立的先验——它绝不会改动使用者自己的计数。这一点很重要,值得明确说明:置信度是根据这台机器观察到某文件的会话数量计算出来的。把别人的会话折进这个数字里,会让使用者自己的置信度变成一个谎言。因此导入只填补使用者自己没有任何观察的地方——也就是新克隆的场景——本地证据始终优先。
摘要在进入时同样会被审计,因为它来自外部。含有绝对路径或路径穿越片段的文件会被拒绝,而不是被清洗。
-
show:列出为本项目导入了哪些内容,以及每个文件的标签。
node ${CLAUDE_PLUGIN_ROOT}/src/patterns-share.js show
使用方式
从插件根目录(包含 src/patterns-share.js 的目录)运行上述命令,按 $ARGUMENTS 解析 export、import <file> 或 show。
适用场景
适合在以下情况建议使用:
- 使用者正在为团队搭建仓库并询问上手成本时。
- 项目有值得关注的浪费历史(/cco-shield 显示重复出现的问题文件),而每个队友本来都会重新发现一遍时。
- 有人刚克隆了一个已经包含 .cco/patterns.digest.json 的仓库——可以建议导入它。
限制
- 摘要只包含相对路径和计数,不含文件内容、绝对路径或主目录。
- 无法表达为项目根目录相对路径的条目会被丢弃。
- 写入前会进行审计,若含可识别信息则拒绝写入。
- 导入文件若包含绝对路径或路径穿越片段会被拒绝,而不是被清洗。
- 导入只填补本地没有观察的空白,本地证据始终优先。
关于收费、价格、平台支持等信息,资料中暂未提供。