Skip to content
Docs

Plugins

CodeForge extends Claude Code through a modular plugin system. Each plugin bundles related hooks, scripts, agents, skills, or commands into a self-contained package that integrates directly into your development workflow. You get intelligent task delegation, domain-specific knowledge, specification management, and safety guardrails — all without manual configuration.

Plugins are the backbone of CodeForge’s power. Instead of configuring Claude Code from scratch, you get a curated set of capabilities that work together out of the box:

  • Agents delegate tasks to specialists with the right tools and constraints for the job
  • Skills inject domain expertise (frameworks, patterns, workflows) into your session automatically
  • Hooks run scripts at key moments — before a tool executes, after it completes, or when a turn finishes
  • Safety guards prevent destructive commands, enforce file boundaries, and protect critical configuration

Every plugin is independent. You can enable or disable any plugin without affecting the others.

Plugins live inside .devcontainer/plugins/ and follow a standard directory structure. Each plugin declares its capabilities in a .claude-plugin/plugin.json manifest that tells CodeForge what the plugin provides and how to activate it.

A typical plugin directory looks like this:

plugins/
└── my-plugin/
├── .claude-plugin/
│ └── plugin.json # Manifest: name, description, author
├── hooks/
│ └── hooks.json # Hook registrations (which events to listen for)
├── scripts/ # Python scripts that hooks execute
├── agents/ # Agent definitions as Markdown files (optional)
└── skills/ # Skill packs as SKILL.md files (optional)

The plugin.json manifest is minimal — it identifies the plugin and its author:

{
"name": "agent-system",
"description": "21 custom agents with built-in agent redirection, CWD injection, and read-only bash enforcement",
"author": {
"name": "AnExiledDev"
}
}

The real configuration lives in hooks.json, which maps hook events to the scripts that handle them. Here is an example from the skill engine:

{
"hooks": {
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/skill-suggester.py",
"timeout": 3
}
]
}
]
}
}

Each hook registration specifies the event to listen for, the script to run, and a timeout in seconds. The ${CLAUDE_PLUGIN_ROOT} variable resolves to the plugin’s directory, so scripts are always found regardless of installation path.

Hooks are the primary integration mechanism. They let plugins run custom logic at specific moments during a Claude Code session. Each hook fires at a defined point in the tool lifecycle:

Hook EventWhen It FiresTypical Use
PreToolUseBefore a tool executesBlock dangerous commands, enforce read-only mode, redirect agents
PostToolUseAfter a tool completesInject context, check for regressions, process results
StopWhen the assistant finishes a turnRun quality checks, send notifications, remind about specs
UserPromptSubmitWhen the user sends a promptAuto-suggest skills, fetch ticket context, inject state
SubagentStartWhen a subagent is spawnedInject working directory, configure agent environment
TeammateIdleWhen a teammate agent is idleCheck for task completion, reassign work
TaskCompletedWhen a team task finishesVerify results, trigger follow-up work

Hook scripts are Python programs that receive JSON on stdin and return JSON on stdout. They can either allow the operation (exit 0), block it (exit 2 with a reason), or inject context (return additional information for Claude to use).

See Hooks for the full hook API and configuration details.

CodeForge ships with 13 local marketplace plugins plus 1 external Anthropic plugin, organized into two categories: core plugins that provide primary functionality, and safety and integration plugins that protect your work and connect to external tools.

These plugins deliver the headline features of CodeForge — intelligent delegation, domain expertise, and workflow management.

PluginWhat It Does
Agent System21 specialized agents with automatic delegation, CWD injection, and read-only enforcement
Skill Engine22 domain skills with context-aware auto-suggestion
Spec WorkflowFull specification lifecycle from creation through implementation to as-built closure
Ticket WorkflowGitHub issue integration with EARS-formatted tickets and automated PR reviews
Git WorkflowStandalone git operations: /ship (review/commit/push/PR) and /pr:review
Prompt SnippetsQuick behavioral mode switches via /ps command

These plugins prevent mistakes, enforce boundaries, and keep your work safe.

PluginWhat It Does
Auto Code QualityAutomated formatting, linting, and advisory test running
Dangerous Command BlockerBlocks destructive shell commands like rm -rf, drop table, force pushes
Workspace Scope GuardEnsures file operations stay within your project directory
Protected Files GuardPrevents modification of secrets, lock files, and critical configuration

These plugins connect CodeForge to external tools and add quality-of-life features.

PluginWhat It Does
Session ContextInjects git state, harvests TODOs, and reminds about uncommitted work
Notify HookDesktop notifications when tasks complete
CodeForge LSPLanguage server protocol integration for Python, TypeScript, and Go
Frontend DesignFrontend design patterns and UI component skills (external Anthropic plugin)

Plugins are declared in settings.json under the enabledPlugins key. Every plugin listed there activates automatically when your container starts.

{
"enabledPlugins": [
"agent-system",
"skill-engine",
"spec-workflow",
"session-context",
"auto-code-quality",
"workspace-scope-guard",
"dangerous-command-blocker",
"protected-files-guard",
"codeforge-lsp",
"ticket-workflow",
"notify-hook",
"frontend-design"
]
}

To disable a plugin, remove it from the list. To re-enable it, add it back. Changes take effect on the next container start.

See Configuration for the full settings.json reference.

All plugins ship through the CodeForge devs-marketplace — a curated collection bundled with the devcontainer. The marketplace lives at .devcontainer/plugins/devs-marketplace/plugins/ and contains every plugin’s source code, hooks, agents, skills, and scripts.

The marketplace model means plugins are tested and maintained alongside CodeForge itself. When you update your devcontainer, you get the latest versions of all plugins automatically.

  • Hooks — detailed hook API and event documentation
  • Configuration — managing settings and plugin activation
  • Agent System — the flagship plugin for intelligent delegation
  • Architecture — how plugins fit into the CodeForge system