eoc — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited eoc (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Language: English | Português (Brasil) | 简体中文 | 繁體中文 | 日本語 | 한국어 | Türkçe | Русский | Tiếng Việt | ไทย
Everything OpenAI Codex - the operating system for OpenAI Codex workflows
Live GitHub badges above are the source of truth. EOC is a field-tested, MIT-licensed Codex workflow system with 12+ language ecosystems, a working repo-marketplace plugin path, and a public rc.1 release track.
<div align="center">
Language / 语言 / 語言 / Dil / Язык / Ngôn ngữ
English | Português (Brasil) | 简体中文 | 繁體中文 | 日本語 | 한국어 | Türkçe | Русский | Tiếng Việt | ไทย
</div>
The operating system for serious OpenAI Codex work.
Everything OpenAI Codex, or EOC, turns a raw agent harness into a repeatable engineering environment: scoped instructions, reusable skills, quality gates, session memory, install profiles, cross-harness adapters, and release evidence in one open-source repo.
This is not a prompt dump. It is a maintained workflow system extracted from daily Codex use on real software projects. The repo currently ships a validated catalog of 60 agents, 232 skills, 110 rules, 28 hook matchers, 29 install modules, and 75 legacy command shims.
Works across OpenAI Codex, Cursor, OpenCode, Gemini, Zed, GitHub Copilot, Trae, and adjacent agent harnesses.
EOC v2.0.0-rc.1 adds the public Hermes operator story on top of that reusable layer: start with the Hermes setup guide, then review the rc.1 release notes and cross-harness architecture.
EOC is organized around a repeatable operator loop, not a single prompt pack:
Intake -> Route -> Plan -> Execute -> Verify -> Capture -> ResumeThat loop is backed by concrete repo surfaces:
| Loop stage | EOC surface |
|---|---|
| Intake and boundaries | AGENTS.md, agent.yaml, install profiles, .codexignore, and safety rules define what the agent owns before work starts |
| Routing | skills/, agents/, rules/, commands/, and cross-harness adapters map a task to the right specialist workflow |
| Execution | hook profiles, MCP configs, install manifests, and orchestration scripts keep runs reproducible across Codex, Cursor, OpenCode, Gemini, Zed, Copilot, and Trae |
| Verification | /quality-gate, skills/verification-loop/, skills/eval-harness/, scripts/preview-pack-smoke.js, manifest validators, and docs tests turn completion into evidence |
| Capture and resume | scripts/status.js, scripts/work-items.js, scripts/session-inspect.js, scripts/sessions-cli.js, hook snapshots, and ecc2/ alpha session commands preserve state for handoff or continuation |
The stable public layer is the contract-and-workflow system above. The Rust control plane in ecc2/ is the in-tree alpha runtime for dashboard, session, status, start, stop, resume, and daemon flows; it is intentionally labeled alpha until packaging and cross-harness resume semantics mature.
AI coding tools get dramatically better when the harness has memory, boundaries, checks, and reusable operating patterns. EOC packages those pieces as installable, test-covered surfaces instead of asking every project to rediscover them.
| If you need... | EOC gives you... |
|---|---|
| Safer Codex sessions | AGENTS.md guidance, hook gates, no-verify blocks, MCP health checks, and supply-chain scanners |
| Better long-running work | session capture, compaction prompts, observer memory, status snapshots, and handoff-friendly logs |
| Reusable expertise | skill packs for backend, frontend, security, ML, docs, operations, and release work |
| Cross-tool portability | install targets and adapters for Codex, Cursor, OpenCode, Gemini, Zed, Copilot, Trae, and more |
| Reviewer confidence | catalog checks, manifest validators, PromptGuard-aware prompt surfaces, and a broad regression suite |
Use one path only:
# Recommended for OpenAI Codex plugin users
/plugin marketplace add https://github.com/mturac/everything-openai-codex
/plugin install eoc@eocor:
# Source install for local/manual evaluation
git clone https://github.com/mturac/everything-openai-codex.git
cd everything-openai-codex
npm install
node scripts/install-apply.js --profile minimal --target codex --dry-run
node scripts/install-apply.js --profile minimal --target codexDo not stack plugin and full manual installs. If you already layered install methods, use Reset / Uninstall EOC.
| Overview | Install flow |
|---|---|
| EOC overview screenshot | EOC install flow screenshot |
| Catalog surface | Security workflow |
|---|---|
| EOC catalog surface screenshot | EOC security workflow screenshot |
For launch copy, submission targets, and image links, see the launch kit.
This repo is the source of truth. Use maintained repository docs instead of external video or thread references.
| Document | When to use it |
|---|---|
| Hermes setup | Set up the Hermes x EOC operator workflow |
| Public review guide | Evaluate EOC quickly for directories, awesome lists, and community submissions |
| Product improvement backlog | Prioritize activation, catalog discovery, install health, package trust, and demo proof |
| rc.1 release notes | Understand the current public release surface |
| Cross-harness architecture | Port skills, rules, and adapters between harnesses |
| Token optimization | Tune Codex model, compaction, and cost settings |
ecc_dashboard.py or npm run dashboard) with dark/light theme toggle, font customization, and project logo in header and taskbar.brand-voice, social-graph-ranker, connections-optimizer, customer-billing-ops, google-workspace-ops, project-flow-ops, and workspace-surface-audit round out the operator lane.manim-video, remotion-video-creation, and upgraded social publishing surfaces make technical explainers and launch content part of the same system.nestjs-patterns, richer Codex/OpenCode install surfaces, and expanded cross-harness packaging keep the repo usable beyond OpenAI Codex alone.ecc2/ now builds locally and exposes dashboard, start, sessions, status, stop, resume, and daemon commands. It is usable as an alpha, not yet a general release.eoc status --markdown --write status.md turns the local state store into a portable handoff covering readiness, active sessions, skill-run health, install health, pending governance events, and linked work items from Linear/GitHub/handoffs. Use eoc work-items upsert ... for manual entries, eoc work-items sync-github --repo owner/repo for PR/issue queue state, and eoc status --exit-code to fail automation when readiness needs attention.install-plan.js and install-apply.js for targeted component installation. State store tracks what's installed and enables incremental updates.typescript-reviewer, pytorch-build-resolver, java-build-resolver, java-reviewer, kotlin-reviewer, kotlin-build-resolver expand language coverage to 10 languages.pytorch-patterns for deep learning workflows, documentation-lookup for API reference research, bun-runtime and nextjs-turbopack for modern JS toolchains, plus 8 operational domain skills and mcp-server-patterns.ecc_HOOK_PROFILE=minimal|standard|strict and ecc_DISABLED_HOOKS=... for runtime gating without editing hook files./harness-audit, /loop-start, /loop-status, /quality-gate, /model-route.AGENTS.md-based Codex support, installer targeting, and Codex docsarticle-writing, content-engine, market-research, investor-materials, investor-outreachparse_instinct_file() was silently dropping all content after frontmatter (Action, Evidence, Examples sections) during /instinct-import. (#148, #161)configure-ecc skill provides guided setup with merge/overwrite detection/pm2, /multi-plan, /multi-execute, /multi-backend, /multi-frontend, /multi-workflow) for managing complex multi-service workflowscommon/ + typescript/ + python/ + golang/ directories. Install only the languages you needllms.txt for comprehensive OpenCode docs/sessions command for session historySee the full changelog in Releases.
Get up and running in under 2 minutes:
Most OpenAI Codex users should use exactly one install path:
/plugin install first, then install.sh --profile full or npx eoc-install --profile full afterward.If you already layered multiple installs and things look duplicated, skip straight to Reset / Uninstall EOC.
If hooks feel too global or you only want EOC's rules, agents, commands, and core workflow skills, skip the plugin and use the minimal manual profile:
./install.sh --profile minimal --target codex
# or, from a packaged/tarball install:
npx eoc-install --profile minimal --target codex.\install.ps1 --profile minimal --target codex
# or, from a packaged/tarball install:
npx eoc-install --profile minimal --target codexThis profile intentionally excludes hooks-runtime.
If you want the normal core profile but need hooks off, use:
./install.sh --profile core --without baseline:hooks --target codexAdd hooks later only if you want runtime enforcement:
./install.sh --target codex --modules hooks-runtimenpx eoc consult "security reviews" --target codexIt returns matching components, related profiles, and preview/install commands. Use the preview command before installing if you want to inspect the exact file plan.
For production ML/MLOps workflows, keep the install opt-in and component-scoped:
npx eoc consult "mlops training model deployment" --target codex
node scripts/install-apply.js --profile minimal --target codex --with capability:machine-learningNOTE: The plugin is the default Codex path. Use the source installer only when you want local/manual control or you are debugging a marketplace cache issue.
# Add marketplace
/plugin marketplace add https://github.com/mturac/everything-openai-codex
# Install plugin
/plugin install eoc@eocEOC now has three public identifiers, and they are not interchangeable:
mturac/everything-openai-codexeoc@eoc@mturac/eoc (registry packaging channel; not required for the Codex plugin path)This is intentional. OpenAI marketplace/plugin installs are keyed by a canonical plugin identifier, so EOC uses eoc@eoc to keep tool names and slash-command namespaces short enough for strict Desktop/API validators. Older posts may still show the former long marketplace identifier; treat that as a legacy alias only. Separately, the npm channel uses @mturac/eoc, so npm installs and marketplace installs intentionally use different names.
WARNING: Important: OpenAI Codex plugins cannot distribute rules automatically.>
If you already installed EOC via /plugin install, do not run `./install.sh --profile full`, `.\install.ps1 --profile full`, or `npx eoc-install --profile full` afterward. The plugin already loads EOC skills, commands, and hooks. Running the full installer after a plugin install copies those same surfaces into your user directories and can create duplicate skills plus duplicate runtime behavior.>
For plugin installs, manually copy only therules/directories you want under~/.codex/rules/ecc/. Start withrules/commonplus one language or framework pack you actually use. Do not copy every rules directory unless you explicitly want all of that context in Codex.
>
Use the full installer only when you are doing a fully manual EOC install instead of the plugin path.
>
# Clone the repo first
git clone https://github.com/mturac/everything-openai-codex.git
cd everything-openai-codex
# Install dependencies (pick your package manager)
npm install # or: pnpm install | yarn install | bun install
# Plugin install path: copy only EOC rules into the legacy ecc-owned namespace
mkdir -p ~/.codex/rules/ecc
cp -R rules/common ~/.codex/rules/ecc/
cp -R rules/typescript ~/.codex/rules/ecc/
# Fully manual EOC install path (use this instead of /plugin install)
# ./install.sh --profile full# Windows PowerShell
# Plugin install path: copy only EOC rules into the legacy ecc-owned namespace
New-Item -ItemType Directory -Force -Path "$HOME/.codex/rules/ecc" | Out-Null
Copy-Item -Recurse rules/common "$HOME/.codex/rules/ecc/"
Copy-Item -Recurse rules/typescript "$HOME/.codex/rules/ecc/"
# Fully manual EOC install path (use this instead of /plugin install)
# .\install.ps1 --profile full
# npx eoc-install --profile fullFor manual install instructions see the README in the rules/ folder. When copying rules manually, copy the whole language directory (for example rules/common or rules/golang), not the files inside it, so relative references keep working and filenames do not collide.
Use this only if you are intentionally skipping the plugin path:
./install.sh --profile full.\install.ps1 --profile fullIf you choose this path, stop there. Do not also run /plugin install.
If EOC feels duplicated, intrusive, or broken, do not keep reinstalling it on top of itself.
~/.codex/rules/ecc/.node scripts/uninstall.js --dry-runThen remove EOC-managed files:
node scripts/uninstall.jsYou can also use the lifecycle wrapper:
node scripts/eoc.js list-installed
node scripts/eoc.js doctor
node scripts/eoc.js catalog search security
node scripts/eoc.js repair
node scripts/eoc.js uninstall --dry-run
npm run demo:smokeEOC only removes files recorded in its install-state. It will not delete unrelated files it did not install.
If you stacked methods, clean up in this order:
# Skills are the primary workflow surface.
# Existing slash-style command names still work while EOC migrates off commands/.
# Plugin install uses the canonical namespaced form
/eoc:plan "Add user authentication"
# Manual install keeps the shorter slash form:
# /plan "Add user authentication"
# Check available commands
/plugin list eoc@eocThat's it! You now have access to 60 agents, 232 skills, and 75 legacy command shims.
Launch the desktop dashboard to visually explore EOC components:
npm run dashboard
# or
python3 ./ecc_dashboard.pyFeatures:
WARNING: multi-* commands are not covered by the base plugin/rules install above.>
To use/multi-plan,/multi-execute,/multi-backend,/multi-frontend, and/multi-workflow, you must also install theccg-workflowruntime.
>
Initialize it with npx ccg-workflow.>
That runtime provides the external dependencies these commands expect, including: -~/.codex/bin/codeagent-wrapper-~/.codex/.ccg/prompts/*
>
Withoutccg-workflow, thesemulti-*commands will not run correctly.
This plugin now fully supports Windows, macOS, and Linux, alongside tight integration across major IDEs (Cursor, Zed, OpenCode, Antigravity) and CLI harnesses. All hooks and scripts have been rewritten in Node.js for maximum compatibility.
The plugin automatically detects your preferred package manager (npm, pnpm, yarn, or bun) with the following priority:
CODEX_PACKAGE_MANAGER.codex/package-manager.jsonpackageManager field~/.codex/package-manager.jsonTo set your preferred package manager:
# Via environment variable
export CODEX_PACKAGE_MANAGER=pnpm
# Via global config
node scripts/setup-package-manager.js --global pnpm
# Via project config
node scripts/setup-package-manager.js --project bun
# Detect current setting
node scripts/setup-package-manager.js --detectOr use the /setup-pm command in OpenAI Codex.
Use runtime flags to tune strictness or disable specific hooks temporarily:
# Hook strictness profile (default: standard)
export ecc_HOOK_PROFILE=standard
# Comma-separated hook IDs to disable
export ecc_DISABLED_HOOKS="pre:bash:tmux-reminder,post:edit:typecheck"
# Cap SessionStart additional context (default: 8000 chars)
export ecc_SESSION_START_MAX_CHARS=4000
# Disable SessionStart additional context entirely for low-context/local-model setups
export ecc_SESSION_START_CONTEXT=off
# Keep context/scope/loop warnings but suppress API-rate cost estimates
export ecc_CONTEXT_MONITOR_COST_WARNINGS=offWindows PowerShell:
[Environment]::SetEnvironmentVariable('ecc_CONTEXT_MONITOR_COST_WARNINGS', 'off', 'User')This repo is an OpenAI Codex plugin - install it directly or copy components manually.
everything-openai-codex/
|-- .codex-plugin/ # Plugin manifest
| |-- plugin.json # Plugin metadata and component paths
|
|-- agents/ # 60 specialized subagents for delegation
| |-- planner.md # Feature implementation planning
| |-- architect.md # System design decisions
| |-- tdd-guide.md # Test-driven development
| |-- code-reviewer.md # Quality and security review
| |-- security-reviewer.md # Vulnerability analysis
| |-- build-error-resolver.md
| |-- e2e-runner.md # Playwright E2E testing
| |-- refactor-cleaner.md # Dead code cleanup
| |-- doc-updater.md # Documentation sync
| |-- docs-lookup.md # Documentation/API lookup
| |-- chief-of-staff.md # Communication triage and drafts
| |-- loop-operator.md # Autonomous loop execution
| |-- harness-optimizer.md # Harness config tuning
| |-- cpp-reviewer.md # C++ code review
| |-- cpp-build-resolver.md # C++ build error resolution
| |-- fsharp-reviewer.md # F# functional code review
| |-- go-reviewer.md # Go code review
| |-- go-build-resolver.md # Go build error resolution
| |-- python-reviewer.md # Python code review
| |-- database-reviewer.md # Database/Supabase review
| |-- typescript-reviewer.md # TypeScript/JavaScript code review
| |-- java-reviewer.md # Java/Spring Boot code review
| |-- java-build-resolver.md # Java/Maven/Gradle build errors
| |-- kotlin-reviewer.md # Kotlin/Android/KMP code review
| |-- kotlin-build-resolver.md # Kotlin/Gradle build errors
| |-- harmonyos-app-resolver.md # HarmonyOS/ArkTS app development
| |-- rust-reviewer.md # Rust code review
| |-- rust-build-resolver.md # Rust build error resolution
| |-- pytorch-build-resolver.md # PyTorch/CUDA training errors
| |-- mle-reviewer.md # Production ML pipeline, eval, serving, and monitoring review
|
|-- skills/ # Workflow definitions and domain knowledge
| |-- coding-standards/ # Language best practices
| |-- clickhouse-io/ # ClickHouse analytics, queries, data engineering
| |-- backend-patterns/ # API, database, caching patterns
| |-- frontend-patterns/ # React, Next.js patterns
| |-- frontend-slides/ # HTML slide decks and PPTX-to-web presentation workflows (NEW)
| |-- article-writing/ # Long-form writing in a supplied voice without generic AI tone (NEW)
| |-- content-engine/ # Multi-platform social content and repurposing workflows (NEW)
| |-- market-research/ # Source-attributed market, competitor, and investor research (NEW)
| |-- investor-materials/ # Pitch decks, one-pagers, memos, and financial models (NEW)
| |-- investor-outreach/ # Personalized fundraising outreach and follow-up (NEW)
| |-- continuous-learning/ # Legacy v1 Stop-hook pattern extraction
| |-- continuous-learning-v2/ # Instinct-based learning with confidence scoring
| |-- iterative-retrieval/ # Progressive context refinement for subagents
| |-- strategic-compact/ # Manual compaction suggestions (Longform Guide)
| |-- tdd-workflow/ # TDD methodology
| |-- security-review/ # Security checklist
| |-- eval-harness/ # Verification loop evaluation (Longform Guide)
| |-- verification-loop/ # Continuous verification (Longform Guide)
| |-- videodb/ # Video and audio: ingest, search, edit, generate, stream (NEW)
| |-- golang-patterns/ # Go idioms and best practices
| |-- golang-testing/ # Go testing patterns, TDD, benchmarks
| |-- cpp-coding-standards/ # C++ coding standards from C++ Core Guidelines (NEW)
| |-- cpp-testing/ # C++ testing with GoogleTest, CMake/CTest (NEW)
| |-- django-patterns/ # Django patterns, models, views (NEW)
| |-- django-security/ # Django security best practices (NEW)
| |-- django-tdd/ # Django TDD workflow (NEW)
| |-- django-verification/ # Django verification loops (NEW)
| |-- laravel-patterns/ # Laravel architecture patterns (NEW)
| |-- laravel-security/ # Laravel security best practices (NEW)
| |-- laravel-tdd/ # Laravel TDD workflow (NEW)
| |-- laravel-verification/ # Laravel verification loops (NEW)
| |-- python-patterns/ # Python idioms and best practices (NEW)
| |-- python-testing/ # Python testing with pytest (NEW)
| |-- quarkus-patterns/ # Java Quarkus patterns (NEW)
| |-- quarkus-security/ # Quarkus security (NEW)
| |-- quarkus-tdd/ # Quarkus TDD (NEW)
| |-- quarkus-verification/ # Quarkus verification (NEW)
| |-- springboot-patterns/ # Java Spring Boot patterns (NEW)
| |-- springboot-security/ # Spring Boot security (NEW)
| |-- springboot-tdd/ # Spring Boot TDD (NEW)
| |-- springboot-verification/ # Spring Boot verification (NEW)
| |-- configure-ecc/ # Interactive installation wizard (NEW)
| |-- java-coding-standards/ # Java coding standards (NEW)
| |-- jpa-patterns/ # JPA/Hibernate patterns (NEW)
| |-- postgres-patterns/ # PostgreSQL optimization patterns (NEW)
| |-- nutrient-document-processing/ # Document processing with Nutrient API (NEW)
| |-- docs/examples/project-guidelines-template.md # Template for project-specific skills
| |-- database-migrations/ # Migration patterns (Prisma, Drizzle, Django, Go) (NEW)
| |-- api-design/ # REST API design, pagination, error responses (NEW)
| |-- deployment-patterns/ # CI/CD, Docker, health checks, rollbacks (NEW)
| |-- docker-patterns/ # Docker Compose, networking, volumes, container security (NEW)
| |-- e2e-testing/ # Playwright E2E patterns and Page Object Model (NEW)
| |-- content-hash-cache-pattern/ # SHA-256 content hash caching for file processing (NEW)
| |-- cost-aware-llm-pipeline/ # LLM cost optimization, model routing, budget tracking (NEW)
| |-- regex-vs-llm-structured-text/ # Decision framework: regex vs LLM for text parsing (NEW)
| |-- swift-actor-persistence/ # Thread-safe Swift data persistence with actors (NEW)
| |-- swift-protocol-di-testing/ # Protocol-based DI for testable Swift code (NEW)
| |-- search-first/ # Research-before-coding workflow (NEW)
| |-- skill-stocktake/ # Audit skills and commands for quality (NEW)
| |-- liquid-glass-design/ # iOS 26 Liquid Glass design system (NEW)
| |-- foundation-models-on-device/ # Apple on-device LLM with FoundationModels (NEW)
| |-- swift-concurrency-6-2/ # Swift 6.2 Approachable Concurrency (NEW)
| |-- mle-workflow/ # Production ML data contracts, evals, deployment, monitoring (NEW)
| |-- perl-patterns/ # Modern Perl 5.36+ idioms and best practices (NEW)
| |-- perl-security/ # Perl security patterns, taint mode, safe I/O (NEW)
| |-- perl-testing/ # Perl TDD with Test2::V0, prove, Devel::Cover (NEW)
| |-- autonomous-loops/ # Autonomous loop patterns: sequential pipelines, PR loops, DAG orchestration (NEW)
| |-- plankton-code-quality/ # Write-time code quality enforcement with Plankton hooks (NEW)
|
|-- commands/ # Maintained slash-entry compatibility; prefer skills/
| |-- plan.md # /plan - Implementation planning
| |-- code-review.md # /code-review - Quality review
| |-- build-fix.md # /build-fix - Fix build errors
| |-- refactor-clean.md # /refactor-clean - Dead code removal
| |-- quality-gate.md # /quality-gate - Verification gate
| |-- learn.md # /learn - Extract patterns mid-session (Longform Guide)
| |-- learn-eval.md # /learn-eval - Extract, evaluate, and save patterns (NEW)
| |-- checkpoint.md # /checkpoint - Save verification state (Longform Guide)
| |-- setup-pm.md # /setup-pm - Configure package manager
| |-- go-review.md # /go-review - Go code review (NEW)
| |-- go-test.md # /go-test - Go TDD workflow (NEW)
| |-- go-build.md # /go-build - Fix Go build errors (NEW)
| |-- skill-create.md # /skill-create - Generate skills from git history (NEW)
| |-- instinct-status.md # /instinct-status - View learned instincts (NEW)
| |-- instinct-import.md # /instinct-import - Import instincts (NEW)
| |-- instinct-export.md # /instinct-export - Export instincts (NEW)
| |-- evolve.md # /evolve - Cluster instincts into skills
| |-- prune.md # /prune - Delete expired pending instincts (NEW)
| |-- pm2.md # /pm2 - PM2 service lifecycle management (NEW)
| |-- multi-plan.md # /multi-plan - Multi-agent task decomposition (NEW)
| |-- multi-execute.md # /multi-execute - Orchestrated multi-agent workflows (NEW)
| |-- multi-backend.md # /multi-backend - Backend multi-service orchestration (NEW)
| |-- multi-frontend.md # /multi-frontend - Frontend multi-service orchestration (NEW)
| |-- multi-workflow.md # /multi-workflow - General multi-service workflows (NEW)
| |-- sessions.md # /sessions - Session history management
| |-- test-coverage.md # /test-coverage - Test coverage analysis
| |-- update-docs.md # /update-docs - Update documentation
| |-- update-codemaps.md # /update-codemaps - Update codemaps
| |-- python-review.md # /python-review - Python code review (NEW)
|-- legacy-command-shims/ # Opt-in archive for retired shims such as /tdd and /eval
| |-- tdd.md # /tdd - Prefer the tdd-workflow skill
| |-- e2e.md # /e2e - Prefer the e2e-testing skill
| |-- eval.md # /eval - Prefer the eval-harness skill
| |-- verify.md # /verify - Prefer the verification-loop skill
| |-- orchestrate.md # /orchestrate - Prefer dmux-workflows or multi-workflow
|
|-- rules/ # Always-follow guidelines (copy to ~/.codex/rules/ecc/)
| |-- README.md # Structure overview and installation guide
| |-- common/ # Language-agnostic principles
| | |-- coding-style.md # Immutability, file organization
| | |-- git-workflow.md # Commit format, PR process
| | |-- testing.md # TDD, 80% coverage requirement
| | |-- performance.md # Model selection, context management
| | |-- patterns.md # Design patterns, skeleton projects
| | |-- hooks.md # Hook architecture, TodoWrite
| | |-- agents.md # When to delegate to subagents
| | |-- security.md # Mandatory security checks
| |-- typescript/ # TypeScript/JavaScript specific
| |-- python/ # Python specific
| |-- golang/ # Go specific
| |-- swift/ # Swift specific
| |-- php/ # PHP specific (NEW)
| |-- arkts/ # HarmonyOS / ArkTS specific
|
|-- hooks/ # Trigger-based automations
| |-- README.md # Hook documentation, recipes, and customization guide
| |-- hooks.json # All hooks config (PreToolUse, PostToolUse, Stop, etc.)
| |-- memory-persistence/ # Session lifecycle hooks (Longform Guide)
| |-- strategic-compact/ # Compaction suggestions (Longform Guide)
|
|-- scripts/ # Cross-platform Node.js scripts (NEW)
| |-- lib/ # Shared utilities
| | |-- utils.js # Cross-platform file/path/system utilities
| | |-- package-manager.js # Package manager detection and selection
| |-- hooks/ # Hook implementations
| | |-- session-start.js # Load context on session start
| | |-- session-end.js # Save state on session end
| | |-- pre-compact.js # Pre-compaction state saving
| | |-- suggest-compact.js # Strategic compaction suggestions
| | |-- evaluate-session.js # Extract patterns from sessions
| |-- setup-package-manager.js # Interactive PM setup
|
|-- tests/ # Test suite (NEW)
| |-- lib/ # Library tests
| |-- hooks/ # Hook tests
| |-- run-all.js # Run all tests
|
|-- contexts/ # Dynamic system prompt injection contexts (Longform Guide)
| |-- dev.md # Development mode context
| |-- review.md # Code review mode context
| |-- research.md # Research/exploration mode context
|
|-- examples/ # Example configurations and sessions
| |-- CODEX.md # Example project-level config
| |-- user-CODEX.md # Example user-level config
| |-- saas-nextjs-CODEX.md # Real-world SaaS (Next.js + Supabase + Stripe)
| |-- go-microservice-CODEX.md # Real-world Go microservice (gRPC + PostgreSQL)
| |-- django-api-CODEX.md # Real-world Django REST API (DRF + Celery)
| |-- laravel-api-CODEX.md # Real-world Laravel API (PostgreSQL + Redis) (NEW)
| |-- rust-api-CODEX.md # Real-world Rust API (Axum + SQLx + PostgreSQL) (NEW)
|
|-- mcp-configs/ # MCP server configurations
| |-- mcp-servers.json # GitHub, Supabase, Vercel, Railway, etc.
|
|-- ecc_dashboard.py # Desktop GUI dashboard (Tkinter)
|
|-- assets/ # Assets for dashboard
| |-- images/
| |-- ecc-logo.png
|
|-- .agents/
|-- plugins/
|-- marketplace.json # Self-hosted marketplace config (for /plugin marketplace add)Two ways to generate OpenAI Codex skills from your repository:
#### Option A: Local Analysis (Built-in)
Use the /skill-create command for local analysis without external services:
/skill-create # Analyze current repo
/skill-create --instincts # Also generate instincts for continuous-learning-v2This analyzes your git history locally and generates SKILL.md files.
The instinct-based learning system automatically learns your patterns:
/instinct-status # Show learned instincts with confidence
/instinct-import <file> # Import instincts from others
/instinct-export # Export your instincts for sharing
/evolve # Cluster related instincts into skillsSee skills/continuous-learning-v2/ for full documentation. Keep continuous-learning/ only when you explicitly want the legacy v1 Stop-hook learned-skill flow.
Minimum version: v2.1.0 or later
This plugin requires OpenAI Codex CLI v2.1.0+ due to changes in how the plugin system handles hooks.
Check your version:
codex --versionWARNING: For Contributors: Do NOT add a"hooks"field to.codex-plugin/plugin.json. This is enforced by a regression test.
OpenAI Codex v2.1+ automatically loads hooks/hooks.json from any installed plugin by convention. Explicitly declaring it in plugin.json causes a duplicate detection error:
Duplicate hooks file detected: ./hooks/hooks.json resolves to already-loaded fileHistory: This has caused repeated fix/revert cycles in this repo (#29, #52, #103). The behavior changed between OpenAI Codex versions, leading to confusion. We now have a regression test to prevent this from being reintroduced.
The easiest way to use this repo is the OpenAI Codex plugin:
# Add this repo as a marketplace
/plugin marketplace add https://github.com/mturac/everything-openai-codex
# Install the plugin
/plugin install eoc@eocOr add directly to your ~/.codex/settings.json:
{
"extraKnownMarketplaces": {
"ecc": {
"source": {
"source": "github",
"repo": "mturac/everything-openai-codex"
}
}
},
"enabledPlugins": {
"eoc@eoc": true
}
}This gives you access to commands, agents, skills, and hooks.
Note: The OpenAI Codex plugin system does not support distributing rules via plugins (upstream limitation). You need to install rules manually:>
```bash # Clone the repo first git clone https://github.com/mturac/everything-openai-codex.git
>
# Option A: User-level rules (applies to all projects) mkdir -p ~/.codex/rules/ecc cp -r everything-openai-codex/rules/common ~/.codex/rules/ecc/ cp -r everything-openai-codex/rules/typescript ~/.codex/rules/ecc/ # pick your stack cp -r everything-openai-codex/rules/python ~/.codex/rules/ecc/ cp -r everything-openai-codex/rules/golang ~/.codex/rules/ecc/ cp -r everything-openai-codex/rules/php ~/.codex/rules/ecc/
>
# Option B: Project-level rules (applies to current project only) mkdir -p .codex/rules/ecc cp -r everything-openai-codex/rules/common .codex/rules/ecc/ cp -r everything-openai-codex/rules/typescript .codex/rules/ecc/ # pick your stack ```
If you prefer manual control over what's installed:
# Clone the repo
git clone https://github.com/mturac/everything-openai-codex.git
# Copy agents to your Codex config
cp everything-openai-codex/agents/*.md ~/.codex/agents/
# Copy rules directories (common + language-specific)
mkdir -p ~/.codex/rules/ecc
cp -r everything-openai-codex/rules/common ~/.codex/rules/ecc/
cp -r everything-openai-codex/rules/typescript ~/.codex/rules/ecc/ # pick your stack
cp -r everything-openai-codex/rules/python ~/.codex/rules/ecc/
cp -r everything-openai-codex/rules/golang ~/.codex/rules/ecc/
cp -r everything-openai-codex/rules/php ~/.codex/rules/ecc/
cp -r everything-openai-codex/rules/arkts ~/.codex/rules/ecc/
# Copy skills first (primary workflow surface)
# Recommended (new users): core/general skills only
mkdir -p ~/.codex/skills/ecc
cp -r everything-openai-codex/.agents/skills/* ~/.codex/skills/ecc/
cp -r everything-openai-codex/skills/search-first ~/.codex/skills/ecc/
# Optional: add niche/framework-specific skills only when needed
# for s in django-patterns django-tdd laravel-patterns springboot-patterns quarkus-patterns; do
# cp -r everything-openai-codex/skills/$s ~/.codex/skills/ecc/
# done
# Optional: keep maintained slash-command compatibility during migration
mkdir -p ~/.codex/commands
cp everything-openai-codex/commands/*.md ~/.codex/commands/
# Retired shims live in legacy-command-shims/commands/.
# Copy individual files from there only if you still need old names such as /tdd.#### Install hooks
Do not copy the raw repo hooks/hooks.json into ~/.codex/settings.json or ~/.codex/hooks/hooks.json. That file is plugin/repo-oriented and is meant to be installed through the EOC installer or loaded as a plugin, so raw copying is not a supported manual install path.
Use the installer to install only the Codex hook runtime so command paths are rewritten correctly:
# macOS / Linux
bash ./install.sh --target codex --modules hooks-runtime# Windows PowerShell
pwsh -File .\install.ps1 --target codex --modules hooks-runtimeThat writes resolved hooks to ~/.codex/hooks/hooks.json and leaves any existing ~/.codex/settings.json untouched.
If you installed EOC via /plugin install, do not copy those hooks into settings.json. OpenAI Codex v2.1+ already auto-loads plugin hooks/hooks.json, and duplicating them in settings.json causes duplicate execution and cross-platform hook conflicts.
Windows note: the Codex config directory is %USERPROFILE%\\.codex, not ~/codex.
#### Configure MCPs
Codex plugin installs intentionally do not auto-enable EOC's bundled MCP server definitions. This avoids overlong plugin MCP tool names on strict third-party gateways while keeping manual MCP setup available.
Use OpenAI Codex's /mcp command or CLI-managed MCP setup for live OpenAI Codex server changes. Use /mcp for OpenAI Codex runtime disables; OpenAI Codex persists those choices in ~/.codex.json.
For repo-local MCP access, copy desired MCP server definitions from mcp-configs/mcp-servers.json into a project-scoped .mcp.json.
If you already run your own copies of EOC-bundled MCPs, set:
export ecc_DISABLED_MCPS="github,context7,exa,playwright,sequential-thinking,memory"EOC-managed install and Codex sync flows will skip or remove those bundled servers instead of re-adding duplicates. ecc_DISABLED_MCPS is an EOC install/sync filter, not a live OpenAI Codex toggle.
Important: Replace YOUR_*_HERE placeholders with your actual API keys.
Subagents handle delegated tasks with limited scope. Example:
---
name: code-reviewer
description: Reviews code for quality, security, and maintainability
tools: ["Read", "Grep", "Glob", "Bash"]
model: deep
---
You are a senior code reviewer...Skills are the primary workflow surface. They can be invoked directly, suggested automatically, and reused by agents. EOC still ships maintained commands/ during migration, while retired short-name shims live under legacy-command-shims/ for explicit opt-in only. New workflow development should land in skills/ first.
# TDD Workflow
1. Define interfaces first
2. Write failing tests (RED)
3. Implement minimal code (GREEN)
4. Refactor (IMPROVE)
5. Verify 80%+ coverageHooks fire on tool events. Example - warn about console.log:
{
"matcher": "tool == \"Edit\" && tool_input.file_path matches \"\\\\.(ts|tsx|js|jsx)$\"",
"hooks": [{
"type": "command",
"command": "#!/bin/bash\ngrep -n 'console\\.log' \"$file_path\" && echo '[Hook] Remove console.log' >&2"
}]
}Rules are always-follow guidelines, organized into common/ (language-agnostic) + language-specific directories:
rules/
common/ # Universal principles (always install)
typescript/ # TS/JS specific patterns and tools
python/ # Python specific patterns and tools
golang/ # Go specific patterns and tools
swift/ # Swift specific patterns and tools
php/ # PHP specific patterns and tools
arkts/ # HarmonyOS / ArkTS patterns and constraintsSee rules/README.md for installation and structure details.
Not sure where to start? Use this quick reference. Skills are the canonical workflow surface; maintained slash entries stay available for command-first workflows.
| I want to... | Use this surface | Agent used |
|---|---|---|
| Plan a new feature | /eoc:plan "Add auth" | planner |
| Design system architecture | /eoc:plan + architect agent | architect |
| Write code with tests first | tdd-workflow skill | tdd-guide |
| Review code I just wrote | /code-review | code-reviewer |
| Fix a failing build | /build-fix | build-error-resolver |
| Run end-to-end tests | e2e-testing skill | e2e-runner |
| Find security vulnerabilities | /security-scan | security-reviewer |
| Remove dead code | /refactor-clean | refactor-cleaner |
| Update documentation | /update-docs | doc-updater |
| Review Go code | /go-review | go-reviewer |
| Review Python code | /python-review | python-reviewer |
| Review F# code | (invoke `fsharp-reviewer` directly) | fsharp-reviewer |
| Review TypeScript/JavaScript code | (invoke `typescript-reviewer` directly) | typescript-reviewer |
| Develop HarmonyOS apps | (invoke `harmonyos-app-resolver` directly) | harmonyos-app-resolver |
| Audit database queries | (auto-delegated) | database-reviewer |
| Review production ML changes | mle-workflow skill + mle-reviewer agent | mle-reviewer |
Slash forms below are shown where they remain part of the maintained command surface. Retired short-name shims such as /tdd and /eval live in legacy-command-shims/ for explicit opt-in only.
Starting a new feature:
/eoc:plan "Add user authentication with OAuth"
→ planner creates implementation blueprint
tdd-workflow skill → tdd-guide enforces write-tests-first
/code-review → code-reviewer checks your workFixing a bug:
tdd-workflow skill → tdd-guide: write a failing test that reproduces it
→ implement the fix, verify test passes
/code-review → code-reviewer: catch regressionsPreparing for production:
/security-scan → security-reviewer: OWASP Top 10 audit
e2e-testing skill → e2e-runner: critical user flow tests
/test-coverage → verify 80%+ coverage<details> <summary><b>How do I check which agents/commands are installed?</b></summary>
/plugin list eoc@eocThis shows all available agents, commands, and skills from the plugin. </details>
<details> <summary><b>My hooks aren't working / I see "Duplicate hooks file" errors</b></summary>
This is the most common issue. Do NOT add a `"hooks"` field to `.codex-plugin/plugin.json`. OpenAI Codex v2.1+ automatically loads hooks/hooks.json from installed plugins. Explicitly declaring it causes duplicate detection errors. See #29, #52, #103. </details>
<details> <summary><b>Can I use EOC with OpenAI Codex on a custom API endpoint or model gateway?</b></summary>
Yes. EOC does not hardcode OpenAI-hosted transport settings. It runs locally through OpenAI Codex's normal CLI/plugin surface, so it works with:
OPENAI_BASE_URL and OPENAI_AUTH_TOKENMinimal example:
export OPENAI_BASE_URL=https://your-gateway.example.com
export OPENAI_AUTH_TOKEN=your-token
codexIf your gateway remaps model names, configure that in OpenAI Codex rather than in EOC. EOC's hooks, skills, commands, and rules are model-provider agnostic once the codex CLI is already working.
Official references:
</details>
<details> <summary><b>My context window is shrinking / Codex is running out of context</b></summary>
Too many MCP servers eat your context. Each MCP tool description consumes tokens from your 200k window, potentially reducing it to ~70k. SessionStart context is capped at 8000 characters by default; lower it with ecc_SESSION_START_MAX_CHARS=4000 or disable it with ecc_SESSION_START_CONTEXT=off for local-model or low-context setups.
Fix: Disable unused MCPs from OpenAI Codex with /mcp. OpenAI Codex writes those runtime choices to ~/.codex.json; .codex/settings.json and .codex/settings.local.json are not reliable toggles for already-loaded MCP servers.
Keep under 10 MCPs enabled and under 80 tools active. </details>
<details> <summary><b>Can I use only some components (e.g., just agents)?</b></summary>
Yes. Use Option 2 (manual installation) and copy only what you need:
# Just agents
cp everything-openai-codex/agents/*.md ~/.codex/agents/
# Just rules
mkdir -p ~/.codex/rules/ecc/
cp -r everything-openai-codex/rules/common ~/.codex/rules/ecc/Each component is fully independent. </details>
<details> <summary><b>Does this work with Cursor / OpenCode / Codex / Antigravity / GitHub Copilot?</b></summary>
Yes. EOC is cross-platform:
.cursor/. See Cursor IDE Support..gemini/GEMINI.md and shared installer plumbing..opencode/. See OpenCode Support..github/copilot-instructions.md, .vscode/settings.json, and .github/prompts/. See GitHub Copilot Support..agent/. See Antigravity Guide..zed/settings.json, flattened rules, commands, agents, and skills.</details>
<details> <summary><b>How do I contribute a new skill or agent?</b></summary>
See CONTRIBUTING.md. The short version:
skills/your-skill-name/SKILL.md (with YAML frontmatter)agents/your-agent.md</details>
The plugin includes a comprehensive test suite:
# Run all tests
node tests/run-all.js
# Run individual test files
node tests/lib/utils.test.js
node tests/lib/package-manager.test.js
node tests/hooks/hooks.test.jsContributions are welcome and encouraged.
This repo is meant to be a community resource. If you have:
Please contribute! See CONTRIBUTING.md for guidelines.
These are not bundled with EOC and are not audited by this repo, but they are worth knowing about if you are exploring the broader OpenAI Codex skills ecosystem:
13 production-grade skill modules for Codex — db-whisperer, auth-architect, obs-guardian, deploy-ninja, quantum-debugger, security-sentinel, infra-automation, api-sculptor, pipeline-architect, ghost-scraper, mcp-conductor, prediction-alpha, prompt-forge.
AGENTS.md in your project root to activate all 13 skills# macOS/Linux
./install.sh --target cursor typescript
./install.sh --target cursor python golang swift php# Windows PowerShell
.\install.ps1 --target cursor typescript
.\install.ps1 --target cursor python golang swift php| Component | Count | Details |
|---|---|---|
| Hook Events | 15 | sessionStart, beforeShellExecution, afterFileEdit, beforeMCPExecution, beforeSubmitPrompt, and 10 more |
| Hook Scripts | 16 | Thin Node.js scripts delegating to scripts/hooks/ via shared adapter |
| Rules | 34 | 9 common (alwaysApply) + 25 language-specific (TypeScript, Python, Go, Swift, PHP) |
| Agents | 48 | .cursor/agents/ecc-*.md when installed; prefixed to avoid collisions with user or marketplace agents |
| Skills | Shared + Bundled | .cursor/skills/ for translated additions |
| Commands | Shared | .cursor/commands/ if installed |
| MCP Config | Shared | .cursor/mcp.json if installed |
EOC does not install root AGENTS.md into .cursor/. Cursor treats nested AGENTS.md files as directory context, so copying EOC's repo identity into a host project would pollute that project.
Cursor-native loading behavior can vary by Cursor build. EOC installs agents as .cursor/agents/ecc-*.md; if your Cursor build does not expose project agents, those files still work as explicit reference definitions instead of hidden global prompt context.
Cursor has more hook events than OpenAI Codex (20 vs 8). The .cursor/hooks/adapter.js module transforms Cursor's stdin JSON to OpenAI Codex's format, allowing existing scripts/hooks/*.js to be reused without duplication.
Cursor stdin JSON → adapter.js → transforms → scripts/hooks/*.js
(shared with OpenAI Codex)Key hooks:
Cursor rules use YAML frontmatter with description, globs, and alwaysApply:
---
description: "TypeScript coding style extending common rules"
globs: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"]
alwaysApply: false
---# Run Codex CLI in the repo — AGENTS.md and .codex/ are auto-detected
codex
# Automatic setup: sync EOC assets (AGENTS.md, skills, MCP servers) into ~/.codex
npm install && bash scripts/sync-ecc-to-codex.sh
# or: pnpm install && bash scripts/sync-ecc-to-codex.sh
# or: yarn install && bash scripts/sync-ecc-to-codex.sh
# or: bun install && bash scripts/sync-ecc-to-codex.sh
# Or manually: copy the reference config to your home directory
cp .codex/config.toml ~/.codex/config.tomlThe sync script safely merges EOC MCP servers into your existing ~/.codex/config.toml using an add-only strategy — it never removes or modifies your existing servers. Run with --dry-run to preview changes, or --update-mcp to force-refresh EOC servers to the latest recommended config.
For Context7, EOC uses the canonical Codex section name [mcp_servers.context7] while still launching the @upstash/context7-mcp package. If you already have a legacy [mcp_servers.context7-mcp] entry, --update-mcp migrates it to the canonical section name.
Codex install profiles:
.codex-plugin/plugin.json keeps mcpServers empty so plugin install does not auto-load broad external tools or create overlong provider tool names. Use this for public/plugin-directory installs..codex/config.toml or run bash scripts/sync-ecc-to-codex.sh --update-mcp to install the curated MCP set from .mcp.json/Codex config, including GitHub, Context7, OpenAI Docs, Exa, Memory, Playwright, and Sequential Thinking.Codex macOS app:
AGENTS.md is auto-detected..codex/config.toml and .codex/agents/*.toml work best when kept project-local..codex/config.toml intentionally does not pin model or model_provider, so Codex uses its own current default unless you override it..codex/config.toml to ~/.codex/config.toml for global defaults; keep the multi-agent role files project-local unless you also copy .codex/agents/.| Component | Count | Details |
|---|---|---|
| Config | 1 | .codex/config.toml — top-level approvals/sandbox/web_search, MCP servers, notifications, profiles |
| AGENTS.md | 2 | Root (universal) + .codex/AGENTS.md (Codex-specific supplement) |
| Skills | 32 | .agents/skills/ — SKILL.md + agents/openai.yaml per skill |
| MCP Servers | 7 | GitHub, Context7, OpenAI Docs, Exa, Memory, Playwright, Sequential Thinking (8 with Supabase via --update-mcp sync) |
| Profiles | 2 | strict (read-only sandbox) and yolo (full auto-approve) |
| Agent Roles | 3 | .codex/agents/ — explorer, reviewer, docs-researcher |
Skills at .agents/skills/ are auto-loaded by Codex:
Canonical OpenAI skills such as codex-api, frontend-design, and skill-creator are intentionally not re-bundled here. Install those from openais/skills when you want the official versions.
| Skill | Description |
|---|---|
| agent-introspection-debugging | Debug agent behavior, routing, and prompt boundaries |
| agent-sort | Sort agent catalogs and assignment surfaces |
| api-design | REST API design patterns |
| article-writing | Long-form writing from notes and voice references |
| backend-patterns | API design, database, caching |
| brand-voice | Source-derived writing style profiles from real content |
| bun-runtime | Bun as runtime, package manager, bundler, and test runner |
| coding-standards | Universal coding standards |
| content-engine | Platform-native social content and repurposing |
| crosspost | Multi-platform content distribution across X, LinkedIn, Threads |
| deep-research | Multi-source research with synthesis and source attribution |
| dmux-workflows | Multi-agent orchestration using tmux pane manager |
| documentation-lookup | Up-to-date library and framework docs via Context7 MCP |
| e2e-testing | Playwright E2E tests |
| eval-harness | Eval-driven development |
| everything-openai-codex | Development conventions and patterns for the project |
| exa-search | Neural search via Exa MCP for web, code, company research |
| fal-ai-media | Unified media generation for images, video, and audio |
| frontend-patterns | React/Next.js patterns |
| frontend-slides | HTML presentations, PPTX conversion, visual style exploration |
| investor-materials | Decks, memos, models, and one-pagers |
| investor-outreach | Personalized outreach, follow-ups, and intro blurbs |
| market-research | Source-attributed market and competitor research |
| mcp-server-patterns | Build MCP servers with Node/TypeScript SDK |
| nextjs-turbopack | Next.js 16+ and Turbopack incremental bundling |
| product-capability | Translate product goals into scoped capability maps |
| security-review | Comprehensive security checklist |
| strategic-compact | Context management |
| tdd-workflow | Test-driven development with 80%+ coverage |
| verification-loop | Build, test, lint, typecheck, security |
| video-editing | AI-assisted video editing workflows with FFmpeg and Remotion |
| x-api | X/Twitter API integration for posting and analytics |
Codex does not yet provide Codex-style hook execution parity. EOC enforcement there is instruction-based via AGENTS.md, optional model_instructions_file overrides, and sandbox/approval se
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.