Installation
Time-to-first-value: A CTO's team is running ADLC in one command. Prerequisites, install options, and multi-tier MCP setup follow — collapse the raw shell to focus on the outcome first.
Before starting, ensure you have:
- Node.js 20+ — for CDK projects and the ADLC CLI
- Docker 24+ — for DevContainer and local validation
- Git 2.x — for submodule management
For engineers: Consumer Setup (5 minutes)
Consumer Setup (5 minutes)
- Git Submodule (Recommended)
- Symlink (Development)
# Add ADLC framework as submodule
cd your-project
git submodule add https://github.com/1xOps/adlc-framework.git .adlc
# Create symlink for Claude Code
ln -s .adlc/.claude .claude
# Initialize submodule
git submodule update --init --recursive
# For local development with symlink
ln -s /path/to/adlc-framework .adlc
ln -s .adlc/.claude .claude
Framework Management Tasks
Add these to your Taskfile.yml:
version: '3'
tasks:
framework:version:
desc: Show ADLC framework version
cmds:
- |
cd .adlc
VERSION=$(git describe --tags 2>/dev/null || git rev-parse --short HEAD)
echo "ADLC Framework: $VERSION"
framework:update:
desc: Update framework to latest
cmds:
- git submodule update --remote .adlc
- cd .adlc && git checkout main && git pull
framework:dev:
desc: Switch to symlink mode for development
cmds:
- rm -rf .adlc
- ln -s /path/to/local/adlc-framework .adlc
framework:prod:
desc: Switch back to submodule mode
cmds:
- rm -f .adlc
- git submodule update --init .adlc
DevContainer Setup
Open in VS Code with DevContainer:
- Install "Dev Containers" VS Code extension
- Open project folder
- Press
F1→ "Dev Containers: Reopen in Container"
The DevContainer includes:
- Terraform 1.14.3
- AWS CDK 2.1033.0
- LocalStack endpoint pre-configured
- 30+ DevOps tools
The DevContainer is the fastest path to a working ADLC environment — all tools pre-installed, no manual configuration required. Run F1 → Dev Containers: Reopen in Container and you are ready in under 2 minutes.
MCP Server Configuration
ADLC uses a three-tier MCP architecture. Each tier serves a different purpose:
| File | Role | Purpose |
|---|---|---|
.mcp.json | Active runtime | Loaded by claude --mcp-config .mcp.json — minimal servers, fast startup. Generated from active persona by SessionStart hook. |
.claude/mcps/.mcp-enterprise.json | SSOT (Single Source of Truth) | All 33 MCP server configs with _profiles and _access tags. Edit here; profiles regenerate via scripts/derive-mcp-profile.py. |
.claude/mcps/profiles/{persona}.json | Persona profiles (generated) | Role-specific MCP subsets — each persona gets exactly the servers they need. Do not edit by hand; regenerate from SSOT. |
Active Runtime (.mcp.json)
The root .mcp.json is what Claude Code loads at startup. Keep it minimal for fast session start:
# Standard alias for ADLC sessions
alias ccm="claude --dangerously-skip-permissions --chrome --mcp-config .mcp.json"
Persona Profiles
Profiles in .claude/mcps/profiles/ are generated from the SSOT .claude/mcps/.mcp-enterprise.json. Do not edit profile files directly — edit the SSOT and re-run the derive script. Reference: .claude/mcps/MATRIX.md.
| Persona | Servers | Role |
|---|---|---|
minimal (default) | 1 | Context7 docs only. Smallest context footprint |
reviewer | 6 | AWS review (API, cost, network, ECS, CloudFormation) + Context7 |
executive | 4 | CxO view: Vizro dashboards, Azure, AWS cost + Context7 |
security-engineer | 2 | Azure security review + Context7 |
delivery | 2 | Jira and Confluence (Atlassian Rovo + Atlassian tools) |
portfolio-enterprise | 9 | Enterprise portfolio: Atlassian, Azure, AWS (API, cost, network, ECS, CloudFormation) + Context7 |
portfolio-startup | 5 | Startup portfolio: Atlassian tools, AWS API and cost, Slack + Context7 |
To switch personas:
# HITL terminal — start Claude Code with a specific profile
claude --mcp-config .claude/mcps/profiles/reviewer.json --strict-mcp-config
# Replace "reviewer" with any persona: minimal, reviewer, executive, security-engineer, delivery, portfolio-enterprise, portfolio-startup
# Default (no flag) = minimal (1 server)
Adding New MCP Servers
- Add the server to
.claude/mcps/.mcp-enterprise.json(the SSOT) - Tag with
_profiles: ["persona-A", "persona-B", ...]for membership - Regenerate profiles:
python3 .claude/mcps/scripts/derive-mcp-profile.py --all - Validate:
python3 .claude/mcps/scripts/derive-mcp-profile.py --check(exit 0 = no drift)
Verify Installation
# Check framework version
cat VERSION # -> 3.8.0
# Audit skills health
task skills:audit # -> STATUS: HEALTHY (88/100)
# Confirm every MCP config still matches the SSOT (no drift)
task mcp:profile:check # -> All 7 profiles, the plugin core set, and every project, tenant, and slice config match SSOT