跳到主要内容
    ↑↓ 选择↵ 打开esc 关闭
    navbytes

    Context Tree

    opencode-context-tree·v0.3.0·Git 与版本控制

    Pi-style context tree for OpenCode: branch, merge (human-confirmed decision records), crop, undo, plus a DeepSeek-Harness-style trajectory view

    GitHub 星标

    4

    近 30 天 +1

    月装机量

    1,313

    近 7 天 36

    综合评分

    46.5

    生态多维模型

    最近提交

    14 天前

    2026-09-21

    快速安装与配置

    opencode.json

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

    opencode.json

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

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

    CI license

    A monorepo of independently versioned and published OpenCode plugins. Each publishable package lives under packages/<name>/ with its own package.json, README, and release history; the root only holds shared tooling (TypeScript base config, the harness/ PTY test rig) and CI.

    Package Description
    packages/context-tree Pi-style context tree for OpenCode: branch, merge, crop, undo, plus a trajectory view
    packages/git-stats Sidebar card: working-tree diff figures, plus a GitHub-coloured chip per pull request the session touched

    Adding a plugin

    1. Create packages/<name>/ with its own package.json and release scripts, and add it to the workflow_dispatch.inputs.package choice list in .github/workflows/release.yml and publish.yml.
    2. Publish its first version by hand. npm's trusted publishing cannot be set up for a package that does not exist yet — the trust record silently fails to attach and the exchange reports "package not found". From packages/<name>/: npm version <v> --no-git-tag-version --ignore-scripts && bun run build && npm publish --access public --ignore-scripts, then reset the version (git checkout -- package.json) since the tag is the source of truth. --ignore-scripts is required: npm chokes on the workspace:* specifiers inside @opentui's own published metadata, which is also why the build is explicit rather than left to prepack.
    3. Then create the trust record, once per package — it binds to the package, not the repo, so a second plugin needs its own: npm trust github <pkg> --file publish.yml --repo navbytes/opencode-plugins, with environment npm (the publish job declares one; a record without it will not match the OIDC claims).
    4. After that, gh workflow run release.yml -f package=<name> -f bump=patch does the rest. Note bump= computes off the newest <name>-v* tag and ignores a prerelease suffix, so the release a beta anticipated must be cut with an explicit -f version=, not bump=.

    A green release.yml only means it tagged and dispatched, and a green publish.yml only means npm accepted the upload — the registry lags by a minute or two. Check the registry, not the workflow.

    Development

    bun install
    bun run build       # builds every package
    bun run typecheck   # typechecks every package
    bun test            # runs every package's tests
    

    同类生态推荐