feat: bundled plugin marketplace β coda-essentials#17
Open
feat: bundled plugin marketplace β coda-essentials#17
Conversation
Introduces a plugin system for CODA instances, with coda-essentials as
the first bundled plugin. setup_claude.py now loads plugins at startup by
staging them into ~/.claude/plugins/cache/ and writing the plugin state
files that Claude Code's plugin loader expects.
coda-essentials provides:
- Agents: build-feature, implementer, prd-writer, test-generator
- Commands: /cache-stats (token cache hit rate), /til (capture learning)
- Hooks: session-context-loader, session-crystallize-nudge,
push-brain-to-workspace (brain sync to Databricks Workspace),
check-memory-staleness, mlflow-trace-stop
setup_claude.py additions:
- Plugin staging into ~/.claude/plugins/cache/
- Plugin state file generation so Claude Code recognises installed plugins
- Fork-wide directive injection (uv, library floors, catalog name)
- Editor detection (micro, nano, vim) for Bash deny-rule population
claude_brain_sync.py: syncs ~/.claude/ brain files to Databricks Workspace
on git commit for cross-session persistence.
Co-authored-by: Isaac
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.
Priority
P2 (foundation) β plugin loader for CODA. Functionally inert until users install plugins from the marketplace, but #16 (databricks-skills) depends on this landing first.
Summary
Migrates datasciencemonkey PR #140 to the new repo home, rebased onto
databrickslabs/main.Introduces a plugin system for CODA.
setup_claude.pynow stages plugins into~/.claude/plugins/cache/and writes the state files Claude Code's plugin loader expects.coda-essentialsis the first bundled plugin.Plugin loader changes (
setup_claude.py):~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/and writeknown_marketplaces.json+installed_plugins.json(Claude Code refuses to load plugins without these state files).~/.claude/CLAUDE.md.coda-essentialsprovides:build-feature,implementer,prd-writer,test-generator./cache-stats,/til.session-context-loader,session-crystallize-nudge,push-brain-to-workspace,check-memory-staleness,mlflow-trace-stop.Rebase note
The branch's original commit overwrote
settings.jsonwholesale; main's PR #153 introduced a read-merge-write pattern to fix a race wheresetup_mlflow.pyenv vars got dropped. The conflict was resolved by keeping main's read-merge-write and layering the plugin/permissions/hooks keys on top viasettings[key] = ...assignments. No env keys are touched β main's per-key assignments handle that. Safe with respect to PR #153.Test plan
coda-essentialsappears in/plugins/cache-statsand confirm it returns token cache statisticspush-brain-to-workspacehook fires ongit commitand brain files appear in workspace~/.claude/CLAUDE.mdafter setup~/.claude/settings.jsonstill contains MLflow env vars after setup_mlflow.py runs (regression check for PR #153)Closes #12
This pull request and its description were written by Isaac.