提示编译器

一个轻量级提示编译器,用于从存储库的内存文件中构建令牌预算的上下文包,并生成角色切换提示,适用于任何聊天窗口或大型语言模型。

  • by Mixers28
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Mixers28/local-mcp-context-kit

使用说明

通用切换套件(兼容本地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