AgentStack
MCP unreviewed CC0-1.0 Self-run

Awesome Claude Code

mcp-erkcet-awesome-claude-code · by erkcet

A curated list of resources, tools, tips, and community projects for Claude Code — Anthropic's official CLI for Claude.

No reviews yet
0 installs
17 views
0.0% view→install

Install

$ agentstack add mcp-erkcet-awesome-claude-code

Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.

Security review

⚠ Flagged

2 finding(s); flagged for manual review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures
  • high Destructive filesystem operation.
  • high Pipes remote content directly into a shell (remote code execution).

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Awesome Claude Code? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Awesome Claude Code [](https://awesome.re) [](https://github.com/erkcet/awesome-claude-code) [](CONTRIBUTING.md) [](LICENSE) [](https://github.com/erkcet/awesome-claude-code/actions/workflows/links.yml)

> A curated list of resources, tools, tips, and community projects for Claude Code — Anthropic's official agentic coding CLI.

Claude Code lives in your terminal, understands your codebase, and helps you code faster through natural language. Unlike simple code-completion tools, it can run commands, edit files across your project, manage git workflows, and orchestrate multi-step tasks autonomously.

What makes this list different: Every section includes copy-pasteable configs, working hook recipes, real templates, and practical examples — not just links.

Contributions welcome! Read the [contribution guidelines](CONTRIBUTING.md) before submitting a PR.


Contents

  • Basics
  • [Official Resources](#official-resources)
  • [Getting Started](#getting-started)
  • [CLI Usage & Reference](#cli-usage--reference)
  • Configuration
  • [CLAUDE.md Templates](#claudemd-templates)
  • [Configuration Tools](#configuration-tools)
  • [Custom Slash Commands](#custom-slash-commands)
  • [Hooks](#hooks)
  • [Status Line Customization](#status-line-customization)
  • Extending
  • [MCP Servers](#mcp-servers)
  • [Plugins](#plugins)
  • [Skills](#skills)
  • Agents & Orchestration
  • [Subagents](#subagents)
  • [Multi-Agent Orchestration](#multi-agent-orchestration)
  • [Agent Teams](#agent-teams)
  • Workflows
  • [Workflows & Patterns](#workflows--patterns)
  • [Automation & CI/CD](#automation--cicd)
  • [IDE Integrations](#ide-integrations)
  • [Usage Monitors & Cost Management](#usage-monitors--cost-management)
  • [Security & Permissions](#security--permissions)
  • Community
  • [Community Projects](#community-projects)
  • [Articles & Blog Posts](#articles--blog-posts)
  • [Videos & Tutorials](#videos--tutorials)
  • [Community](#community)

Official Resources

Getting Started

Quick Install

# Install via npm (requires Node.js 18+)
npm install -g @anthropic-ai/claude-code

# Verify installation
claude --version

# Start your first session
cd your-project && claude

# Auto-generate a CLAUDE.md for your project
claude /init

CLI Usage & Reference

Interactive Commands

| Command | Description | |---------|-------------| | /help | Show all available commands | | /init | Auto-generate a CLAUDE.md for the current project | | /compact | Compress conversation history to free context | | /model | Switch model (opus, sonnet, haiku) | | /plan | Enter plan mode — explore first, code second | | /review | Review code changes | | /commit | Create a git commit with a smart message | | /pr | Create a GitHub pull request | | /cost | Show token usage and estimated cost | | /clear | Clear conversation history | | /fast | Toggle fast mode (same model, faster output) | | /memory | Edit CLAUDE.md memory files |

CLI Flags

# One-shot query (non-interactive)
claude -p "What does the main function do?"

# Resume last conversation
claude --resume

# Resume specific session
claude --resume 

# List previous sessions
claude sessions list

# Use a specific model
claude --model opus
claude --model sonnet
claude --model haiku

# Headless mode (non-interactive, for scripts and CI)
claude -p "Run all tests and report results" --output-format json

# Stream output in headless mode
claude -p "Explain src/index.ts" --output-format stream-json

# Set max turns for autonomous operation
claude -p "Fix all lint errors" --max-turns 20

# Append system prompt
claude --system-prompt "Always respond in Spanish"

# Specify allowed tools
claude --allowedTools "Read,Write,Bash(git *)"

# Skip permissions (trusted projects only)
claude --dangerously-skip-permissions

Piping & Scripting Patterns

# Review a PR diff
gh pr diff 123 | claude -p "Review this PR for bugs and security issues"

# Explain test failures
npm test 2>&1 | claude -p "Why are these tests failing? Suggest fixes."

# Analyze logs
tail -500 /var/log/app.log | claude -p "Summarize errors and suggest fixes"

# Generate commit message from staged changes
git diff --staged | claude -p "Write a conventional commit message" --output-format text

# Multi-file analysis
find src -name "*.ts" | head -20 | xargs cat | claude -p "Find potential memory leaks"

# Chain with other tools
claude -p "Generate a SQL migration to add a users table" --output-format text | pbcopy

Session Management

# List recent sessions
claude sessions list

# Resume most recent session
claude --resume

# Resume specific session by ID
claude --resume abc123

# Continue with full context preserved
claude --continue

CLAUDE.md Templates

> CLAUDE.md is the memory file Claude Code reads at session start. A good one dramatically improves output quality.

Ready-to-Use Templates

  • [Monorepo Template](templates/claudemd/monorepo.md) - Turborepo/Nx monorepos with multiple packages.
  • [Python Project Template](templates/claudemd/python.md) - Python projects with venv, pytest, ruff, mypy.
  • [TypeScript/Node Template](templates/claudemd/typescript-node.md) - Node.js/TypeScript with npm/pnpm, ESLint, Vitest.
  • [React/Next.js Template](templates/claudemd/react-nextjs.md) - Next.js App Router with Tailwind and shadcn/ui.
  • [Rust Project Template](templates/claudemd/rust.md) - Cargo-based Rust projects with clippy and testing.
  • [Go Project Template](templates/claudemd/go.md) - Go modules with standard project layout.
  • [Django Template](templates/claudemd/django.md) - Django projects with REST framework and celery.
  • [SvelteKit Template](templates/claudemd/svelte.md) - SvelteKit projects with runes and form actions.
  • [Laravel Template](templates/claudemd/laravel.md) - Laravel projects with Eloquent and artisan commands.
  • [Data Science Template](templates/claudemd/data-science.md) - Jupyter notebooks, pandas, scikit-learn, experiment tracking.
  • [Homelab/Infrastructure Template](templates/claudemd/homelab.md) - Server management, services, and infrastructure.
  • [Mobile App Template](templates/claudemd/mobile.md) - React Native / Flutter cross-platform apps.

CLAUDE.md Best Practices

  • Keep it under 500 lines — Claude reads it every session, so conciseness matters.
  • Put the most important context (build commands, architecture) at the top.
  • Use tables for structured data (services, ports, API keys).
  • Include the commands Claude should know how to run.
  • Use nested CLAUDE.md files in subdirectories for package-specific context.
  • Update it after every significant change to your project.
  • Use comments (``) to explain why, not just what.
  • Include known issues and "don't touch" warnings for work-in-progress areas.

CLAUDE.md Generator Prompt

> Paste this into Claude Code to auto-generate a CLAUDE.md tailored to your project:

Analyze this project and generate a CLAUDE.md file. Include:
1. Project overview (name, stack, description)
2. All available commands in a table (build, test, lint, run)
3. Project structure as a tree
4. Code conventions you observe (naming, imports, patterns)
5. Environment variables from .env.example or config files
6. Known issues from TODO/FIXME comments

Read package.json, tsconfig.json, Makefile, Cargo.toml, pyproject.toml,
or whatever build config exists. Be specific — use actual values, not placeholders.

File Organization

project/
├── CLAUDE.md              # Root context — project-wide info
├── src/
│   ├── CLAUDE.md          # Source-specific conventions
│   ├── api/
│   │   └── CLAUDE.md      # API layer patterns and endpoints
│   └── components/
│       └── CLAUDE.md      # Component conventions, design system
├── .claude/
│   ├── settings.json      # Project-level Claude settings
│   └── commands/          # Custom slash commands
│       ├── review.md
│       └── deploy-check.md
└── tests/
    └── CLAUDE.md          # Testing conventions, fixtures

What to Put in CLAUDE.md

| Section | Example | |---------|---------| | Project overview | "This is a Next.js 14 app with App Router" | | Build/run commands | npm run dev, npm test, npm run build | | Architecture | "We use the repository pattern with service layers" | | Conventions | "Use named exports, no default exports" | | Common tasks | "To add a new API route, create a file in src/app/api/" | | Environment | "Requires Node 20+, PostgreSQL 16" | | Known issues | "The auth module is being migrated, don't touch legacy/" |

Configuration Tools

  • claude-config - Built-in /config command to manage settings interactively.
  • dotenv-vault - Sync environment variables across machines for consistent Claude Code behavior.

Settings Locations

| Scope | Path | Use Case | |-------|------|----------| | Global | ~/.claude/settings.json | Personal defaults (permissions, model, hooks) | | Global local | ~/.claude/settings.local.json | Machine-specific overrides (not synced) | | Project | .claude/settings.json | Shared team settings (commit to repo) | | Project local | .claude/settings.local.json | Personal project overrides (gitignored) |

Example: Project Settings

// .claude/settings.json — commit this to your repo
{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(npx vitest *)",
      "Bash(git *)",
      "Read",
      "Write",
      "Edit"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(curl *)",
      "Bash(wget *)"
    ]
  }
}

Custom Slash Commands

> Place .md files in .claude/commands/ to create project-specific commands. Use $ARGUMENTS to accept input.

Example: /project:review


Review the changes in the current branch compared to main.
Focus on:
1. Security vulnerabilities
2. Performance regressions
3. Missing error handling
4. Test coverage gaps

Format as a markdown checklist with severity levels.

Example: /project:deploy-check


Pre-deployment checklist:
1. Run all tests
2. Check for console.logs or debug statements
3. Verify environment variables are not hardcoded
4. Check for TODO/FIXME comments
5. Verify all API endpoints have error handling
6. Check bundle size hasn't increased significantly

Example: /project:doc


Generate documentation for $ARGUMENTS.
Include:
- Brief description of purpose
- Parameters with types and descriptions
- Return value
- Usage example
- Edge cases to be aware of

Write docs as JSDoc comments directly in the source file.

Example: /project:test


Write comprehensive tests for $ARGUMENTS.
Include:
- Happy path tests
- Edge cases (empty input, null, undefined, boundary values)
- Error scenarios
- Integration points with mocked dependencies

Use the existing test patterns in this project.

Hooks

> Hooks are shell commands that execute automatically in response to Claude Code events. Configure them in your settings JSON.

Hook Events Reference

| Event | Trigger | Available Env Vars | |-------|---------|-------------------| | PreToolUse | Before any tool executes | $CLAUDE_TOOL_NAME, $CLAUDE_FILE_PATH | | PostToolUse | After any tool executes | $CLAUDE_TOOL_NAME, $CLAUDE_FILE_PATH, $CLAUDE_TOOL_OUTPUT | | Notification | When Claude sends a notification | $CLAUDE_NOTIFICATION | | Stop | When Claude finishes a turn | — |

Hook Configuration

// .claude/settings.json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "command": "echo 'About to run a shell command'"
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "command": "eslint --fix \"$CLAUDE_FILE_PATH\" 2>/dev/null || true"
      }
    ],
    "Notification": [
      {
        "command": "terminal-notifier -message \"$CLAUDE_NOTIFICATION\" -title 'Claude Code'"
      }
    ],
    "Stop": [
      {
        "command": "say 'Claude is done'"
      }
    ]
  }
}

Community Hook Recipes

Auto-format on save (multi-language):

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "command": "case \"$CLAUDE_FILE_PATH\" in *.py) black \"$CLAUDE_FILE_PATH\" 2>/dev/null;; *.ts|*.tsx|*.js|*.jsx) prettier --write \"$CLAUDE_FILE_PATH\" 2>/dev/null;; *.go) gofmt -w \"$CLAUDE_FILE_PATH\" 2>/dev/null;; *.rs) rustfmt \"$CLAUDE_FILE_PATH\" 2>/dev/null;; esac || true"
      }
    ]
  }
}

Desktop notifications (macOS):

{
  "hooks": {
    "Notification": [
      {
        "command": "osascript -e 'display notification \"'\"$CLAUDE_NOTIFICATION\"'\" with title \"Claude Code\"'"
      }
    ]
  }
}

Block dangerous commands:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "command": "if echo \"$CLAUDE_TOOL_INPUT\" | grep -qE 'rm -rf /|DROP TABLE|format c:'; then echo 'BLOCKED: Dangerous command detected' >&2; exit 1; fi"
      }
    ]
  }
}

Auto-run tests after edits:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "command": "if echo \"$CLAUDE_FILE_PATH\" | grep -qE '\\.(test|spec)\\.(ts|js|tsx|jsx)$'; then npx vitest run \"$CLAUDE_FILE_PATH\" --reporter=dot 2>/dev/null || true; fi"
      }
    ]
  }
}

Status Line Customization

> Customize what Claude Code shows in the status bar at the bottom of your terminal.

// ~/.claude/settings.json
{
  "statusLine": {
    "enabled": true,
    "items": ["model", "cost", "session"]
  }
}

MCP Servers

> MCP (Model Context Protocol) servers extend Claude Code with external tools and data sources. Add them to .claude/settings.json or ~/.claude/settings.json.

MCP Configuration Example

// .claude/settings.json
{
  "mcpServers": {
    "github": {
      "comm

…

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [erkcet](https://github.com/erkcet)
- **Source:** [erkcet/awesome-claude-code](https://github.com/erkcet/awesome-claude-code)
- **License:** CC0-1.0

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.