Skip to content
Agent Orchestration
Command

/context

项目上下文管理:初始化 .context 目录、记录决策日志、压缩归档、查看历史

BOOST
From plugin
ccg
5.9k19 skills19 commands
Install
> /plugin marketplace add fengshao1227/ccg-workflow
> /plugin install ccg@ccg

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/context

Context preview

What this command does when you run it.

项目上下文管理:初始化 .context 目录、记录决策日志、压缩归档、查看历史

Command definition

context.md
description: '项目上下文管理:初始化 .context 目录、记录决策日志、压缩归档、查看历史'

Context - 项目上下文管理

管理 `.context/` 目录结构,为 LLM 工具提供决策审计链。

使用方法

/context <subcommand> [options]

子命令

| 子命令 | 说明 | |--------|------| | `init` | 初始化 `.context/` 目录结构 | | `log <message>` | (可选)手动追加备注到 session.log,commit 时会合并 | | `show` | 查看当前分支的 session.log | | `compress` | 压缩 session.log → uncommit.md(手动预览用) | | `history` | 查看 history/commits.md | | `squash <ids...>` | 合并多条 history 记录(配合 git squash) |

> **核心用法**:`init` 一次,之后只管开发。`/ccg:commit` 提交时自动从 git diff 分析决策并归档到 history/。`log` 仅在你想手动补充备注时使用。

---

执行工作流

子命令:init

`[模式:初始化]`

在当前项目根目录创建 `.context/` 结构:

1. 检测项目根目录(查找 `.git/`) 2. 若 `.context/` 已存在,跳过已有文件,仅补全缺失 3. 创建以下结构:

.context/
├── .gitignore
├── .gitattributes
├── prefs/
│   ├── coding-style.md
│   └── workflow.md
├── current/
│   └── branches/
│       └── .gitkeep
└── history/
    ├── commits.jsonl
    ├── commits.md
    └── archives/
        └── .gitkeep

4. **创建 `.context/.gitignore`**:

# Ephemeral workspace — never commit
current/

# Raw interaction logs — always local only
**/session.log
**/session.raw.log
**/*.session.log
**/*.raw.log

