claude-code-infrastructure-showcase README

The project's README from github.com/diet103/claude-code-infrastructure-showcase. As one markdown file: README.md.

Claude Code Infrastructure Showcase

A curated reference library of production-tested Claude Code infrastructure.

Born from 6 months of real-world use managing a complex TypeScript microservices project, this showcase provides the patterns and systems that solved the "skills don't activate automatically" problem and scaled Claude Code for enterprise development.

This is NOT a working application - it's a reference library. Copy what you need into your own projects.

New to Claude Code infrastructure? Three terms cover 90% of this README:

Full explanations in Key Concepts.


What's Inside

Production-tested infrastructure for:

Time investment to build: 6 months of iteration Time to integrate into your project: 15-30 minutes


Quick Start

Requirements

Note: the first npx tsx run may ask to install tsx - say yes.

The wizard copies everything, installs dependencies, and configures your mode:

# 1. Clone this repo
git clone https://github.com/diet103/claude-code-infrastructure-showcase.git

# 2. Run the setup wizard, pointing to YOUR project
cd claude-code-infrastructure-showcase
npx tsx setup.ts ~/my-project

The wizard will:

Scripting it, or letting Claude Code run it? Add --yes: npx tsx setup.ts ~/my-project --yes (see --help for all flags)

Option B: Manual (3 Commands)

# 1. Clone this repo
git clone https://github.com/diet103/claude-code-infrastructure-showcase.git

# 2. Copy .claude/ into YOUR project
cp -r claude-code-infrastructure-showcase/.claude ~/my-project/.claude

# 3. Install hook dependencies
cd ~/my-project/.claude/hooks && npm install && chmod +x *.sh

Option C: Let Claude Code Do It (Easiest)

Don't want to touch the terminal? Open Claude Code in your project and paste this:

