ADR-0011: Claude Code as primary IaC authoring tool¶
Status¶
Accepted — 2026-04-02
Context¶
Archon is a single-operator platform spanning Ansible, Terraform, k3s, Azure DevOps pipelines, OT firmware, and documentation. The breadth of work across infrastructure, security, and automation exceeds what one person can efficiently author and audit manually. Local models (Ollama, Qwen3:4b) handle quick lookups but lack the context window and reasoning depth for multi-file infrastructure tasks.
Decision¶
Claude Code (Anthropic CLI) is the primary IaC authoring tool for the Archon platform.
- Installed on: CanEast AI Node — WSL
- Working directory:
~/homelab/repos/ - Model: Claude Sonnet 4.6
- Scope: Ansible role authoring/auditing, Terraform modules, ADR writing, PR creation, Azure DevOps CLI operations, ansible-lint triage, documentation
Boundary with local AI stack¶
| Use case | Tool |
|---|---|
| Quick lookups, chat, exploratory questions | Ollama / Open WebUI (Qwen3:4b) |
| IaC authoring — Ansible, Terraform, k3s manifests | Claude Code |
| ADR writing, PR descriptions, doc updates | Claude Code |
| Azure DevOps CLI operations from terminal | Claude Code |
| OT firmware (ESP32, Arduino) | Claude Code or Ollama (TBD) |
Alternatives considered¶
- Ollama (Qwen3:4b) for all tasks: insufficient context window for multi-file audits
- GitHub Copilot: IDE-only, no terminal/CLI integration, weak for IaC
- No AI tooling: single operator with broad scope — AI assistance materially reduces time-to-deploy
Consequences¶
- Anthropic API usage billed to account associated with Claude Code
- PATs and sensitive credentials must not be typed into prompt — use env vars and credential helpers
- Session context not persistent across restarts —
.claude/memory directory used for cross-session context - Claude Code does not have network access to internal services — all runs executed locally