Skip to content

change mods to plugins and add the following - #146

Merged
danielehrhardt merged 4 commits into
mainfrom
godmode/39-change-mods-to-plugins-and-add-the-follo
Oct 11, 2026
Merged

danielehrhardt merged 4 commits into
mainfrom
godmode/39-change-mods-to-plugins-and-add-the-follo

Conversation

@danielehrhardt

Copy link
Copy Markdown
Contributor

Mods become Plugins, with one-click installs from GitHub

Mods are now called Plugins, and Godmode can install whole Claude Code plugins from GitHub. Claude Video and oh-my-claudecode are featured, and every plugin can be switched on or off, updated and uninstalled from its card.

What changed

  • Rename: the page is now /plugins, and old /mods?mod=… links redirect. Sidebar, command palette, chat notes, notifications and agent prompts say "plugin". The code, the mods table and /api/mods keep their names.
  • Featured: Claude Video (bradautomates/claude-video) and oh-my-claudecode (Yeachan-Heo/oh-my-claudecode) install in one click.
  • Install from GitHub: "Add plugin" takes owner/repo, a GitHub link (also to a folder or branch) or a clone URL. If a repository lists several plugins, the dialog asks which one.
  • Installed cards: each shows repository, version, what the plugin brings (skills, subagents, commands, hooks, MCP servers) and the tokens it adds to every session. The page behind a card has a Contents tab.
  • Updates: Godmode looks for newer commits one minute after start and every six hours, or on "Check for updates". If Claude Code's validator refuses the new version, the old one stays.
  • Uninstall removes the plugin and its downloaded files.
  • Agents: the tools are now plugins_list and plugin_save, plus a new plugin_install. Anything an agent installs arrives switched off for the human to switch on.
  • MCP servers of plugins: runs only take MCP servers from Godmode's own config, so a plugin's servers are now added there. Without this, oh-my-claudecode's tools were missing.

The "Made by Godmode" gallery (Protect files, Command guard, …) is unchanged apart from the wording.

How it was checked

  • Tests: the full core suite passes on the branch merged with main (1765 pass, 0 fail), including 17 new tests in packages/core/test/plugins-git.test.ts. All packages typecheck and the UI builds.
  • Real installs: on a scratch instance, both plugins installed from GitHub (Claude Video in about 2 s, oh-my-claudecode in about 6 s).
  • Real run: an agent had the watch skill, oh-my-claudecode's subagents and its 55 MCP tools available. I did not run /watch on an actual video.
  • Update path: Claude Video was rolled back to 0.3.1, detected as outdated and updated to 0.3.2 through the UI. Switch-off and uninstall were also clicked through.
  • Review: an independent review found seven issues; all are fixed and the main ones have tests:
    • symlinks in a cloned repository could read files outside the checkout
    • an annotated tag always showed "Update ready"
    • plugins defined only in a marketplace file could not be installed or updated
    • a concurrent update could take a plugin away from a starting run
    • smaller validation gaps

Good to know

  • Claude Video needs Python 3.10+, ffmpeg and yt-dlp on the computer; oh-my-claudecode needs Node.js 20+. The cards say so, but Godmode does not install them.
  • oh-my-claudecode adds about 4.3k tokens to every session of the agents it runs for and starts its own hooks and an MCP server. Use "Runs for" to limit it to some agents.
  • A human's install is switched on right away when the validator accepts it. The install dialog has a switch to leave it off.
  • Three older README screenshots (mod-code.png, mod-options.png, mods-chat.png) still show the old "Mods" sidebar label. I kept them because the features they show are unchanged.
  • Database migration 84 adds two columns to mods. Existing plugins keep working.

Screenshots

New in docs/screenshots/, with copies in /Users/danielehrhardt/.godmode/agents/godmode/workspace/godmode-bot/plugins-screenshots/:

  • plugins.png
  • plugins-featured.png
  • plugin-overview.png
  • plugin-contents.png
  • plugin-install.png

Nothing is needed from you beyond reviewing and merging the pull request.


Task #39 · done by Godmode with Godmode Bot

Plugins from a repository are cloned at a pinned commit, checked with Claude
Code's validator, inventoried (skills, agents, commands, hooks, MCP servers)
and loaded into runs from their checkout. Updates are looked up every few
hours and installed on request; a version Claude Code refuses isn't installed.
Agents get plugins_list, plugin_save and plugin_install.
The page moves to /plugins (old /mods links redirect). Claude Video and
oh-my-claudecode install in one click from a Featured section, any other
repository through Install from GitHub. Installed plugins show their
repository, version, what they bring and their token cost, with update,
check for updates and uninstall on the card and on their page.
…nshots

A run takes MCP servers from Godmode's config alone, so the servers a loaded
plugin declares go in there under Claude Code's names (plugin_<plugin>_<server>).

Review fixes: links in a cloned repository aren't followed out of the
checkouts, an annotated tag no longer reads as an update, plugins their
marketplace describes get a manifest with their name, a run holds its
checkouts before it waits, records with a folder or ref that leads elsewhere
aren't loaded, and tidying checkouts never fails the request.

README and ARCHITECTURE describe Plugins; new screenshots.
@danielehrhardt
danielehrhardt merged commit ce14033 into main Oct 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant