Add plugin distribution and connected Context Tree workflows - #6
Merged
Conversation
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This change packages Context Tree as a portable Agent Plugins v1.0.0 core while retaining the current Codex and Claude Code adapters, and adds an explicit, persistent connection between a project and its verified Context Tree checkout.
plugin.jsonusing the canonical Agent Plugins v1.0.0 schema, synchronized package metadata, and no client-specific component declarations.codex-plugin/plugin.jsonand.claude-plugin/plugin.jsonas native adapters, with default-discovered skills and lifecycle hooks plus npm-backed marketplace installationcontext-tree-linkskill andconnect,resolve,refresh, andstageCLI workflows with versioned Zod response contractsWhy
The portable manifest gives standards-conformant clients a minimal, framework-neutral package identity. Codex and Claude Code still need their native manifests, marketplace entries, and automatic lifecycle hooks, so those remain as adapters around the same packaged skills and CLI.
Previously, skills also had to repeat repository discovery and Git plumbing, and there was no durable way for a project session to identify its Context Tree. Explicit connections make resolution deterministic across sessions, while the packaged hook injects only the verified tree identity and path without fetching, cloning, or mutating state. Moving refresh and staging into the CLI gives read and write workflows one tested contract for selecting the live default branch and exact base commit.
Distribution layout
plugin.jsonis the closed Agent Plugins v1.0.0 portable manifest.codex-plugin/plugin.jsonand.claude-plugin/plugin.jsonare current-client adaptersskills/contains the four framework-neutral skills at the standard default locationhooks/hooks.jsonpreserves the existingSessionStartandSubagentStartbehavior outside the portable v1 component set.agents/plugins/marketplace.jsonand.claude-plugin/marketplace.jsonpreserve npm-backed installationBehavior and safety
~/.context-tree/connections.jsonNODE.md, and declared project relationships are verified before connectingVerification
pnpm installpnpm checkpnpm typecheckpnpm test(75 tests passed)pnpm buildpnpm validate:skillspnpm check:packagenpm pack --dry-runnode scripts/sync-skill-versions.mjs --checkclaude plugin validate .passes; Claude reports its expected warning that npm marketplace sources are not yet fully implementedpnpm test:codex-plugin --check