Skip to content

Replace Codex plugin bundle with source checkout and update flow#32

Merged
yimwoo merged 1 commit intomainfrom
hotl/codex-plugin-update-flow
Mar 27, 2026
Merged

Replace Codex plugin bundle with source checkout and update flow#32
yimwoo merged 1 commit intomainfrom
hotl/codex-plugin-update-flow

Conversation

@yimwoo
Copy link
Copy Markdown
Owner

@yimwoo yimwoo commented Mar 27, 2026

Summary

  • Replace the copied-bundle Codex plugin install with a git-clone-based source checkout at ~/.codex/plugins/hotl-source/
  • Add update.sh --codex-plugin for updating the plugin source with backup protection
  • The no-flag update.sh (curl one-liner) now auto-detects and updates the plugin source too
  • Delete .codex-plugin/marketplace.json — installer generates entries from plugin.json; template used undocumented "source": "url" type
  • --status now reports source checkout health alongside marketplace registration
  • Migration: old bundle at ~/.codex/plugins/hotl/ detected and removed on re-install

Key design decisions

  • Source checkout at ~/.codex/plugins/hotl-source/ — clean separation from Codex cache
  • --local mode points marketplace at current checkout (no nested clone)
  • Dirty checkouts are backed up before resetting; --force-codex-plugin skips backup
  • Version tracked across 5 locations (removed marketplace.json)

Test plan

  • bats test/smoke.bats passes (44/44)
  • New test: .codex-plugin/marketplace.json does not exist
  • Version parity across 5 manifest files
  • No "source": "url" references in installer or updaters

🤖 Generated with Claude Code

- install.sh --codex-plugin now clones to ~/.codex/plugins/hotl-source/
  instead of rsyncing a bundle to ~/.codex/plugins/hotl/
- install.sh --codex-plugin --local points marketplace at current checkout
- update.sh --codex-plugin updates the source checkout with backup protection
- update.sh (no flags) also auto-detects and updates the plugin source
  checkout, so the curl one-liner covers all install modes
- Delete .codex-plugin/marketplace.json — installer generates entries from
  plugin.json; template was drift-prone and used undocumented source type
- --status now reports source checkout health alongside marketplace registration
- Migration: old copied bundle at ~/.codex/plugins/hotl/ is detected and
  removed during re-install

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@yimwoo yimwoo merged commit 2fdf7ae into main Mar 27, 2026
1 check passed
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