~ / rigs / shanraisshan / codex-cli-best-practice

shanraisshan/codex-cli-best-practice

from vibe coding to agentic engineering - practice makes codex perfect

↗ GitHub ★ 1,002 mit updated 4mo ago project Claude CodeCodex
share on X
ARCHETYPE
YOLO Cowboy
Permissions? Never heard of 'em. Ships at the speed of `--dangerously-skip-permissions`.
CONTEXT TAX · EVERY TURN
~2.3k tokens
Moderate · median rig: 2.3k · breakdown
GUARDRAILS
2/5
Pre-tool screening hook · Sandbox or ask-first rules · details

Copy this rig

# review before running: this installs third-party code
$ claude mcp add context7 -- npx -y @upstash/context7-mcp@latest
$ npx degit shanraisshan/codex-cli-best-practice/.claude ./rig-codex-cli-best-practice  # inspect, then merge into .claude/

MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.

$ claude mcp add context7 -- npx -y @upstash/context7-mcp@latest
$ npx degit shanraisshan/codex-cli-best-practice/.agents/skills/weather-svg-creator .claude/skills/weather-svg-creator

Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "*",
        "hooks": [
          {
            "type": "command",
            "command": "python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py"
          }
        ]
      }
    ]
  }
}

MCP servers (1)

serversourceest. tokens
Context7 npm 1.2k

Skills (1)

Hooks (27)

eventmatcherruns
PreToolUse*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
PermissionRequest*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
PostToolUse*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
PostToolUseFailure*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
UserPromptSubmit*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
Notification*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
Stop*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
SubagentStart*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
SubagentStop*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
PreCompact*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
PostCompact*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
SessionStart*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
SessionEnd*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
Setup*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
TeammateIdle*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
TaskCreated*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
TaskCompleted*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
ConfigChange*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
WorktreeCreate*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
WorktreeRemove*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
InstructionsLoaded*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
Elicitation*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
ElicitationResult*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
StopFailure*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
CwdChanged*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
FileChanged.envrc|.env|.env.localpython3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
PermissionDenied*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py

Permissions

deny (0)
—
ask (0)
—
allow (7)
Edit(*)
Write(*)
NotebookEdit(*)
Bash(*)
WebFetch(domain:*)
WebSearch
WebFetch(domain:developers.openai.com)

Similar rigs

copied ✓