# Editor / temp
**/*.tmp
**/*.bak
**/*.swp

5. **创建 `.context/.gitattributes`**:

# JSONL append-only: 'union' merge reduces conflicts
history/commits.jsonl merge=union
history/archives/*.jsonl merge=union

6. **创建 `.context/prefs/coding-style.md`**(团队编码规范模板):

# Coding Style Guide

> 此文件定义团队编码规范,所有 LLM 工具在修改代码时必须遵守。
> 提交到 Git,团队共享。

## General
- Prefer small, reviewable changes; avoid unrelated refactors.
- Keep functions short (<50 lines); avoid deep nesting (≤3 levels).
- Name things explicitly; no single-letter variables except loop counters.
- Handle errors explicitly; never swallow errors silently.

## Language-Specific
<!-- 根据项目语言补充,例如:-->
<!-- ### TypeScript -->
<!-- - Use strict mode; prefer `interface` over `type` for object shapes. -->

## Git Commits
- Conventional Commits, imperative mood.
- Atomic commits: one logical change per commit.

## Testing
- Every feat/fix MUST include corresponding tests.
- Coverage must not decrease.
- Fix flow: write failing test FIRST, then fix code.

## Security
- Never log secrets (tokens/keys/cookies/JWT).
- Validate inputs at trust boundaries.

7. **创建 `.context/prefs/workflow.md`**(LLM 工作流规则):

# Development Workflow Rules

> 此文件定义 LLM 开发工作流的强制规则。
> 所有 LLM 工具在执行任务时必须遵守,不可跳过任何步骤。

## Full Flow (MUST follow, no exceptions)

### feat (新功能)
1. 理解需求,分析影响范围
2. 读取现有代码,理解模式
3. 编写实现代码
4. 编写对应测试
5. 运行测试,修复失败
6. 更新文档(若 API 变更)
7. 自查 lint / type-check

### fix (缺陷修复)
1. 复现问题,确认症状
2. 定位根因
3. 编写失败测试(先有红灯)
4. 修复代码
5. 验证测试通过(变绿灯)
6. 回归测试

### refactor (重构)
1. 确保现有测试通过
2. 小步重构,每步可验证
3. 重构后测试必须全部通过
4. 不改变外部行为

## Context Logging (决策记录)

当你做出以下决策时,MUST 追加到 `.context/current/branches/<当前分支>/session.log`:

1. **方案选择**:选 A 不选 B 时,记录原因
2. **Bug 发现与修复**:根因 + 修复方法 + 教训
3. **API/架构决策**:接口设计选择
4. **放弃的方案**:为什么放弃

追加格式:

## <ISO-8601 时间>
**Decision**: <你选择了什么>
**Alternatives**: <被排除的方案>
**Reason**: <为什么>
**Risk**: <潜在风险>

8. **创建 `.context/history/commits.jsonl`**(空文件)

9. **创建 `.context/history/commits.md`**(人类视图模板):

# Commit Decision History

> 此文件是 `commits.jsonl` 的人类可读视图,可由工具重生成。
> Canonical store: `commits.jsonl` (JSONL, append-only)

| Date | Context-Id | Commit | Summary | Decisions | Bugs | Risk |
|------|-----------|--------|---------|-----------|------|------|

10. **注入 CLAUDE.md 引用**(若项目存在 CLAUDE.md):

检测项目根目录是否有 `CLAUDE.md`,若有则在末尾追加:


## .context 项目上下文

> 项目使用 `.context/` 管理开发决策上下文。

- 编码规范:`.context/prefs/coding-style.md`
- 工作流规则:`.context/prefs/workflow.md`
- 决策历史:`.context/history/commits.md`

**规则**:修改代码前必读 prefs/,做决策时按 workflow.md 规则记录日志。

11. 输出初始化结果摘要

---

子命令:log

`[模式:记录]`

1. 获取当前 Git 分支名:`git branch --show-current` 2. 确保 `.context/current/branches/<branch>/` 目录存在 3. 将 `<message>` 以结构化格式追加到 `session.log`:

## <ISO-8601 当前时间>
<message>

---

子命令:show

`[模式:查看]`

1. 获取当前分支名 2. 读取 `.context/current/branches/<branch>/session.log` 3. 若不存在,提示 "当前分支暂无决策日志" 4. 输出内容

---

子命令:compress

`[模式:压缩]`

将 `session.log` 压缩为结构化 `uncommit.md`,供提交前审查。

1. 读取 `.context/current/branches/<branch>/session.log` 2. 若为空,提示无内容可压缩 3. **脱敏**:扫描并替换潜在敏感信息(token/key/password → `[REDACTED]`) 4. **结构化提取**:从日志中提取 decisions / bugs / alternatives 5. **生成 uncommit.md**:

# Pre-commit Summary: <branch-name>

| Time | Summary | Decision | Method | Result & Bug |
|------|---------|----------|--------|--------------|
| ... | ... | ... | ... | ... |

6. 输出压缩结果供用户审查 7. 提示用户:确认后可执行 `/ccg:commit` 提交

---

子命令:history

`[模式:查看]`

1. 读取 `.context/history/commits.md` 2. 若不存在,提示 "暂无历史记录,请先使用 /ccg:context init" 3. 输出内容 4. 若用户指定文件路径,从 `commits.jsonl` 检索 `changes.files` 包含该路径的条目

---

子命令:squash

`[模式:合并]`

配合 `git squash` 使用,合并多条 ContextEntry。

1. 接收 Context-Id 列表 2. 从 `commits.jsonl` 读取对应条目 3. 生成新的聚合 ContextEntry:

  • 新 `context_id`(UUIDv7)
  • `Context-Refs` = 所有被 squash 的 ids
  • 合并 decisions / bugs / changes

4. 追加到 `commits.jsonl` 5. 重生成 `commits.md`

---

ContextEntry Schema (v1.0.0)

每条 JSONL 记录格式:

{
  "schema_version": "1.0.0",
  "context_id": "<UUIDv7>",
  "created_at": "<ISO-8601>",
  "producer": {
    "tool": "<tool-name>",
    "llm": { "provider": "<provider>", "model": "<model>" }
  },
  "git": {
    "branch": "<branch>",
    "commit_sha": "<short-sha>",
    "trailers": { "Context-Id": "<uuid>" }
  },
  "summary": "<one-line summary>",
  "decisions": [{
    "title": "<decision title>",
    "rationale": "<why>",
    "tradeoffs": ["<tradeoff>"],
    "assumptions": ["<assumption>"],
    "rejected_alternatives": [{ "option": "<alt>", "reason": "<why rejected>" }],
    "side_effects": ["<side effect>"]
  }],
  "bugs": [{
    "symptom": "<what happened>",
    "root_cause": "<why>",
    "fix": "<how fixed>",
    "lesson": "<takeaway>"
  }],
  "changes": { "files": ["<path>"] },
  "tests": [{
Read more
Ships withccg

多模型协作工作流引擎 — /ccg:go 一个命令,AI 自动分析意图、选择策略、编排 Codex + Gemini + Claude 协作执行

Get the whole plugin

Other commands on ccg.