Persona-driven command pack and MCP setup for Codex CLI
Project description
Codexpp
Codexpp is an extension framework that turns the OpenAI Codex CLI into a structured, persona-driven workflow engine built for repeatable delivery. It delivers reusable slash commands, persona-driven guidance, and automatic MCP (Model Context Protocol) setup to make Codex sessions more productive and consistent.
Table of Contents
- Features
- Installation
- Quick Start
- Codex CLI Utilities
- Prompt Authoring
- Command Details
- Parameter Glossary
- Contributing
- License
Features
- Slash Commands: TOML-based definitions surface as
cx:*commands inside Codex CLI. - Persona Mode: Apply roles such as
system-architect,implementation-engineer, orcode-reviewerwith a single flag. - Automatic Integration:
codexpp codex installwires commands, prompt files, and MCP profiles into Codex CLI. - Prompt Templates: Markdown-based prompts (YAML front matter + sectioned output) power every
cx:*command and are auto-synchronized into Codex CLI. - Template Validation: Prompt placeholders are validated before execution to prevent missing variables, ensuring Codex never runs with missing inputs.
- Persona Synchronisation: Keep project and global
AGENTS.mdfiles up-to-date with one command. - MCP Management: Ships with popular MCP servers (Filesystem, Context7, GitHub, Memory, Sequential Thinking, Puppeteer).
Installation
Requirements
- Python 3.11+
- Node.js & npm (for Codex CLI)
- Codex CLI (
npm install -g @openai/codex)
From PyPI
Recommended (isolated CLI):
pipx install codexpp
# or
uv tool install codexpp
Alternatives:
# Use a project virtualenv (venv)
python -m venv .venv && source .venv/bin/activate
pip install -U pip
pip install codexpp
# or use a project virtualenv with UV
uv venv .venv && source .venv/bin/activate
uv pip install codexpp
Development setup
git clone https://github.com/avometre/codexpp.git
cd codexpp
uv venv .venv && source .venv/bin/activate
uv pip install -e .
(You can swap UV for python -m venv + pip install -e . if you prefer.)
Verify the installation:
codexpp --help
codexpp codex status
Quick Start
Use the following flow to enable cx:* commands inside Codex CLI:
-
Install commands into Codex CLI
codexpp codex install --force
- Updates the slash command block in
~/.codex/config.toml. - Writes prompt templates into
~/.codex/prompts/. - Installs the bundled prompt templates and MCP profiles, so no extra tools or manual copying is required.
- Updates the slash command block in
-
Launch Codex CLI
codex
In the
/prompts:menu you will seecx:analyze,cx:implement,cx:review, and the rest of the commands ready to run. -
One-shot project setup
codexpp codex init --profile full --force
Creates bootstrap folders, synchronises personas, installs command packs, and wires everything into Codex CLI in a single step.
Codex CLI Utilities
codexpp codex install
Installs the bundled slash commands and MCP profiles into your local Codex CLI configuration. Use the safety-related flags below when running on a shared machine or when you want to preview the changes first.
Useful flags
--dry-run— print the planned config diff and MCP summary without touching any files or syncing prompts.--backup— write a<config>.baksnapshot before modifying~/.codex/config.toml.--backup-path PATH— send the backup to a custom location (e.g. version-controlled dotfiles repo).- Automatically searches for the Codex CLI in common npm/pnpm install directories (falls back to
--codex-binif you need a custom path).
Example dry-run output:
$ codexpp codex install --dry-run
[codexpp] [1/5] Preparing Codex CLI context
• Project path : /workspace/codexpp
• Codex binary : /usr/local/bin/codex
[codexpp] [2/5] Loading command definitions
• Base commands : 12
• Command packs : (none)
• Total commands: 12
...
[codexpp] [5/5] Syncing Codex prompt templates
• Target directory: /home/me/.codex/prompts
• Force overwrite : False
[codexpp] Codex install completed.
codexpp codex uninstall
Cleans the slash command block, prompt templates, and MCP profiles that were previously installed.
Useful flags
--dry-run— list the config diff and every prompt/MCP file that would be removed.--backup/--backup-path PATH— same backup behaviour ascodex install.--prompts-dir/--mcp-dir— override the target directories if your Codex CLI lives elsewhere.
Dry-run example:
$ codexpp codex uninstall --dry-run
[codexpp] [1/4] Analyzing Codex installation
• Config path : /home/me/.codex/config.toml
• Prompts dir : /home/me/.codex/prompts (12 file(s) tracked)
• MCP dir : /home/me/.codex/mcp (6 file(s) tracked)
[codexpp] Dry run enabled; no files were changed.
codexpp version
Shows detailed environment info without touching your Codex setup.
Highlights
- Prints the codexpp package version, install path, Python executable, and Codex CLI binary/version.
- Use
--jsonfor machine-readable output or--codex-binto probe a custom Codex CLI path.
$ codexpp version
Codexpp 0.x.y
Location : /workspace/codexpp/codexpp
Python : 3.11.9 (/usr/local/bin/python3)
Codex CLI: /usr/local/bin/codex — codex 0.56.0
Prompt Authoring
Every cx:* command ships with a Markdown template located under codexpp/resources/prompts/default/.
Each file follows the same structure:
---
title: Repository Analysis
description: Analyze the selected scope and provide an evidence-based briefing.
argument_hint: TARGET=<path> [CONTEXT="notes"] [FOCUS="areas"] [DEPTH=medium]
persona: system-architect
---
...section headings and bullet guidance that reference $TARGET/$FOCUS/etc...
Key points:
- The YAML front matter defines metadata plus
argument_hintandpersona. - Inside the body,
$PLACEHOLDERtokens (e.g.,$TARGET,$FOCUS) are for readability and guidance in the Codex CLI prompts. When usingcodexpp commands run, parameters are rendered as{{target}}-style variables from the TOML definitions; the synced Codex prompts keep the$PLACEHOLDERtext as-is. - When you run
codexpp commands renderorcodexpp codex install, the CLI syncs these Markdown templates as-is (including front matter) into Codex.
To customize or add prompts:
- Edit/create the Markdown file under
codexpp/resources/prompts/default/. - (Optionally) update
codexpp/resources/commands/*.tomlif you need new inputs or metadata. - Run
codexpp commands render <id>to preview, orcodexpp codex install --forceto push into Codex CLI.
Command Details
-
cx:analyze- Purpose: Evidence-based repository analysis for a selected scope; no implementation code.
- Persona:
system-architect - Output: Executive Summary; Architecture & Data Flow; Dependencies & Surfaces; Quality & Risk; Hotspots & Evidence; Recommendations & Roadmap
- Usage hint:
TARGET=<path or scope> [CONTEXT="..."] [FOCUS="..."] [DEPTH=light|medium|deep]
-
cx:brainstorm- Purpose: Turn vague ideas into concrete, multi-domain requirements through Socratic exploration.
- Persona:
requirements-analyst - Output: Discovery Summary; Socratic Exploration; Multi-Domain Analysis; Specification Outline; Validation & Feasibility; Handoff Summary
- Usage hint:
IDEA="<concept or feature>" [STRATEGY=systematic|agile|enterprise] [DEPTH=shallow|normal|deep]
-
cx:implement- Purpose: Plan and describe concrete code and test changes in small, verifiable steps.
- Persona:
implementation-engineer - Output: Implementation Summary; Plan & Steps; Code Changes By Area; Tests; Manual Verification; File Summary
- Usage hint:
SPEC="<feature or task>" [NOTES="..."] [FLAG="..."]
-
cx:review- Purpose: Senior-level code review with prioritized, actionable feedback.
- Persona:
code-reviewer - Output: Change Summary; Review Classification; Strengths; Issues – Must Fix; Issues – Should Fix; Issues – Nice To Have; Tests And Coverage; Overall Recommendation
- Usage hint:
DIFF_SOURCE=<diff or ref> [FOCUS="..."] [RISK=low|medium|high]
-
cx:plan- Purpose: Turn a feature/problem into a staged implementation plan with risks and tests.
- Persona:
system-architect - Output: Overview; Assumptions; High-Level Approach; Step-By-Step Plan; Testing Strategy; Risks And Trade-Offs; Dependencies And Sequencing
- Usage hint:
SPEC="<feature or problem>" [HINTS="..."] [CONSTRAINTS="..."] [ESTIMATE=true|false]
-
cx:test- Purpose: Practical test strategy (behaviors, scenarios, cases, commands).
- Persona:
implementation-engineer - Output: Test Goal; Existing Coverage; Test Scenarios; Test Cases; Test Implementation Plan; Edge Cases And Risks; Next Actions
- Usage hint:
CHANGE="<summary>" [TESTS="..."] [COVERAGE="percent or notes"]
-
cx:doc- Purpose: Audience-tailored documentation for a change.
- Persona:
system-architect - Output: Overview; Audience And Impact; Key Concepts And Behavior; How To Use / Integrate; Operational Notes; Follow-Up Documentation
- Usage hint:
CHANGE="<summary>" [AUDIENCE="developer|user|API|ops"] [STYLE="..."]
-
cx:deploy- Purpose: Safe, repeatable deployment plan with pre-checks, steps, verification, and rollback readiness.
- Persona:
implementation-engineer - Output: Deployment Summary; Pre-Deployment Checks; Deployment Steps; Verification & Observability; Rollback Readiness; Next Actions
- Usage hint:
NOTES="<release notes>" ENVIRONMENT=<env> [WINDOW="..."] [FLAG="..."]
-
cx:rollback- Purpose: Fast, safe rollback plan with triggers, steps, and follow-ups.
- Persona:
implementation-engineer - Output: Rollback Summary; Rollback Scope; Preconditions And Safety Checks; Rollback Steps; Post-Rollback Verification; Risks And Irreversible Effects; Follow-Up Actions
- Usage hint:
INCIDENT="<summary>" [VERSION="<current or target>"] [DB_IMPACT=yes|no] [FEATURE_FLAG="..."]
-
cx:status- Purpose: Operational status briefing summarizing health, incidents, risks, and actions.
- Persona:
system-architect - Output: Status Summary; Status Classification; What Is Healthy; What Is Concerning; Incidents & Outstanding Work; Recommendations
- Usage hint:
SCOPE="<service or module>" [METRICS="..."] [SLO="..."]
-
cx:security- Purpose: Focused security audit with prioritized findings and concrete mitigations.
- Persona:
code-reviewer - Output: Security Overview; Assets And Threat Model; Key Findings; Severity Breakdown; Recommended Fixes; Testing And Validation; Next Actions
- Usage hint:
TARGET=<scope> [CONTEXT="..."] [FOCUS="..."] [DEPTH=light|medium|deep] [FORMAT=markdown|json|yaml|html]
Parameter Glossary
TARGET— Directory, package, or file scope. Defaults to current directory (.). Examples:src/,pkg/payments,src/app.py.CONTEXT— Free-form notes or constraints to shape answers (e.g., "monolith", "internal only", "performance first").FOCUS— Comma-separated focus tags; not strict, they guide the output. Common values:arch,deps,tests,perf,security,readability.- Examples:
FOCUS=arch,tests,FOCUS=security,perf.
- Examples:
DEPTH— How exhaustive the analysis/audit is:light(high-level),medium(balanced),deep(thorough, more hotspots and specifics).FORMAT— Output format forcx:security:markdown(default),json,yaml,html.RISK— Expected risk level forcx:review:low|medium|high; influences strictness/priorities in review.ESTIMATE— Whethercx:planincludes rough time estimates:true|false(defaultfalse).COVERAGE— Coverage target forcx:test. Number or percent string (e.g.,80or80%).FLAG— Feature flag name used to guard rollouts incx:implement/cx:deploy.WINDOW— Maintenance window text used bycx:deploy(e.g.,2025-11-14 03:00–04:00 UTC).SCOPE— Service or module name forcx:status(e.g.,payments-api).METRICS— Highlighted metrics or dashboard links forcx:status.SLO— SLO targets forcx:status(e.g.,99.9% monthly availability).HINTS— Repo hints forcx:plan(e.g.,src/users, tests/test_users.py).CONSTRAINTS— Assumptions/limits forcx:plan(e.g.,no DB migrations).ENVIRONMENT— Target environment forcx:deploy(e.g.,staging,production).INCIDENT— Incident summary or link forcx:rollback.VERSION— Current or rollback target version forcx:rollback(e.g.,v1.2.3).DB_IMPACT—yes|noindicator for data/migration impact incx:rollback.FEATURE_FLAG— Flag to disable duringcx:rollback.
Passing parameters examples:
- Inside Codex CLI: follow each command’s
argument_hintshown in the/promptsmenu. - From shell with codexpp:
codexpp commands run cx:analyze --set target=src/ --summary.
Contributing
Contributions are welcome via issues and pull requests. Please keep changes small and focused, follow the existing style, and include tests or updates to documentation when relevant.
License
MIT License — see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codexpp-0.4.2.tar.gz.
File metadata
- Download URL: codexpp-0.4.2.tar.gz
- Upload date:
- Size: 68.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93ff96f795d3dccec6728471c1a0b5ea2e6d2d1891b1c10b92c56ae3c30af450
|
|
| MD5 |
86748e51c85c0cbc58fb10e803f577d0
|
|
| BLAKE2b-256 |
a3b3710667e9e413b05b1c6f3a8065d550e4f5f59277162329d6540905f83de4
|
File details
Details for the file codexpp-0.4.2-py3-none-any.whl.
File metadata
- Download URL: codexpp-0.4.2-py3-none-any.whl
- Upload date:
- Size: 70.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3a885cb1df67aa4f191226f09dfce5f1b6342f6357a347e2bc773271676ba81
|
|
| MD5 |
2a121e62154e576ae97ebd06724e2306
|
|
| BLAKE2b-256 |
d4008e604a3b19d2e0d872f862e577f4c5f17c888b63645c685b2ac12284f872
|