使用说明
通用切换套件(兼容本地MCP)
一个小小的 提示编译器 您可以使用 任何聊天窗口/任何LLM (Codex、Claude、ChatGPT等)。 它构建了一个 令牌预算上下文包 从仓库的内存文件中打印 角色切换提示 你复制/粘贴。
此版本适用于您的 本地mcp上下文工具包 布局:
- 阅读:
docs/PROJECT_CONTEXT.md,docs/NOW.md,docs/REPO_MAP.generated.md(如果存在),docs/SESSION_NOTES.md - 包括:
docs/AGENT_SESSION_PROTOCOL.md(摘录) - 如果存在,请使用您的仓库角色提示:
.github/agents/*.agent.md - 可以从仓库内的任何地方运行(自动查找项目根)
安装
选项A(推荐,venv)
从repo根目录:
python -m venv .venv
source .venv/bin/activate
python -m pip install -e .
这暴露了一个 handoffkit CLI(您也可以使用 python -m handoffkit).
选项B(不安装)
直接从repo根目录运行:
python -m handoffkit --help
如果你看到 externally-managed-environment,使用venv或通过安装 pipx.
用法
逃离 任何 目录;只是点 --root 在repo内部的某个地方(如果你已经在里面,可以省略它)。
如果没有安装,请更换 handoffkit 随着 python -m handoffkit.
建筑师
handoffkit architect "Turn my idea into SPEC.md + phases/sprints" --root .
编码员
handoffkit coder "Implement Sprint 1 from SPEC.md" --root .
审阅者(差异文件)
git diff > patch.diff
handoffkit reviewer "Review this patch vs SPEC.md and best practices" --root . --diff patch.diff
审阅者(与标准输入的管道差异)
git diff | handoffkit reviewer "Review this patch vs SPEC.md and best practices" --root . --diff -
QA/测试人员
handoffkit qa_tester "Write a lightweight test plan + edge cases" --root .
波兰语
handoffkit polish "One-pass polish for clarity/consistency" --root .
会话流程
回购地图
在开始新会话之前,或在模块移动/新入口点/责任更改之后生成轻量级地图:
handoffkit map update
文中写道:
docs/REPO_MAP.generated.md用于人/代理启动阅读docs/CODE_INDEX.generated.json用于机器可读的文件角色和Python符号
回购地图指导了首先检查的位置;源代码仍然具有权威性。
开始会话
handoffkit session start --agent-role Coder --open-docs
现在,这将运行强制性的启动漂移检查(git status --porcelain 和 git diff --name-status HEAD --)如果树是脏的,则退出非零。
如果你有意继续使用一棵脏树:
handoffkit session start --agent-role Coder --open-docs --allow-dirty
结束会话(回写+提交)
handoffkit session end --commit
安全行为:
- 需要
docs/NOW.md和docs/SESSION_NOTES.md提交前的更改 - 仅限阶段
docs/NOW.md,docs/SESSION_NOTES.md,以及docs/PROJECT_CONTEXT.md默认情况下 - 使用
--stage-all只有在故意的情况下:
handoffkit session end --commit --stage-all
配置(可选)
如果找不到配置,默认值将与本地mcp上下文工具包对齐。
示例 handoffkit.config.json:
{
"token_budget": 7000,
"baseline_files": ["docs/PROJECT_CONTEXT.md", "docs/NOW.md"],
"session_notes_file": "docs/SESSION_NOTES.md",
"session_notes_tail_lines": 120,
"protocol_file": "docs/AGENT_SESSION_PROTOCOL.md",
"protocol_tail_lines": 120,
"repo_map_file": "docs/REPO_MAP.generated.md",
"code_index_file": "docs/CODE_INDEX.generated.json"
}
备注
- 为了获得最佳的令牌效率,请在内存文件中添加摘要块:
<!-- SUMMARY_START --> ... <!-- SUMMARY_END -->- 推荐在
docs/PROJECT_CONTEXT.md,docs/NOW.md,以及docs/SESSION_NOTES.md
- 该回购包括一项Codex技能草案
skills/local-context-kit/SKILL.md对于map first启动/回写工作流。 - 输出以结束 会话结束-指令 告诉代理包含“会话更新”
因此,您可以轻松地进行更新
NOW.md和SESSION_NOTES.md按照你的协议。
护栏挂钩(可选,但推荐)
安装repo托管挂钩:
git config core.hooksPath .githooks
预提交钩子运行 scripts/check_guardrails.py 以阻止代理/模板漂移。
本地提交+推送
从repo根目录:
python3 scripts/check_guardrails.py
python3 -m unittest discover -s tests -p 'test_*.py'
git status
git add -A
git commit -m "Enforce startup/end-session drift guardrails"
git push origin <branch>
如果您只想运行会话文档提交,请使用:
python3 -m handoffkit session end --commit
