跳到主要内容
    ↑↓ 选择↵ 打开esc 关闭
    中文English
    coryshipit

    Branch Context Guard

    v0.1.2Git 与版本控制
    opencode-branch-context-guard

    A tiny OpenCode TUI plugin that detects branch context drift during AI Coding sessions.

    GitHub 星标

    0

    月装机量

    409

    近 7 天 409

    综合评分SCORE

    36.0

    生态多维模型

    最近提交

    5 天前

    2026-08-14

    快速安装与配置

    opencode.json

    写入当前项目的 opencode.json,只对这个仓库生效。

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-branch-context-guard@0.1.2"]
    }

    opencode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。

    A tiny OpenCode TUI plugin that keeps Git context drift and AI-generated changes visible while coding.

    OpenCode tells you which branch you're on. This plugin tells you when the session's branch context has changed.

    What It Does

    • Remembers the branch context when a session starts.
    • Warns when the current branch changes during that session.
    • Shows the number of files changed by the current session.
    • Optionally shows additions and deletions when available.
    • Stays silent when there is nothing important to report.

    Example states:

    feature branch + clean
    -> nothing
    
    feature branch + session changes
    -> 3 files · +42 -7
    
    branch changed
    -> warning: branch changed
    

    In Action

    The prompt-right status shows an unacknowledged branch-context change alongside the current session's file and line summary.

    OpenCode TUI showing a branch changed warning and session change summary

    Scope

    This is a read-only safety indicator, not a Git management tool. It does not create, switch, delete, commit, push, pull, merge, rebase, or stash branches. It also does not claim to know whether the user or the Agent changed the branch.

    Installation

    Verified with OpenCode 1.18.16. Add the npm package to your global or project TUI configuration, then restart OpenCode:

    Package: opencode-branch-context-guard on npm

    ~/.config/opencode/tui.json:

    {
      "$schema": "https://opencode.ai/tui.json",
      "plugin": ["opencode-branch-context-guard"]
    }
    

    For a project-only installation, create .opencode/tui.json with the same configuration. OpenCode installs npm TUI plugins and their dependencies automatically at startup. Users configure only the package name; internally, the package exposes OpenCode's required ./tui entrypoint.

    For local development, configure tui.json with a file:// URL to tui.mjs; npm run deploy:atdd creates this configuration for the dedicated ATDD fixture.

    Behavior

    • The first effective branch switch after a user prompt displays branch changed.
    • Further switches before the next user prompt display branch changed ×N.
    • The next user prompt accepts the current branch as the new baseline and clears the branch warning.
    • File summaries use muted text for file counts, the active theme's diff-added color for +N, and its diff-removed color for -N.

    Development

    npm install
    npm run typecheck
    npm test
    npm run deploy:atdd
    

    deploy:atdd configures the dedicated sibling fixture ../branch-context-guard-atdd to load this repository's tui.mjs entrypoint directly. Set OPENCODE_ATDD_DIR to deploy to another dedicated target. The target is generated runtime configuration, not a second source tree; do not edit its .opencode/tui.json manually.

    See docs/mission.md, docs/tech-stack.md, docs/roadmap.md, and docs/manual-atdd.md for product context, technical design, roadmap, and acceptance testing.

    See docs/changelog.md for release notes.

    Release Verification

    Before creating a GitHub Release, push the version tag to run Windows CI, then verify the published npm package loads by name in a real OpenCode TUI after clearing its package cache. See docs/tech-stack.md and docs/manual-atdd.md for the required checks.

    License

    MIT