Directory Structure
Relevant source files
The following files were used as context for generating this wiki page:The project's directory structure is specifically organized to configure and extend Claude Code, transforming it into a highly customized AI assistant. This structure modularizes different aspects of Claude's configuration, from high-level project memory and external tool integrations to granular AI behaviors defined in skills, agents, and commands. By separating these concerns, the repository enables robust automation, enforces coding conventions, and integrates seamlessly with development workflows like CI/CD and issue tracking.
The core of this architecture is the .claude directory, which centralizes all AI-related assets. This is complemented by root-level configuration files and a .github directory for workflow automation, creating a comprehensive system for managing Claude's interaction with the codebase.
Sources: README.md:71-113, CLAUDE.md:1-49
High-Level Overview
The following diagram illustrates the main directories and configuration files that govern Claude Code's behavior within the project.
This diagram shows the primary components of the Claude Code configuration at the root level of the project.
Sources: README.md:71-113
Key Directories and Files
| Path | Description |
|---|---|
CLAUDE.md | Project memory file containing high-level context like tech stack, key directories, and coding conventions. It is loaded at the start of every session. |
.mcp.json | Configures MCP (Model Context Protocol) servers for integrating with external tools like JIRA, GitHub, and Slack. |
.claude/ | The central directory for all Claude-specific configurations, including agents, skills, commands, and hooks. |
.github/workflows/ | Contains GitHub Actions workflow files that leverage Claude for automated tasks like PR reviews and scheduled maintenance. |
Sources: README.md:72-73, README.md:89-95, CLAUDE.md
Root-Level Configuration
These files are located in the project's root directory and provide the initial, high-level context for Claude.
CLAUDE.md - Project Memory
This file acts as Claude's persistent memory for the project. It provides essential context that is loaded automatically at the start of each session. The system looks for this file in three locations, in order of precedence: .claude/CLAUDE.md, ./CLAUDE.md (root), and ~/.claude/CLAUDE.md (user-level).
Key information includes:
- Quick Facts: Tech stack and primary commands (
npm test,npm run lint). - Key Directories: A map of important source code locations (
src/components,src/api). - Code Style: Core style guidelines (e.g., TypeScript strict mode, no
any). - Critical Rules: Non-negotiable rules for topics like error handling and UI states.
Sources: README.md:202-214, CLAUDE.md:1-49
.mcp.json - External Integrations
This file configures connections to external services through MCP (Model Context Protocol) servers. These servers act as a local bridge, providing Claude with tools to interact with APIs for services like JIRA, GitHub, and databases. This enables complex workflows, such as reading a ticket, implementing the required changes, and updating the ticket's status automatically.
Example configuration for a JIRA server:
{
"mcpServers": {
"jira": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@anthropic/mcp-jira"],
"env": {
"JIRA_HOST": "${JIRA_HOST}",
"JIRA_EMAIL": "${JIRA_EMAIL}",
"JIRA_API_TOKEN": "${JIRA_API_TOKEN}"
}
}
}
}
Sources: README.md:237-251, README.md:273-285
The .claude Directory
This directory is the heart of the Claude Code customization, containing all the assets that define its specialized behaviors and automation capabilities.
The following diagram shows the components within the .claude directory and their relationships.
Sources: README.md:74-98
settings.json
This is the main configuration file for defining hooks, environment settings, and permissions. It orchestrates how other components in the .claude directory are used. For example, it registers hook scripts that run on events like PreToolUse or UserPromptSubmit. It can also be used to enable LSP plugins for real-time code intelligence.
Sources: README.md:75, README.md:216-221
agents/
This directory contains specialized AI assistants, defined as markdown files. Each agent has a specific purpose, a system prompt, and potentially a dedicated model (opus, sonnet, etc.). An example is the code-reviewer.md agent, which follows a detailed checklist to review code changes.
Sources: README.md:79-80, README.md:461-465
commands/
This directory holds definitions for custom slash commands (e.g., /ticket, /pr-review). Each command is a markdown file that instructs Claude on the steps to perform, and can accept arguments. These commands are often used to trigger complex workflows that may involve external tools via MCP servers.
Sources: README.md:82-86, README.md:483-487
hooks/
This directory contains scripts that are executed on specific events during Claude's operation. A key example is the skill evaluation system, which uses a skill-eval.sh script triggered on the UserPromptSubmit event to analyze the user's prompt and suggest relevant skills.
The skill evaluation flow is as follows:
This sequence shows how a user prompt triggers a hook that uses a script and a rules file to suggest skills back to Claude.
Sources: README.md:88-92, README.md:383-390
skills/
This directory contains the project's domain knowledge, broken down into individual skills. Each skill is a SKILL.md file within its own subdirectory (e.g., testing-patterns/SKILL.md). These files teach Claude project-specific patterns, conventions, and best practices. The frontmatter of a SKILL.md file includes a name and a description, which is critical for the skill evaluation engine to determine when the skill should be activated.
Sources: README.md:94-98, README.md:428-433
.github/workflows/
This directory houses GitHub Actions workflows that automate tasks using Claude Code. These workflows run on triggers like pull requests or on a schedule.
| Workflow File | Trigger | Purpose |
|---|---|---|
pr-claude-code-review.yml | pull_request, issue_comment | Automatically reviews pull requests using a specified agent (e.g., code-reviewer.md). |
scheduled-claude-code-docs-sync.yml | schedule (Monthly) | Reads recent commits and ensures documentation is aligned with code changes. |
scheduled-claude-code-quality.yml | schedule (Weekly) | Reviews random directories for quality issues and can auto-fix them. |
scheduled-claude-code-dependency-audit.yml | schedule (Biweekly) | Performs safe dependency updates and verifies them with tests. |
These automations offload significant maintenance and quality assurance work, allowing developers to focus on feature development.
Sources: README.md:109-113, README.md:507-526
Conclusion
The directory structure of this repository is meticulously designed to support a sophisticated, automated, and highly customized AI development assistant. By organizing configuration, AI assets, and automation scripts into clear and distinct locations, the project provides a scalable framework for embedding deep project knowledge into Claude Code. This structured approach is fundamental to enabling the advanced workflows demonstrated, such as automated code reviews, ticket-driven development, and proactive code maintenance.
Sources: README.md:5-10, README.md:71-72