Lean toolkit for disciplined engineering workflows with Claude Code and Codex CLI.
Website · Documentation · Changelog · Report Bug
Supported hosts: Claude Code and Codex CLI (beta). Claude remains the default; Codex is opt-in with --agent codex or --codex.
Codex support is in beta. Core skills, agents, hooks, and shared memory work, but some parity gaps remain — see Codex CLI docs.
Command examples below use Claude's /cf-* form. In Codex, invoke the same
skills as $cf-* or choose them from /skills.
- Supports test-driven development (TDD) — opt-in via
--add-testsflag ortdd: truein config - Provides systematic debugging methodology
- Quick bug fix workflow (
/cf-fix) - Structured optimization with before/after measurement (
/cf-optimize) - Quick Q&A about codebase with memory (
/cf-ask) - Ensures verification before claiming done
- Smart conventional commits and code review
- ✨ Automated Codex dual review (
/cf-review --with-codex) — runs Claude's review and a Codex review in parallel, merges both into one report, no copy-paste - ✨ Cross-agent code review (
/cf-review-out+/cf-review-in) — generate a review prompt for any AI agent (Gemini, Codex, ChatGPT, or human), collect results when ready - Captures project knowledge across sessions (
/cf-remember) - ✨ Persistent AI memory with 3-tier hybrid search (
cf memory) — stores facts, preferences, debug episodes across sessions with automatic recall - ✨ Helps humans learn from vibe coding sessions (
/cf-learnfor concise notes,/cf-teachfor deep conversational breakdowns) — browse as a searchable website (cf learn host) or share with other LLM clients via MCP server (cf mcp) - In-depth research with web search and parallel subagents (
/cf-research) - Custom skill guides — extend built-in skills with your own Before/Rules/After per skill
- ✨ Session continuity — Claude can save/load synchronized chats with
/cf-session; Codex uses native/resumeand/fork - ✨ Smart auto-approve — Claude uses a 3-step hook (rules → working-dir check → Sonnet LLM classifier); Codex uses deterministic rules and defers unknown actions to Codex native approval. Available to all users, opt-in via config
- Prompt injection defense — layered content isolation protects against malicious instructions
- CLI utilities — manage plugin installation, project setup, and updates with a single
cfcommand. Claude permissions usecf permission; Codex sandbox posture remains native/permissions - ✨ Customizable Claude Code statusline with account info and rate limits; Codex users configure built-in footer fields with
/statusline🧠 Opus (1M) cf v0.3.0 | 📂 MyProject (⎇ main) | 👤 Thi Dinh (me@dinhanhthi.com) ctx 42% | [5h] 30% → 2:30pm | [7d] 10% → mar 15, 2:30pm 🆔 a1b2c3d4-e5f6-7890-abcd-ef1234567890 📋 Tasks: 2/5 | 🤖 Agent: cf-reviewer
For full details, visit the official website.
Requires Node.js 20+ and at least one supported host: Claude Code or Codex CLI.
-
Install the CLI:
npm i -g coding-friend-cli -
Install the plugin for your host:
cf install # Claude Code (default) cf install --agent codex # Codex CLI — beta (alias: cf install --codex)
cfconflict? If another tool (e.g. Cloudflare'scf) already occupies that name, usecdf— it's an alias for the same CLI:cdf install,cdf init, etc.Or install manually (no CLI)
claude plugin marketplace add dinhanhthi/coding-friend claude plugin install coding-friend@coding-friend-marketplace # Or inside Claude Code session: /plugin marketplace add dinhanhthi/coding-friend /plugin install coding-friend@coding-friend-marketplaceCodex CLI note: Codex v0.130.0 can register/upgrade marketplaces from the terminal, but plugin install still requires one manual step inside Codex: open
codex, run/plugins, then installcoding-friend. -
Initialize your workspace:
cf init # Claude Code cf init --agent codex # Codex CLI
-
Restart your host session
-
(Optional) Host your learning docs — browse
/cf-learnand/cf-teachnotes as a website or expose to other LLM clients:cf learn host # Serve ~/.coding-friend/learn as a website at localhost:3333 cf mcp # Setup an MCP server so other LLM clients can read your notes
Learn more: cf learn host, cf mcp.
Coding Friend ships as two independent npm packages:
- Plugin (
coding-friend) — skills, agents, and hooks installed directly into Claude Code or Codex CLI via the marketplace. Fully functional standalone. - CLI (
coding-friend-cli, binarycf) — optional companion that adds the memory MCP server (fast indexed recall), the learn-host doc viewer, statusline rendering, and workspace setup utilities.
| Tier | Meaning | Count today |
|---|---|---|
| NONE | Works with zero CLI involvement. | Skills: 10 · Agents: 11 · Hooks: 7 |
| OPTIONAL | Uses CLI-installed memory MCP for speed; falls back to grep + direct file writes when CLI is absent. Full functionality preserved. | Skills: 12 · Agents: 1 · Hooks: 3 |
| REQUIRED | Cannot function without CLI. | 0 |
Plugin-only quick-start — install via Claude Code marketplace, skip the CLI for now. You will lose: fast indexed memory search (falls back to grep -r '<query>' docs/memory/), the learn-host doc viewer, and the cf statusline renderer. Everything else works.
Add the CLI later:
npm i -g coding-friend-cli
cf init
cf memory initFor the full per-skill / per-agent / per-hook matrix and workarounds, see docs/cli-requirements.md.
| Command | Description |
|---|---|
/cf-ask [question] |
Quick Q&A about codebase |
/cf-commit [hint] |
Analyze diff and create conventional commit |
/cf-design [mode] [beta] |
UI design: scan patterns, design or modify UI consistently |
/cf-fix [bug] |
Quick bug fix workflow |
/cf-help [question] |
Answer questions about Coding Friend |
/cf-learn [topic] |
Extract learnings for human review |
/cf-optimize [target] |
Structured optimization with measurement |
/cf-plan [task] |
Brainstorm and write implementation plan; --auto runs the whole thing end-to-end (auto review + fix + commit per phase); --gui also generates the human overview doc (off by default) |
/cf-plan-resume <plan> |
Resume a saved plan (folder path, entry file, or bare <slug>) from where execution last stopped; honors auto: true frontmatter to continue in autopilot |
/cf-checkpoint [additional-prompt] |
Capture a concise conversation checkpoint (decisions, breaking changes, next steps) → docs/context/checkpoints/ |
/cf-checkpoint-from [slug] |
Load a saved checkpoint into a fresh conversation to continue with prior context |
/cf-remember [topic] |
Capture project knowledge |
/cf-research [topic] |
In-depth research with web search |
/cf-review [target] |
Code review in forked subagent; --codex/--claude/--gemini/--cursor/--grok add parallel headless external reviews merged into one report; --out exports a prompt with Claude's context for /cf-review-in |
/cf-scan [desc] |
Scan project and bootstrap memory |
/cf-session [beta] |
Save/load Claude Code sessions |
/cf-ship [hint] |
Verify, commit, push, and create PR |
/cf-teach [topic] |
Personal teacher — conversational breakdown |
/cf-warm [--user] [beta] |
Catch up after absence — git history summary |
Auto-invoked skills (no slash needed): cf-tdd (add --auto for autopilot review+fix+commit after implementation), cf-sys-debug, cf-verification.
The plugin is managed by the CLI cf command. Lifecycle commands (cf install, cf uninstall, cf enable, cf disable, cf update, cf init, cf permission) accept --agent codex / --codex when you want the Codex host instead of the Claude default. Learn more about the CLI in the CLI documentation.
For plugin developers, check plugin-dev.md.
Read the official documentation.
MIT