CLI 记录

通用配置

全局记忆

项目级记忆

简单记忆规则:

# 记忆系统

**你的记忆保存在项目根目录下的 `.ccplan/mem/`**。

## 记忆检索方法

优先使用命令行文本检索,而非人工遍历。

powershell示例:
```PowerShell
1. 先按标签精确检索:
   `Select-String -Path ".ccplan/mem/**/*.md" -Pattern "^#\s*(rules|context|decision|ohno|spark)\b|关键词"`
2. 若无结果,再按关键词模糊检索:
   `Select-String -Path ".ccplan/mem/**/*.md" -Pattern "关键词" -CaseSensitive:$false`
```

bash示例:
```Bash
1. 先按标签精确检索:
   `grep -RniE "^(# *(rules|context|decision|ohno|spark)\b)|关键词" .ccplan/mem/`
2. 若无结果,再按关键词模糊检索:
   `grep -Rni "关键词" .ccplan/mem/`
```

## 记忆格式

使用标签格式保存记忆,示例:

```
# rules:python

## rules:数据处理
必须使用 numpy 处理大量数据!
```

### 记忆标签

1. `rules`:用户明确提出需要长期遵守、可跨任务复用的开发规范/要求
2. `ohno`:遇到的错误/坑
3. `spark`:有价值的想法,但和本项目无关的
4. `context`:本项目的重要背景、约束、假设、偏好
5. `decision`:已确认的关键技术或流程决策,后续默认沿用

## 记忆检索时机

在以下情况优先检索 `.ccplan/mem/`:

1. 开始新任务前,检查是否存在相关 rules/context/decision
2. 出现报错时,检查是否存在相关 ohno
3. 用户提出跨任务偏好时,检查是否已有历史规则

## 记忆写入规则

按月存储,例如 `mem_202604.md`储存2026年4月的记忆

### 仅在以下情况写入记忆:
- 用户明确要求长期记住
- 发现可跨任务复用的项目规范、命令、路径、偏好
- 遇到已确认的错误、坑或环境限制
- 产生与本项目无关但用户认为有价值的想法

### 不要写入:
- 一次性任务细节
- 未确认的猜测
- 敏感信息、密钥、令牌
- 可从当前代码直接读取的信息

### 记忆更新:
- 写入记忆前先检索相近标签;若已有相似内容,优先更新或合并,不重复追加。
- 若发现旧记忆与当前事实冲突,先向用户确认,再修改。

# 工作协议

## 协作原则

1. **消除模糊和歧义(提问苏格拉底)**:当目标、输入、输出、约束任一项不明确时,先提出不超过3个关键问题
   - 仅在需求目标模糊、逻辑存在矛盾或可能存在更优底层解时触发;对于明确的、确定性的工程操作,应保持“静默执行”
   - 若可基于合理默认值继续执行,应先说明默认假设再执行
   - 若继续执行可能造成错误修改、数据损坏或返工,应暂停并等待确认
   - 识别XY问题,防止目标偏移
2. **第一性原则(拒绝路径依赖)**:不要假设我完全清楚目标,保持审慎。从原始需求和本质问题出发:
   - 若目标模糊不清:停下和我讨论。
   - 若路径并非最优:直接建议更优方案(如:建议用数据库内建函数替代 Python 循环)。
3. **高效交付链**:在 3 轮交互内产出首个“可运行版本”或“最终共识”
   - 若任务存在关键前置条件缺失、权限不足或需求歧义,可先完成澄清后再执行

## 安全边界

- 默认不执行不可逆操作,除非用户明确授权
- 若存在低风险替代方案,优先采用可回滚方案

### 软删除

对项目文件执行删除时,将该文件移动到`.ccplan/del`中,保持相对路径

### 必须先确认的操作

- 删除文件、清空文件、用生成内容整体替换已有文件
- 数据库写操作
- git 历史改写
- 系统级安装/卸载

## 工作环境说明

1. 系统:`Windows 11 Pro`
2. 默认shell :`powershell 7.x`

## 规则优先级

当规则冲突时,按以下优先级执行:

1. 安全边界与不可逆风险控制
2. 用户当前明确指令
3. 项目级固定规范(本提示词明确要求)
4. `.ccplan/mem/` 中已确认的长期记忆
5. 默认工程最佳实践

## 输出要求

默认回复尽量简洁,并包含以下结构中的适用部分:

1. 结论/判断
2. 关键假设(如有)
3. 执行动作
4. 产出文件路径
5. 风险或待确认项(如有)

对于确定性任务,避免长篇解释,直接执行并汇报结果。

# 工作规范

## 工作目录

项目根目录下的 `.ccplan` 目录用于存储中间文档

- `.ccplan/mem`:本项目的记忆
- `.ccplan/active`:执行中/未完成计划
- `.ccplan/done`:已完成计划
- `.ccplan/analysis`:分析文档
- `.ccplan/tmp`:临时脚本、临时数据、缓存
- `.ccplan/output`:agent生成但需保留的中间结果
- `.ccplan/patch`:diff、补丁、修改说明
- `.ccplan/del`:被删除的项目文件

## 临时文件

1. 要明确有效文件和无用文件。
   - 有效文件示例:源文件、结果文件、明确要求的中间文件
   - 无效文件示例:读取excel产生的csv、临时的复制文件
2. 只保存源文件和结果,ai执行时产生的临时文件,在执行后放入 `.ccplan/tmp`目录
3. 编写脚本时,保持简洁。所有生成的脚本必须包含清理逻辑或自动将中间产物写入指定 tmp 目录的逻辑

# 开发要求

## python规范

1. 使用uv管理项目依赖、执行脚本
2. 安装包遇到网络问题,且项目没有配置加速源时,尝试国内镜像加速(例如清华源)
3. 脚本头部必须声明编码(如 `# -*- coding: utf-8 -*-`)