Configuration
This guide covers how to configure ClaudeAutoPM to match your development workflow, including plugin selection, directory structure, and environment variables.
Directory Structure
After installation, ClaudeAutoPM creates the following structure in your project:
your-project/
├── .claude/ # Main configuration directory
│ ├── agents/ # AI agent definitions
│ │ ├── core/ # Core utility agents
│ │ ├── languages/ # Language-specific agents
│ │ ├── databases/ # Database experts
│ │ ├── cloud/ # Cloud platform architects
│ │ ├── devops/ # DevOps specialists
│ │ └── testing/ # Testing engineers
│ ├── commands/ # PM command definitions
│ │ └── pm/ # Project management commands
│ ├── rules/ # Development rules
│ │ ├── tdd.enforcement.md
│ │ ├── naming-conventions.md
│ │ └── git-strategy.md
│ ├── scripts/ # Utility scripts
│ │ └── pm/ # PM automation scripts
│ ├── checklists/ # Quality checklists
│ ├── prds/ # Product Requirements Documents
│ ├── epics/ # Epics and tasks
│ ├── context/ # Project context files
│ ├── config.json # Main configuration file
│ └── .env # Environment variables
├── .claude-code/ # Claude Code settings
│ └── config.json # Editor configuration
├── scripts/ # Project scripts
│ ├── safe-commit.sh # Safe commit utility
│ └── setup-hooks.sh # Hook installer
├── CLAUDE.md # Project instructions for Claude
└── PLAYBOOK.md # Usage guidelinesConfiguration File
The main configuration file is .claude/config.json. Here's a typical configuration:
{
"version": "3.4.0",
"features": {
"docker_first_development": false,
"kubernetes_devops_testing": false,
"github_actions_k8s": false,
"enforce_docker_tests": false,
"integration_tests": true
},
"execution_strategy": "adaptive",
"projectManagement": {
"provider": "github",
"repository": "owner/repo",
"features": {
"auto_assign": true,
"auto_label": true,
"epic_tracking": true
}
},
"plugins": {
"enabled": [
"plugin-pm",
"plugin-pm-github"
]
}
}Configuration Options
Features
| Feature | Type | Description |
|---|---|---|
docker_first_development | boolean | Enable Docker-first development mode |
kubernetes_devops_testing | boolean | Enable Kubernetes testing in CI/CD |
github_actions_k8s | boolean | Enable K8s jobs in GitHub Actions |
enforce_docker_tests | boolean | Require tests to run in containers |
integration_tests | boolean | Enable integration test workflows |
Execution Strategy
| Strategy | Description |
|---|---|
sequential | Run agents one at a time (safe, predictable) |
adaptive | Automatically choose based on task complexity |
hybrid-parallel | Maximum parallelization for power users |
Project Management
| Option | Description |
|---|---|
provider | github or azure-devops |
repository | Repository identifier (owner/repo) |
auto_assign | Automatically assign issues when starting |
auto_label | Apply labels based on content analysis |
epic_tracking | Enable epic-level progress tracking |
Plugin System
ClaudeAutoPM uses a modular plugin system. Plugins add commands, agents, and functionality.
Core Plugins
| Plugin | Description | Commands |
|---|---|---|
plugin-pm | Core project management | /pm:init, /pm:prd-new, /pm:prd-parse, /pm:epic-decompose |
plugin-pm-github | GitHub integration | /pm:epic-sync, /pm:issue-start, /pm:issue-close |
plugin-pm-azure | Azure DevOps integration | /azure:* commands |
Language Plugins
| Plugin | Description |
|---|---|
plugin-nodejs | Node.js/JavaScript/TypeScript support |
plugin-python | Python development support |
plugin-go | Go development support |
Infrastructure Plugins
| Plugin | Description |
|---|---|
plugin-docker | Docker containerization |
plugin-kubernetes | Kubernetes orchestration |
plugin-terraform | Infrastructure as Code |
Enabling/Disabling Plugins
Edit .claude/config.json:
{
"plugins": {
"enabled": [
"plugin-pm",
"plugin-pm-github",
"plugin-nodejs",
"plugin-docker"
]
}
}Or use the CLI:
# List available plugins
autopm plugins list
# Enable a plugin
autopm plugins enable plugin-docker
# Disable a plugin
autopm plugins disable plugin-azureEnvironment Variables
Environment variables are stored in .claude/.env. Copy from the template and configure:
# Copy template
cp .claude/.env.example .claude/.env
# Or use interactive setup
autopm setup-envCommon Environment Variables
# GitHub Configuration
GITHUB_TOKEN=ghp_xxxxxxxxxxxxx
GITHUB_REPOSITORY=owner/repo
# Azure DevOps Configuration (if using Azure)
AZURE_DEVOPS_ORG=your-organization
AZURE_DEVOPS_PROJECT=your-project
AZURE_DEVOPS_PAT=your-personal-access-token
# Feature Toggles
DOCKER_FIRST_DEVELOPMENT=false
KUBERNETES_DEVOPS_TESTING=false
GITHUB_ACTIONS_K8S=false
INTEGRATION_TESTS=true
# Execution Configuration
AUTOPM_PARALLEL_THRESHOLD=5
AUTOPM_LOG_LEVEL=1Environment Variable Reference
| Variable | Description | Default |
|---|---|---|
GITHUB_TOKEN | GitHub personal access token | - |
GITHUB_REPOSITORY | Target repository (owner/repo) | Auto-detected |
AZURE_DEVOPS_ORG | Azure DevOps organization | - |
AZURE_DEVOPS_PROJECT | Azure DevOps project name | - |
AZURE_DEVOPS_PAT | Azure DevOps personal access token | - |
AUTOPM_PARALLEL_THRESHOLD | Task count before parallel processing | 5 |
AUTOPM_LOG_LEVEL | Logging verbosity (0=DEBUG, 3=ERROR) | 1 |
Feature Toggles
Feature toggles allow dynamic configuration without code changes. Use the toggle command:
# In Claude Code
/config:toggle-featuresThis interactive command lets you:
- View current feature states
- Toggle features on/off
- Load predefined templates
- Regenerate CLAUDE.md based on changes
Toggle via CLI
# Enable Docker-first development
autopm config set docker_first_development true
# Disable Kubernetes testing
autopm config set kubernetes_devops_testing false
# View current configuration
autopm config showProvider Configuration
GitHub Provider
For GitHub-based project management:
{
"projectManagement": {
"provider": "github",
"repository": "your-username/your-repo",
"project": "Project Board Name",
"features": {
"auto_assign": true,
"auto_label": true,
"epic_tracking": true,
"sub_issues": true
}
}
}Azure DevOps Provider
For Azure DevOps integration:
{
"projectManagement": {
"provider": "azure-devops",
"organization": "your-org",
"project": "your-project",
"features": {
"auto_assign": true,
"work_item_sync": true,
"sprint_tracking": true
}
}
}MCP Server Configuration
MCP (Model Context Protocol) servers extend Claude's capabilities:
# List available MCP servers
autopm mcp list
# Enable a server
autopm mcp enable context7
autopm mcp enable github-mcp
autopm mcp enable playwright-mcp
# View enabled servers
autopm mcp status
# Sync configuration
autopm mcp syncMCP Configuration in config.json
{
"mcp": {
"servers": {
"context7": {
"enabled": true,
"priority": 1
},
"github-mcp": {
"enabled": true
},
"playwright-mcp": {
"enabled": false
}
}
}
}CLAUDE.md Configuration
The CLAUDE.md file provides instructions to Claude. It's automatically generated based on your configuration but can be customized:
# Project Configuration
## Active Plugins
- @include .claude/plugins/plugin-pm/index.md
- @include .claude/plugins/plugin-pm-github/index.md
## Development Rules
- @include .claude/rules/tdd.enforcement.md
- @include .claude/rules/naming-conventions.md
## Active Agents
- @include .claude/agents/core/code-analyzer.md
- @include .claude/agents/core/test-runner.mdRegenerate CLAUDE.md
After configuration changes:
# Regenerate based on current config
autopm merge
# Or in Claude Code
/re-initConfiguration Presets
ClaudeAutoPM provides configuration presets for common scenarios:
Minimal Development
autopm config preset minimal{
"features": {
"docker_first_development": false,
"kubernetes_devops_testing": false
},
"execution_strategy": "sequential"
}Docker Development
autopm config preset docker{
"features": {
"docker_first_development": true,
"enforce_docker_tests": true
},
"execution_strategy": "adaptive"
}Full DevOps
autopm config preset devops{
"features": {
"docker_first_development": true,
"kubernetes_devops_testing": true,
"github_actions_k8s": true,
"integration_tests": true
},
"execution_strategy": "adaptive"
}Validation
Validate your configuration:
# CLI validation
autopm validate
# In Claude Code
/pm:validateThis checks:
- Configuration file syntax
- Plugin compatibility
- Environment variable presence
- Provider connectivity
Troubleshooting
Invalid Configuration
❌ Invalid config.json: Unexpected token at line 15Solution: Check JSON syntax. Use a JSON validator or:
cat .claude/config.json | python -m json.toolMissing Environment Variables
⚠️ GITHUB_TOKEN not setSolution: Configure the required variable:
autopm setup-env
# Or manually add to .claude/.envPlugin Not Found
❌ Plugin not found: plugin-customSolution: Verify plugin name and availability:
autopm plugins listNext Steps
With configuration complete, you can:
- Review PM Commands for available commands
- Explore the Agent Registry for specialized agents
- Learn about Azure DevOps Integration if using Azure