ChrisWiles/claude-code-showcase
Comprehensive Claude Code project configuration example with hooks, skills, agents, commands, and GitHub Actions workflows
ARCHETYPE
MCP Hoarder
Six or more MCP servers wired in. Every tool, always in context.
Copy this rig
# review before running: this installs third-party code $ claude mcp add jira -e JIRA_API_<redacted> -e JIRA_EMAIL=YOUR_JIRA_EMAIL -e JIRA_HOST=YOUR_JIRA_HOST -- npx -y @anthropic/mcp-jira $ claude mcp add github -e GITHUB_<redacted> -- npx -y @anthropic/mcp-github $ claude mcp add linear -e LINEAR_<redacted> -- npx -y @anthropic/mcp-linear $ claude mcp add sentry -e SENTRY_AUTH_<redacted> -e SENTRY_ORG=YOUR_SENTRY_ORG -- npx -y @anthropic/mcp-sentry $ claude mcp add postgres -e DATABASE_URL=YOUR_DATABASE_URL -- npx -y @anthropic/mcp-postgres $ claude mcp add slack -e SLACK_BOT_<redacted> -e SLACK_TEAM_ID=YOUR_SLACK_TEAM_ID -- npx -y @anthropic/mcp-slack $ claude mcp add notion -e NOTION_<redacted> -- npx -y @anthropic/mcp-notion $ claude mcp add memory -- npx -y @anthropic/mcp-memory $ npx degit ChrisWiles/claude-code-showcase/.claude ./rig-claude-code-showcase # 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 jira -e JIRA_API_<redacted> -e JIRA_EMAIL=YOUR_JIRA_EMAIL -e JIRA_HOST=YOUR_JIRA_HOST -- npx -y @anthropic/mcp-jira $ claude mcp add github -e GITHUB_<redacted> -- npx -y @anthropic/mcp-github $ claude mcp add linear -e LINEAR_<redacted> -- npx -y @anthropic/mcp-linear $ claude mcp add sentry -e SENTRY_AUTH_<redacted> -e SENTRY_ORG=YOUR_SENTRY_ORG -- npx -y @anthropic/mcp-sentry $ claude mcp add postgres -e DATABASE_URL=YOUR_DATABASE_URL -- npx -y @anthropic/mcp-postgres $ claude mcp add slack -e SLACK_BOT_<redacted> -e SLACK_TEAM_ID=YOUR_SLACK_TEAM_ID -- npx -y @anthropic/mcp-slack $ claude mcp add notion -e NOTION_<redacted> -- npx -y @anthropic/mcp-notion $ claude mcp add memory -- npx -y @anthropic/mcp-memory
$ npx degit ChrisWiles/claude-code-showcase/.claude/skills/core-components .claude/skills/core-components $ npx degit ChrisWiles/claude-code-showcase/.claude/skills/formik-patterns .claude/skills/formik-patterns $ npx degit ChrisWiles/claude-code-showcase/.claude/skills/graphql-schema .claude/skills/graphql-schema $ npx degit ChrisWiles/claude-code-showcase/.claude/skills/react-ui-patterns .claude/skills/react-ui-patterns $ npx degit ChrisWiles/claude-code-showcase/.claude/skills/systematic-debugging .claude/skills/systematic-debugging $ npx degit ChrisWiles/claude-code-showcase/.claude/skills/testing-patterns .claude/skills/testing-patterns
$ curl -fsSL --create-dirs -o .claude/agents/code-reviewer.md https://raw.githubusercontent.com/ChrisWiles/claude-code-showcase/main/.claude/agents/code-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/github-workflow.md https://raw.githubusercontent.com/ChrisWiles/claude-code-showcase/main/.claude/agents/github-workflow.md
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": "Edit|MultiEdit|Write",
"hooks": [
{
"type": "command",
"command": "# Prevent editing on main branch\n[ \"$(git branch --show-current)\" != \"main\" ] || { echo '{\"block\": true, \"message\": \"Cannot edit files on main branch. Create a feature branch first.\"}' >&2; exit 2; }"
}
]
}
]
}
} MCP servers (8)
| server | source | est. tokens |
|---|---|---|
| @anthropic/mcp-jira · "jira" env: JIRA_API_TOKEN, JIRA_EMAIL, JIRA_HOST | npm | 2.5k |
| @anthropic/mcp-github · "github" env: GITHUB_TOKEN | npm | 2.5k |
| Linear env: LINEAR_API_KEY | npm | 5.5k |
| Sentry env: SENTRY_AUTH_TOKEN, SENTRY_ORG | npm | 4.5k |
| @anthropic/mcp-postgres · "postgres" env: DATABASE_URL | npm | 2.5k |
| @anthropic/mcp-slack · "slack" env: SLACK_BOT_TOKEN, SLACK_TEAM_ID | npm | 2.5k |
| Notion env: NOTION_API_KEY | npm | 6.0k |
| @anthropic/mcp-memory · "memory" | npm | 2.5k |
Skills (6)
Subagents (2)
| code-reviewer model: opus | MUST BE USED PROACTIVELY after writing or modifying any code. Reviews against project standards, TypeScript strict mode, and coding conventions. Checks for anti-patterns, security issues, and performa |
| github-workflow model: sonnet | Git workflow agent for commits, branches, and PRs. Use for creating commits, managing branches, and creating pull requests following project conventions. |
Hooks (6)
| event | matcher | runs |
|---|---|---|
| UserPromptSubmit | * | "$CLAUDE_PROJECT_DIR"/.claude/hooks/skill-eval.sh |
| PreToolUse | Edit|MultiEdit|Write | # Prevent editing on main branch [ "$(git branch --show-current)" != "main" ] || { echo '{"block": true, "message": "Cannot edit files on main branch. Create a feature branch first."}' >&2; exit 2; } |
| PostToolUse | Edit|MultiEdit|Write | # Auto-format JS/TS files with Prettier (or Biome) if [[ "$CLAUDE_TOOL_INPUT_FILE_PATH" =~ \.(js|jsx|ts|tsx)$ ]]; then file_path="${CLAUDE_TOOL_INPUT_FILE_PATH}" # Use prettier (swap for biome if preferred) npx prettier --write "$file |
| PostToolUse | Edit|MultiEdit|Write | # Auto-install dependencies when package.json changes if [[ "$CLAUDE_TOOL_INPUT_FILE_PATH" =~ package\.json$ ]]; then echo '{"feedback": "Installing dependencies..."}' >&2 npm install >/dev/null 2>&1 && echo '{"feedback": "Dependencies |
| PostToolUse | Edit|MultiEdit|Write | # Auto-run tests when test files change if [[ "$CLAUDE_TOOL_INPUT_FILE_PATH" =~ \.test\.(js|jsx|ts|tsx)$ ]]; then echo '{"feedback": "Running tests..."}' >&2 npm test -- --findRelatedTests "${CLAUDE_TOOL_INPUT_FILE_PATH}" --passWithNoTe |
| PostToolUse | Edit|MultiEdit|Write | # Type-check TypeScript files if [[ "$CLAUDE_TOOL_INPUT_FILE_PATH" =~ \.(ts|tsx)$ ]]; then echo '{"feedback": "Checking TypeScript types..."}' >&2 output=$(npx tsc --noEmit 2>&1) exit_code=$? if [ $exit_code -eq 0 ]; then echo ' |
Slash commands (6)
/code-quality/docs-sync/onboard/pr-review/pr-summary/ticket
Similar rigs
Bilal140202/the-lord-of-the-skills
⚔ AI agent skills installer — 17,000+ skills for Claude Code, Cursor, Cline, Aider, Codex & Antigravity. pip install lotr-skills. cursor rules, claude code skills, SKILL.md, AGENTS.md.
MCP Hoarder 44.0k tok ·
maryam-bahrami/claude-code-project-structure
A practical Claude Code project template showcasing best practices for CLAUDE.md, commands, skills, agents, MCP integrations, and team workflows.
Pragmatist 3.0k tok ·
brettinternet/dotfiles
dotfiles for various environments
Pragmatist 24.2k tok ·
lararosekelley/dotfiles
My dotfiles, meant for use with a Bash shell
MCP Hoarder 57.2k tok ·