Clone https://github.com/diet103/claude-code-infrastructure-showcase to a temp
directory and read its CLAUDE_INTEGRATION_GUIDE.md. Then install the
infrastructure into this project by running the setup wizard non-interactively
(npx tsx setup.ts <this project's absolute path> --yes). When it finishes, show
me the verification results and fix anything that failed.

Claude clones the repo, runs the wizard (which verifies its own work), and reports back.

Verify It Works (30 Seconds)

Any time, from your project root:

bash .claude/scripts/verify-setup.sh

Eight checks - Node version, hook registration, executable bits, dependencies, config validity, even firing a test prompt through the real activation hook - each with an exact fix command if it fails. Or ask Claude to run /verify-setup and it fixes failures itself.

Enable AI-Powered Classification (Optional)

No API key needed by default. The standard mode uses regex/keyword matching - free, offline, zero API calls. AI classification is an optional upgrade that matches your intent instead of your keywords.

To enable it (Gemini's free tier easily covers this use case):

# 1. Get a free Gemini API key: https://aistudio.google.com/apikey

# 2. Put it in the hooks .env file:
cp .claude/hooks/.env.example .claude/hooks/.env
# then open .claude/hooks/.env and uncomment: GEMINI_API_KEY=your-key-here
# (add .env to your project's .gitignore so you never commit it)

# 3. Enable AI mode - edit .claude/skills/skill-rules.json and change:
#   "skill_activation_mode": "disabled"  →  "skill_activation_mode": "fallback"

Prefer environment variables? export GEMINI_API_KEY=your-key in ~/.bashrc works too - the hooks read both. (fallback mode always degrades gracefully: no key, dead network, slow provider - you get regex matching, never a broken prompt.)

Upgrading an Existing Install

Re-running the wizard on a project that already has .claude/ deliberately copies no files - it only re-chmods hooks, updates skill-rules.json settings, and reinstalls dependencies. It will never clobber your customized skill-rules.json or skills.

To pick up new files from a newer version of this repo:

Editor Setup (Optional)

The repo includes a NeoVim configuration optimized for Claude Code's prompt editing mode (Ctrl+G):

The setup wizard can install this automatically, or manually:

mkdir -p ~/.config/nvim
cp editor-config/init.lua ~/.config/nvim/init.lua
cp editor-config/vimrc ~/.vimrc
echo 'export EDITOR=nvim' >> ~/.bashrc && source ~/.bashrc

See editor-config/README.md for full keybinding reference.

What You'll See

After setup, when you type "create a React component" in Claude Code:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⛔ MANDATORY SKILL ACTIVATION REQUIRED
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

You MUST activate these skills BEFORE any action:
  → frontend-dev-guidelines

⚠️ EDITS WILL BE BLOCKED until mandatory skills are activated.
Your FIRST action must be: Skill tool calls.
[via regex]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Skills auto-activate based on your prompts. No more forgetting to load them.


Pick Your Path

🤖 Using Claude Code to Integrate?

Claude: Read CLAUDE_INTEGRATION_GUIDE.md for step-by-step integration instructions tailored for AI-assisted setup.

📚 Browse the Skills Catalog

Available skills (full catalog):

🤖 Specialized Agents

8 production-tested agents for complex tasks (full list):


What Makes This Different?

The Auto-Activation Breakthrough

Problem: Claude Code skills just sit there. You have to remember to use them.

Solution: UserPromptSubmit hook that:

Result: Skills activate when you need them, not when you remember them.

AI-Powered Classification (NEW in v2.0)

Choose your activation mode:

Mode How It Works Cost Offline
disabled (default) Regex/keyword matching only Free Yes
fallback AI first, regex on failure Low Graceful
ai-only Pure AI classification Low No

Supported AI providers:

Provider Model API Key Free Tier
Gemini gemini-3-flash-preview GEMINI_API_KEY Yes (generous)
OpenAI gpt-4o-mini OPENAI_API_KEY No
Anthropic claude-haiku-4-5 ANTHROPIC_API_KEY No
Ollama llama3.2 (local) None needed Yes (local)

Auto-detection tries providers in order: Gemini > OpenAI > Anthropic > Ollama. Override with SKILL_AI_PROVIDER=gemini.

Conservativeness levels control suggestion aggressiveness:

Production-Tested Patterns

These aren't theoretical examples - they're extracted from:

The patterns work because they solved real problems.

Modular Skills (500-Line Rule)

Large skills hit context limits. The solution:

skill-name/
  SKILL.md                  # <500 lines, high-level guide
  resources/
    topic-1.md              # aim for <500 lines each
    topic-2.md
    topic-3.md

Progressive disclosure: Claude loads main skill first, loads resources only when needed.


Repository Structure

.claude/
├── skills/                 # 4 production skills
│   ├── backend-dev-guidelines/  (11 resource files)
│   ├── frontend-dev-guidelines/ (10 resource files)
│   ├── skill-developer/         (6 resource files)
│   ├── error-tracking/
│   └── skill-rules.json    # Skill activation configuration
├── hooks/                  # 9 hooks for automation
│   ├── skill-activation-prompt.*  (ESSENTIAL)
│   ├── skill-verification-guard.* (ESSENTIAL, v2.0)
│   ├── skill-activation-tracker.* (ESSENTIAL, v2.0)
│   ├── post-tool-use-tracker.sh   (ESSENTIAL)
│   ├── session-doc-updater.*      (optional, installed by default)
│   ├── error-handling-reminder.*  (optional)
│   ├── stop-build-check-enhanced.sh (optional)
│   ├── tsc-check.sh        (optional, needs customization)
│   └── trigger-build-resolver.sh  (optional)
├── agents/                 # 8 specialized agents
│   ├── code-architecture-reviewer.md
│   ├── refactor-planner.md
│   ├── frontend-error-fixer.md
│   └── ... 5 more
├── commands/               # 4 slash commands
│   ├── dev-docs.md
│   ├── verify-setup.md
│   └── ...
└── scripts/
    └── verify-setup.sh     # One-command health check

dev/
└── active/                 # Dev docs pattern examples
    └── showcase-ai-upgrade/

Component Catalog

🎨 Skills (4)

Skill Lines Purpose Best For
skill-developer 426 Creating and managing skills Meta-development
backend-dev-guidelines 304 Express/Prisma/Sentry patterns Backend APIs
frontend-dev-guidelines 398 React/MUI v7/TypeScript React frontends
error-tracking ~250 Sentry integration Error monitoring

All skills follow the modular pattern - main file + resource files for progressive disclosure.

👉 How to integrate skills →

🪝 Hooks (9)

Hook Type Essential? Customization
skill-activation-prompt UserPromptSubmit ✅ YES ✅ None needed
skill-verification-guard PreToolUse ✅ YES (v2.0) ✅ None needed
skill-activation-tracker PostToolUse (Skill) ✅ YES (v2.0) ✅ None needed
post-tool-use-tracker PostToolUse (Edit) ✅ YES ✅ None needed
tsc-check Stop ⚠️ Optional ⚠️ Heavy - monorepo only
trigger-build-resolver Stop ⚠️ Optional ⚠️ Heavy - monorepo only
error-handling-reminder Stop ⚠️ Optional ⚠️ Moderate
stop-build-check-enhanced Stop ⚠️ Optional ⚠️ Moderate
session-doc-updater Stop ⚠️ Optional (installed by default) ✅ None - no-ops until session indexing is configured (CONFIG.md)

Hook types: UserPromptSubmit fires on every prompt you send; PreToolUse fires before each Edit/Write; PostToolUse fires after; Stop fires when Claude finishes responding.

New in v2.0:

Start with the essential hooks - they enable skill auto-activation and work out of the box.

👉 Hook setup guide →

🤖 Agents (8)

Standalone - just copy and use!

Agent Purpose
code-architecture-reviewer Review code for architectural consistency
code-refactor-master Plan and execute refactoring
documentation-architect Generate comprehensive documentation
frontend-error-fixer Debug frontend errors
plan-reviewer Review development plans
refactor-planner Create refactoring strategies
web-research-specialist Research technical issues online
auto-error-resolver Auto-fix TypeScript errors

👉 How agents work →

💬 Slash Commands (4)

Command Purpose
/dev-docs Create structured dev documentation
/dev-docs-update Update docs before context reset
/verify-setup Run the infrastructure health check and fix failures
/route-research-for-testing Research route patterns for testing

Key Concepts

Hooks + skill-rules.json = Auto-Activation

The system:

  1. skill-activation-prompt hook runs on every user prompt
  2. Checks skill-rules.json for trigger patterns
  3. Suggests relevant skills automatically
  4. Skills load only when needed

This solves the #1 problem with Claude Code skills: they don't activate on their own.

Progressive Disclosure (500-Line Rule)

Problem: Large skills hit context limits

Solution: Modular structure

Example: backend-dev-guidelines has 11 resource files covering routing, controllers, services, repositories, testing, etc.

Dev Docs Pattern

Problem: Context resets lose project context

Solution: Three-file structure

Works with: /dev-docs slash command to generate these automatically


Works with Codex Too (Cross-Agent Support)

Codex CLI's hooks system uses the same events, stdin schema, and exit-code semantics as Claude Code, and skills follow the cross-agent Agent Skills standard. This repo ships both wired up — one canonical codebase, zero forked scripts:

Setup:

  1. Install Codex natively in your shell environment (npm i -g @openai/codex). If you're on WSL, don't use a Windows-side install through the interop layer — hooks would run as Windows processes with UNC paths.
  2. Launch codex from the repo root. On first run Codex asks you to trust this project's hooks — accept (trust is hash-persisted in ~/.codex/config.toml, and re-prompted if the hook config changes).
  3. That's it. Prompt-time skill suggestions, edit blocking for block-enforced skills (two-try model included), file tracking, session-state, and the activation telemetry (state/metrics.jsonl) all run identically under both agents — same state directory, same metrics, one skill-rules.json.

Known parity gap: Codex has no Skill tool event, so the PostToolUse tracker that clears mandatory_pending early never fires there; the two-try model bounds the cost at one advisory block per skill per session. .codex/agents/ is an experimental subagent port and not wired into any of this.


⚠️ Important: What Won't Work As-Is

settings.json

The included settings.json works out of the box for the essential hooks (UserPromptSubmit, PreToolUse, PostToolUse). If you add optional Stop hooks (tsc-check, build-check), those need customization for your project structure. Note that the shipped settings.json contains hook registrations only - permissions are yours to manage (e.g. via /permissions in Claude Code).

Blog Domain Examples

Skills use generic blog examples (Post/Comment/User):

Hook Directory Structures

Some hooks expect specific structures:


Integration Workflow

Recommended approach:

Option A: Setup Wizard (Fastest)

npx tsx setup.ts ~/my-project          # interactive
npx tsx setup.ts ~/my-project --yes    # non-interactive (what Claude Code uses)

The wizard handles everything: tech detection, mode selection, provider config, dependency install, and a self-verification pass at the end.

Option B: Manual Setup

Phase 1: Skill Activation (15 min)

  1. Copy all essential hooks (skill-activation-prompt, skill-verification-guard, skill-activation-tracker, post-tool-use-tracker)
  2. Update settings.json with hook registrations
  3. Install hook dependencies: cd .claude/hooks && npm install
  4. Make shell scripts executable: chmod +x .claude/hooks/*.sh

Phase 2: Add First Skill (10 min)

  1. Pick ONE relevant skill
  2. Copy skill directory
  3. Create/update skill-rules.json
  4. Customize path patterns

Phase 3: Enable AI (Optional, 5 min)

  1. Edit `.clau

claude-code-infrastructure-showcase (diet103/claude-code-infrastructure-showcase)

Searching Database…

What is this?A curated reference library of production-tested Claude Code infrastructure — hooks, skills and agents extracted from 6 months of daily use on a real TypeScript microservices project. It fixes the problem that skills do not activate automatically and shows patterns that scale Claude Code for enterprise development.
So it is not an app I run — what do I actually get?It is explicitly not a working application. You get a .claude/ directory of hooks, skills, agents and slash commands (plus a .codex/ mirror), and a setup wizard that copies the pieces into your own project.
How do I set it up in my project?Run the setup wizard with npx tsx setup.ts ~/my-project — it copies everything, installs dependencies, detects your stack (React, Express, Prisma...) and verifies itself with 8 health checks; a manual 3-command path and a let-Claude-Code-do-it option also exist. The README estimates 15-30 minutes to integrate, and /verify-setup re-runs the checks in about 30 seconds any time.
What do I need installed before starting?Node.js 18+ (20+ recommended) with npm; jq is only required if you enable the optional Stop hooks. The first npx tsx run may ask to install tsx — say yes.
Any platform gotchas?Yes — the hooks are bash scripts, so plain Windows cmd/PowerShell will not run them; Windows users need WSL2. macOS and Linux work natively.
Does the skill auto-activation send my prompts to an API?Not by default: activation uses regex/keyword matching — free, offline, zero API calls. AI classification is an opt-in upgrade (Gemini free tier, OpenAI, Anthropic or local Ollama) that degrades gracefully to regex whenever the provider is unavailable.
What problem does the auto-activation actually solve?Claude Code skills normally just sit there until you remember to load them. A UserPromptSubmit hook (skill-activation-prompt) runs on every prompt, checks skill-rules.json trigger patterns against your prompt and file context, and suggests relevant skills automatically — and v2.0 adds a verification guard that enforces mandatory skill activation before edits, with a two-try blocking model.
What exactly comes in the box?Four modular skills (backend and frontend dev guidelines, Sentry error-tracking, and a skill-developer meta-skill), 9 hooks — 4 essential, the rest optional Stop checks like tsc-check — 8 specialized agents such as auto-error-resolver, code-architecture-reviewer and web-research-specialist, and 4 slash commands including /dev-docs and /verify-setup.
Does it work with coding agents other than Claude Code?Yes — Codex CLI is supported out of the box. Skills are mirrored into .agents/skills/, the Agent Skills standard location that Codex and 30+ other tools read natively, and .codex/hooks.json registers the same four lifecycle hooks through a thin adapter shim — one canonical codebase, no forked scripts.
Why are skills capped at 500 lines?Large skills hit the model's context limits. Each skill is therefore modular: a main SKILL.md under 500 lines holding overview and navigation, plus resource files Claude loads only when needed — backend-dev-guidelines alone has 11 resource files. The same progressive-disclosure idea backs the dev-docs system that survives context resets.
Creator
diet103
Size
0.3 MB
Stars
10K
Updated
CommitJul 12
Age
11mo
Commits · 90 Days