Skip to content

feat(codex): redo plugin in proper .codex-plugin/ marketplace format#5

Merged
PipDscvr merged 4 commits intomainfrom
feat/codex-cli-redo
Apr 21, 2026
Merged

feat(codex): redo plugin in proper .codex-plugin/ marketplace format#5
PipDscvr merged 4 commits intomainfrom
feat/codex-cli-redo

Conversation

@PipDscvr
Copy link
Copy Markdown
Collaborator

Summary

Rewrite of plugins/codex/ in the proper Codex plugin format. Closes/supersedes #4, which shipped a config.toml approach that isn't how Codex's plugin marketplace actually works.

What's inside now

plugins/codex/
├── .codex-plugin/plugin.json      # manifest w/ full interface metadata
├── .codex-mcp.json                # MCP server spec (stdio via npx)
├── skills/atomicmemory/SKILL.md   # memory protocol skill
├── marketplace.example.json       # template for .agents/plugins/marketplace.json
├── logo.svg                       # AtomicMem icon (#3A60E4)
├── package.json
└── README.md

Install options documented

  • Repo marketplace (recommended for teams) — drop .agents/plugins/marketplace.json at repo root
  • Personal marketplace — same but at ~/.agents/plugins/marketplace.json
  • Manual MCP config — skips the skill, just registers tools directly

Interface metadata

Populated from the mem0-plugin reference, adapted for AtomicMemory:

  • displayName: AtomicMemory
  • category: Productivity
  • brandColor: #3A60E4 (webapp brand)
  • defaultPrompt: three sample queries users can click to exercise memory
  • websiteURL: https://atomicmemory.ai

Why the redo

Mem0's mem0-plugin/.codex-plugin/plugin.json is 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

  • Manual smoke: drop marketplace.example.json into a repo's .agents/plugins/marketplace.json, install via Codex marketplace, confirm tools + skill appear (blocked on SDK publishing to npm)
  • Env keys in .codex-mcp.json match packages/mcp-server/src/config.ts expectations
  • Scope env vars match SDK V3 Scope shape (user / agent / namespace / thread)

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.
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.
@PipDscvr PipDscvr merged commit afe960a into main Apr 21, 2026
@PipDscvr PipDscvr deleted the feat/codex-cli-redo branch April 21, 2026 22:07
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