feat(codex): redo plugin in proper .codex-plugin/ marketplace format#5
Merged
feat(codex): redo plugin in proper .codex-plugin/ marketplace format#5
Conversation
Replaces the config.toml approach (PR #4, closed) with the actual Codex plugin manifest shape used by the Codex plugin marketplace: plugins/codex/ ├── .codex-plugin/plugin.json # Codex plugin manifest w/ interface │ # metadata (displayName, capabilities, │ # category, brandColor, defaultPrompt, │ # logo, links) ├── .codex-mcp.json # MCP server spec — stdio via │ # `npx @atomicmemory/mcp-server`, │ # env mirrors SDK V3 scope keys ├── skills/atomicmemory/ │ └── SKILL.md # memory protocol skill — on every │ # new task, after significant work, │ # before losing context ├── marketplace.example.json # template for .agents/plugins/ │ # marketplace.json (repo or user │ # level); users copy and point │ # source.path at this plugin dir ├── logo.svg # AtomicMem #3A60E4 icon ├── package.json # workspace membership (private) └── README.md Three install options documented: - Repo marketplace (recommended for teams) - Personal marketplace (~/.agents/plugins/marketplace.json) - Manual MCP config (skips the skill, just registers tools) No runtime code — all memory semantics live in packages/mcp-server. Matches the shape of mem0-plugin/.codex-plugin/ adapted for AtomicMemory's pluggable provider model and scope semantics.
2 tasks
Description and longDescription in .codex-plugin/plugin.json used "swap between AtomicMemory and Mem0" as the pluggability pitch. Replace with generic language about the SDK's MemoryProvider model for alternative backends — same technical story, no third-party name in the Codex marketplace listing. Also drops the `# or "mem0"` comment from the ATOMICMEMORY_PROVIDER export in README. The enum value still works — users who need it can set it — but the README doesn't advertise it.
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
Rewrite of
plugins/codex/in the proper Codex plugin format. Closes/supersedes #4, which shipped aconfig.tomlapproach that isn't how Codex's plugin marketplace actually works.What's inside now
Install options documented
.agents/plugins/marketplace.jsonat repo root~/.agents/plugins/marketplace.jsonInterface metadata
Populated from the mem0-plugin reference, adapted for AtomicMemory:
displayName: AtomicMemorycategory: ProductivitybrandColor:#3A60E4(webapp brand)defaultPrompt: three sample queries users can click to exercise memorywebsiteURL: https://atomicmemory.aiWhy the redo
Mem0's
mem0-plugin/.codex-plugin/plugin.jsonis the canonical reference for Codex plugin shape. My PR #4 predated that survey and used~/.codex/config.toml— which is the manual-MCP path, not the plugin path. Closing #4 with context and starting over was cleaner than patching.Test plan
marketplace.example.jsoninto a repo's.agents/plugins/marketplace.json, install via Codex marketplace, confirm tools + skill appear (blocked on SDK publishing to npm).codex-mcp.jsonmatchpackages/mcp-server/src/config.tsexpectationsScopeshape (user/agent/namespace/thread)