mempalace/.codex-plugin
Igor Lins e Silva 868b4c9b39 fix(hooks): portable mtime in macOS hook throttles; doc cleanup
Address review feedback surfaced on the 3.4.1 release promotion (#1810).

Bug fix — `date -r FILE` is GNU-only. On BSD/macOS `date -r` expects
epoch seconds, not a path, so the staleness/throttle checks in the new
Cursor and Antigravity hooks silently failed on macOS: the state GC
swept on every fire and the pending-save guard was skipped. Replace
with a portable `os.path.getmtime` one-liner via the already-resolved
$MEMPAL_PYTHON_BIN (cursor/lib, antigravity/lib, antigravity save hook).
This restores the "bash 3.2.57 / macOS default" compatibility the
Antigravity changelog claims.

Docs:
- Correct the MCP tool count to 33 (was 19/29/31 in 21 places across
  plugin manifests, READMEs, and website docs — all drifted from the
  TOOLS dict / mcp-tools.md reference, which both have 33).
- Fix broken CHANGELOG link to the Cursor skill (skills/, not
  .cursor-plugin/skills/).
- Fix one-too-many `../` in skills/mempalace/SKILL.md's cursor-hooks
  link (resolved above the repo root).
- Add the required `mcpServers` wrapper to the mcp.json example in
  .cursor-plugin/README.md so copy-paste yields a valid Cursor config.

Left intentionally unchanged: the os.dup2 fd-1 redirect in
mcp_server.py is deliberate (#225 keeps JSON-RPC off fd 1).
2026-06-14 19:54:16 -03:00
..
hooks fix: use mempalace CLI in hook scripts instead of python3 -m 2026-04-21 01:26:35 -03:00
skills feat: add Codex plugin support with hooks, commands, and documentation 2026-04-08 19:10:44 +03:00
README.md fix(hooks): portable mtime in macOS hook throttles; doc cleanup 2026-06-14 19:54:16 -03:00
hooks.json fix(hooks): quote CLAUDE_PLUGIN_ROOT / CODEX_PLUGIN_ROOT in hooks.json (#1076) (#1077) 2026-05-02 21:25:11 -03:00
plugin.json fix(hooks): portable mtime in macOS hook throttles; doc cleanup 2026-06-14 19:54:16 -03:00

README.md

MemPalace - Codex CLI Plugin

Give your AI a persistent memory -- mine projects and conversations into a searchable palace backed by ChromaDB, with 33 MCP tools, auto-save hooks, and guided skills.

Prerequisites

  • Python 3.9+
  • Codex CLI installed and configured
  • uv tool install mempalace (recommended) or pip install mempalace

Installation

Local Install

  1. Copy or symlink the .codex-plugin directory into your project root:
cp -r .codex-plugin /path/to/your/project/.codex-plugin
  1. Verify the plugin is detected:
codex --plugins
  1. Initialize your palace:
codex /init

Git Install

  1. Clone the MemPalace repository:
git clone https://github.com/MemPalace/mempalace.git
cd mempalace
  1. Install the Python package so the mempalace-mcp script lands on your PATH (the bundled plugin.json invokes it by bare name):
uv tool install --editable .   # or: pip install -e .

Plain uv sync is not enough here — it installs the scripts into .venv/bin/, which Codex will not find unless you activate the venv before launching Codex.

  1. The .codex-plugin directory is already in the repo root. Codex CLI will detect it automatically when you run Codex from inside the repository.

  2. Initialize your palace:

codex /init

Available Skills

Skill Description
/help Show available commands and usage tips
/init Initialize a new memory palace
/search Semantic search across all mined memories
/mine Mine a project or conversation into your palace
/status Show palace status, room counts, and health

Hooks

The plugin includes auto-save hooks that run on session stop (every 15 messages) and before context compaction, automatically preserving conversation context into your palace.

Set the MEMPAL_DIR environment variable to a directory path to automatically run mempalace mine on that directory during each save trigger.

Support