{"slug": "ai-dlc-one-core-many-harnesses", "title": "AI-DLC – one core, many harnesses", "summary": "AWS Labs has released AI-DLC Workflows 2.0 as generally available on the main branch, turning AI agents into verifiable, self-correcting engineering workflows from a harness-neutral core that renders natively across Claude Code, Kiro IDE, Kiro CLI, Codex CLI, Cursor, opencode, and GitHub Copilot. The implementation runs a 14-agent roster through a 33-stage workflow with approval gates, and AWS warns that generative AI can make mistakes, advising users to review all output and costs.", "body_md": "AI-DLC Workflows 2.0 is **GA** on this repository's default `main`\n\nbranch. Use\n`main`\n\nfor new installations and upgrades. It turns AI agents into verifiable,\nself-correcting engineering workflows from one harness-neutral core rendered\nnatively across Claude Code, Kiro IDE, Kiro CLI, Codex CLI, Cursor, opencode,\nand GitHub Copilot.\n\nNote\n\nInterfaces, stage definitions, the agent roster, and the install model are stable, but we will continue to optimize based on feedback; pin a known-good version for anything you depend on, and review all generated output before you act on it. See the [roadmap](https://awslabs.github.io/aidlc-workflows/roadmap.html) for what's shipped, in flight, and planned.\n\nA native implementation of the **AI-DLC methodology** (AI-Driven Development Life Cycle) that runs on **many harnesses from one source of truth** — today Claude Code, Kiro IDE, Kiro CLI, Codex CLI, Cursor, opencode, and GitHub Copilot, and any capable harness you port it to. Run a full software-development lifecycle with a 14-agent roster — 11 domain experts, 2 review-only agents, and the adaptive-workflows composer — working through a 33-stage workflow, with you approving every gate.\n\nThe methodology lives once, in a harness-neutral `core/`\n\n; each harness adds a thin surface that decides how it shows up on that harness. So you edit the methodology in one place, and every harness distribution is generated from it — no harness gets special treatment. (See [Repository layout](#repository-layout) for how the pieces fit together.)\n\nNote\n\nThis implementation realizes the autonomous software development vision, the core principles, and the architecture specified in the [AI-DLC Workflows 2.0 Specification](https://github.com/awslabs/aidlc-workflows/blob/main/assets/AI-DLC-Workflows-2.0-Specification.pdf) whitepaper, rendered natively across multiple CLI harnesses from one source.\n\nImportant\n\nGenerative AI can make mistakes. You should consider reviewing all output and costs generated by your chosen AI model and agentic coding assistant. See [AWS Responsible AI Policy](https://aws.amazon.com/ai/responsible-ai/policy/).\n\nTo learn more about AI-DLC, read this [blog post](https://aws.amazon.com/blogs/devops/ai-driven-development-life-cycle/) and the [Method Definition Paper](https://prod.d13rzhkk8cj2z0.amplifyapp.com/) it references.\n\nAd-hoc AI coding works until the project gets real. Then context drifts between prompts, the reasoning behind a decision goes unrecorded, and the model quietly does something you never asked for. AI-DLC puts structure around the work: each stage has a clear owner, every decision passes an approval gate before the next one starts, and this implementation records what it learns from your corrections so it stops repeating them. The same engine runs a throwaway proof-of-concept and a regulated enterprise rollout — it just runs more of the stages, in more depth.\n\n— Initialization, Ideation, Inception, Construction, Operation[5 phases, 33 stages](/awslabs/aidlc-workflows/blob/main/docs/guide/04-phases-and-stages.md)— 11 domain experts, 2 quality-gate reviewers, and the adaptive-workflows composer[14-agent roster](/awslabs/aidlc-workflows/blob/main/docs/guide/06-agents.md)(enterprise through express, with the v1-style classic default —[11 adaptive scopes](/awslabs/aidlc-workflows/blob/main/docs/guide/05-scopes-and-depth.md)`AWS_AIDLC_DEFAULT_SCOPE`\n\noverrides it — the full-lifecycle feature scope, and workshop retained for facilitated sessions) plus an([adaptive composer](/awslabs/aidlc-workflows/blob/main/docs/guide/05-scopes-and-depth.md#the-adaptive-composer)`/aidlc compose`\n\n) that proposes a tailored stage plan from your task, a scan report, or the running workflow(Minimal/Standard/Comprehensive) — control artifact detail per stage[3 depth levels](/awslabs/aidlc-workflows/blob/main/docs/guide/05-scopes-and-depth.md#the-3-depth-levels)(Minimal/Standard/Comprehensive) — independent of depth for flexible test coverage[3 test strategy levels](/awslabs/aidlc-workflows/blob/main/docs/guide/05-scopes-and-depth.md#the-3-test-strategy-levels)— jump to any stage or phase, check status, change scope/depth/test strategy mid-workflow[CLI utilities](/awslabs/aidlc-workflows/blob/main/docs/guide/12-cli-commands.md)— you stay in control of all decisions[Approval gates at every stage](/awslabs/aidlc-workflows/blob/main/docs/guide/07-interaction-modes.md)— methodology knowledge ships with the framework; team knowledge is user-managed[Two-tier knowledge system](/awslabs/aidlc-workflows/blob/main/docs/guide/08-knowledge.md)— human corrections become persistent behavioral rules[Rules and a learning loop](/awslabs/aidlc-workflows/blob/main/docs/guide/09-rules-and-the-learning-loop.md)- structured logging for enterprise traceability[91-event audit trail](/awslabs/aidlc-workflows/blob/main/docs/guide/10-state-and-audit.md)— continue from checkpoint, redo, jump to stage, or start fresh[Session resume](/awslabs/aidlc-workflows/blob/main/docs/guide/11-session-management.md)\n\n**AI-DLC is a methodology** — a structured, gated approach to AI-driven software development, defined by AWS (see the [blog post](https://aws.amazon.com/blogs/devops/ai-driven-development-life-cycle/) and [method paper](https://prod.d13rzhkk8cj2z0.amplifyapp.com/) under [References](#references)). **This repository is its native, multi-harness implementation** — the methodology rendered as skills, agents, hooks, and tools from one harness-neutral `core/`\n\n, so it runs natively inside Claude Code, Kiro IDE, Kiro CLI, Codex CLI, Cursor, opencode, GitHub Copilot, or any capable harness you port it to. The methodology is the *what*; each harness distribution is the *how* for one runtime, and every distribution is generated from the same source.\n\n| Harness | Install (copy into your project) | Invoke | Install & usage guide |\n|---|---|---|---|\nKiro IDE |\n`dist/kiro-ide/.kiro/` + `dist/kiro-ide/aidlc/` → `<project>/` (+ `dist/kiro-ide/AGENTS.md` ; copy or merge the AI-DLC `.gitignore` section) |\n`/aidlc` |\n|\n\n**Kiro CLI**(≥ 2.6)`dist/kiro/.kiro/`\n\n+ `dist/kiro/aidlc/`\n\n→ `<project>/`\n\n(+ `dist/kiro/AGENTS.md`\n\n; copy or merge the AI-DLC `.gitignore`\n\nsection)`/aidlc`\n\n[Quick Start](#quick-start)below +[Running AI-DLC on Kiro CLI](/awslabs/aidlc-workflows/blob/main/docs/guide/harnesses/kiro-cli.md).**Claude Code**`dist/claude/.claude/`\n\n+ `dist/claude/aidlc/`\n\n→ `<project>/`\n\n(copy or merge the AI-DLC `.gitignore`\n\nsection)`/aidlc`\n\n[Quick Start](#quick-start)below +[Getting Started](/awslabs/aidlc-workflows/blob/main/docs/guide/01-getting-started.md).**Codex CLI**(≥ 0.145.0)`dist/codex/`\n\n→ `<project>/`\n\n(`.codex/`\n\n+ `.agents/`\n\n+ `aidlc/`\n\n+ `AGENTS.md`\n\n)`$aidlc`\n\n(or `/skills`\n\n→ aidlc)[Quick Start](#quick-start)below +[AI-DLC on Codex CLI](/awslabs/aidlc-workflows/blob/main/docs/guide/harnesses/codex-cli.md).**Cursor**`bun dist/cursor/install.ts <project>`\n\n`/aidlc`\n\n[Quick Start](#quick-start)below +[AI-DLC on Cursor](/awslabs/aidlc-workflows/blob/main/docs/guide/harnesses/cursor.md).**opencode**(≥ 1.17)`dist/opencode/`\n\n→ `<project>/`\n\n(`.aidlc/`\n\n+ `.opencode/`\n\n+ `aidlc/`\n\n+ `opencode.json`\n\n+ `AGENTS.md`\n\n)`/aidlc`\n\n[Quick Start](#quick-start)below +[AI-DLC on opencode](/awslabs/aidlc-workflows/blob/main/docs/guide/harnesses/opencode.md).**GitHub Copilot**(CLI ≥ 1.0.74 / VS Code ≥ 1.130)`dist/copilot/`\n\n→ `<project>/`\n\n(`.aidlc/`\n\n+ `aidlc/`\n\n+ `AGENTS.md`\n\n; MERGE `.github/`\n\n)`/aidlc`\n\n[Quick Start](#quick-start)below +[AI-DLC on GitHub Copilot](/awslabs/aidlc-workflows/blob/main/docs/guide/harnesses/copilot.md).The deterministic engine — state machine, audit log, and the referee that coordinates parallel agents — is byte-identical across every harness; only the shell differs. Each section in the [Quick Start](#quick-start) installs one harness end to end, and its guide above goes deeper on prerequisites and differences.\n\nNote\n\nAI-DLC on Kiro (IDE or CLI) works best with **Claude Opus 4.8**, which requires a **paid Kiro plan**. On weaker models the conductor may skip optional stage steps (reviewer pass, learnings ritual) or rush approval gates.\n\nThis release works better with `Claude Opus 4.8`\n\n. We are sharpening it for previous model versions.\n\nEvery harness runs the same TypeScript hooks and CLI tools through **bun**, so install bun first — it's the one requirement they all share.\n\n```\n# macOS / Linux\ncurl -fsSL https://bun.sh/install | bash\n# Windows PowerShell\nirm bun.sh/install.ps1 | iex\n:: Windows Command Prompt (CMD) — bun ships only a PowerShell installer, so invoke it from CMD\npowershell -c \"irm bun.sh/install.ps1 | iex\"\n```\n\nOn Windows, use *either* PowerShell *or* CMD, not both — your prompt shows `PS C:\\`\n\nin PowerShell and `C:\\`\n\n(no `PS`\n\n) in CMD. Everything runs on native Windows; WSL is not required. [Git for Windows](https://git-scm.com/downloads/win) is recommended so harnesses that use a Bash tool can find one.\n\nTip\n\nbun has to be on the PATH that *non-interactive* shells see, since that's what a harness uses to run a hook or tool. Those shells read `~/.zshenv`\n\n(zsh) or `~/.bashrc`\n\n(bash), not `~/.zshrc`\n\n— but the bun installer writes to `~/.zshrc`\n\n. So if `which bun`\n\nworks in your terminal yet the harness can't find bun, copy the `BUN_INSTALL`\n\n/`PATH`\n\nexport into `~/.zshenv`\n\n(or `~/.bashrc`\n\nfor bash and Git Bash).\n\nModel-provider setup is harness-specific. The shipped Claude Code configuration\nuses **AWS Bedrock**; GitHub Copilot uses GitHub sign-in or BYOK; Kiro, Cursor,\nCodex, and opencode use the provider and credentials configured in their own\nruntime. Each harness section below has the specifics.\n\nEvery install below copies from this repository's `dist/<harness>/`\n\ntrees. Clone\nthe GA `main`\n\nbranch:\n\n```\ngit clone --branch main https://github.com/awslabs/aidlc-workflows.git\ncd aidlc-workflows\n```\n\nRun the `cp`\n\ncommands in the sections below from this repository's root.\n\nWith bun in place, pick your harness below and expand it — each section installs that CLI, sets up your project, and walks the first run end to end.\n\n**Kiro IDE**\n\n**1. Install Kiro IDE** and sign in.\n\n**2. Set up your project**\n\n```\nmkdir -p your-project/.kiro your-project/aidlc\ncp -R dist/kiro-ide/.kiro/. your-project/.kiro/\ncp -R dist/kiro-ide/aidlc/. your-project/aidlc/     # the workspace shell — a sibling of .kiro/, not inside it\ncp dist/kiro-ide/AGENTS.md your-project/AGENTS.md   # merge if you already have one\n# Existing .gitignore: preserve it and merge only the section beginning \"# AI-DLC\".\nif [ ! -e your-project/.gitignore ]; then\n  cp dist/kiro-ide/.gitignore your-project/.gitignore\nfi\n```\n\nThe `aidlc/`\n\nshell ships the pre-built `aidlc/spaces/default/memory/`\n\nmethod tree the engine reads; `/aidlc --doctor`\n\nfails its \"workspace shell ready\" check without it. The `.gitignore`\n\ncarries the workspace's commit/ignore split: the per-user cursors (`aidlc/active-space`\n\n, `aidlc/spaces/*/intents/active-intent`\n\n) and machine-local runtime stay untracked, while the shared records — method memory, state, audit shards, artifacts — travel with git. The guarded command copies the complete starter file only when the project has no `.gitignore`\n\n. If one exists, preserve every project-owned rule and merge only the section from `# AI-DLC`\n\nthrough the end of the shipped file; do not copy its generic starter rules. The `## Git Integration`\n\nsection of the installed onboarding file assumes the AI-DLC rules are in place.\n\nOpen `your-project/`\n\nin Kiro IDE. The `/aidlc`\n\ncommand loads the shipped conductor skill, and `.kiro/agents/aidlc.md`\n\nexposes the conductor in the IDE agent selector. Agents are Markdown-only in this distribution; Kiro CLI's agent-v1 JSON files and `settings/cli.json`\n\ndo not ship. The install registers the framework hooks in both formats: `.kiro/hooks/aidlc-*.json`\n\n(v2 schema for IDE >= 1.0) and `.kiro/hooks/aidlc-*.kiro.hook`\n\n(legacy format for pre-1.0 IDEs). In the chat panel, run `/aidlc --doctor`\n\nto verify, then `/aidlc <description>`\n\nto start.\n\n[!NOTE] AI-DLC on Kiro works best with\n\nClaude Opus 4.8, which requires apaid Kiro plan. On weaker models the conductor may skip optional stage steps (reviewer pass, learnings ritual) or rush approval gates.\n\n**Kiro CLI**\n\n**1. Install Kiro CLI** (≥ 2.6) and log in:\n\n```\nkiro-cli --version   # confirm ≥ 2.6\nkiro-cli login\n```\n\n**2. Set up your project**\n\n```\nmkdir -p your-project/.kiro your-project/aidlc\ncp -R dist/kiro/.kiro/. your-project/.kiro/\ncp -R dist/kiro/aidlc/. your-project/aidlc/    # the workspace shell — a sibling of .kiro/, not inside it\ncp dist/kiro/AGENTS.md your-project/AGENTS.md   # merge if you already have one\n# Existing .gitignore: preserve it and merge only the section beginning \"# AI-DLC\".\nif [ ! -e your-project/.gitignore ]; then\n  cp dist/kiro/.gitignore your-project/.gitignore\nfi\ncd your-project && kiro-cli chat\n```\n\nThe `aidlc/`\n\nshell ships the pre-built `aidlc/spaces/default/memory/`\n\nmethod tree the engine reads; `/aidlc --doctor`\n\nfails its \"workspace shell ready\" check without it. The `.gitignore`\n\ncarries the workspace's commit/ignore split: the per-user cursors (`aidlc/active-space`\n\n, `aidlc/spaces/*/intents/active-intent`\n\n) and machine-local runtime stay untracked, while the shared records — method memory, state, audit shards, artifacts — travel with git. The guarded command copies the complete starter file only when the project has no `.gitignore`\n\n. If one exists, preserve every project-owned rule and merge only the section from `# AI-DLC`\n\nthrough the end of the shipped file; do not copy its generic starter rules. The `## Git Integration`\n\nsection of the installed onboarding file assumes the AI-DLC rules are in place.\n\nThe install ships `.kiro/settings/cli.json`\n\nwith `chat.defaultAgent`\n\nset to `aidlc`\n\n, so `/aidlc`\n\nis active by default. Inside the session, run `/aidlc --doctor`\n\nto verify, then `/aidlc <description>`\n\nto start. The [Kiro CLI guide](/awslabs/aidlc-workflows/blob/main/docs/guide/harnesses/kiro-cli.md) has the full prerequisites and harness differences.\n\n[!NOTE] AI-DLC on Kiro works best with\n\nClaude Opus 4.8, which requires apaid Kiro plan. On weaker models the conductor may skip optional stage steps (reviewer pass, learnings ritual) or rush approval gates.\n\n**Claude Code**\n\n**1. Install Claude Code**\n\n```\n# macOS / Linux (native install — recommended; auto-updates)\ncurl -fsSL https://claude.ai/install.sh | bash\n# Windows PowerShell\nirm https://claude.ai/install.ps1 | iex\n:: Windows Command Prompt (CMD)\ncurl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd\n```\n\n(If `&&`\n\nreports `The token '&&' is not a valid statement separator`\n\n, you're in PowerShell — use the PowerShell block above.) Prefer Homebrew on macOS? `brew install --cask claude-code`\n\n. Verify with `claude --version`\n\n.\n\n**2. Set up your project**\n\n```\n# Copy the implementation (engine + the workspace shell sibling), then launch\ncp -r dist/claude/.claude/ your-project/.claude/\ncp -r dist/claude/aidlc/   your-project/aidlc/     # the workspace shell — a sibling of .claude/, not inside it\n# Existing .gitignore: preserve it and merge only the section beginning \"# AI-DLC\".\nif [ ! -e your-project/.gitignore ]; then\n  cp dist/claude/.gitignore your-project/.gitignore\nfi\ncd your-project && claude\n```\n\nThe `aidlc/`\n\nshell ships the pre-built `aidlc/spaces/default/memory/`\n\nmethod tree the engine reads; `/aidlc --doctor`\n\nfails its \"workspace shell ready\" check without it. The `.gitignore`\n\ncarries the workspace's commit/ignore split: the per-user cursors (`aidlc/active-space`\n\n, `aidlc/spaces/*/intents/active-intent`\n\n) and machine-local runtime stay untracked, while the shared records — method memory, state, audit shards, artifacts — travel with git. The guarded command copies the complete starter file only when the project has no `.gitignore`\n\n. If one exists, preserve every project-owned rule and merge only the section from `# AI-DLC`\n\nthrough the end of the shipped file; do not copy its generic starter rules. The `## Git Integration`\n\nsection of the installed onboarding file assumes the AI-DLC rules are in place.\n\nThen, inside the Claude Code session:\n\n```\n/aidlc --doctor                                          # verify the setup\n/aidlc Build a task management API with user authentication   # start a workflow\n```\n\nThe shipped `.claude/settings.json`\n\nruns on **AWS Bedrock** (`AWS_REGION=us-east-1`\n\n, Fable/Opus/Sonnet/Haiku pinned). Before your first run, enable Anthropic model access in your AWS account and have AWS credentials on your SDK credential chain — see [Getting Started § AWS Bedrock Setup](/awslabs/aidlc-workflows/blob/main/docs/guide/01-getting-started.md#aws-bedrock-setup) for the model-access form, IAM policy, credential options, and how to change the region. The full prerequisites table, PATH troubleshooting, and Bedrock configuration are in [Getting Started](/awslabs/aidlc-workflows/blob/main/docs/guide/01-getting-started.md).\n\n**Codex CLI**\n\n**1. Install Codex CLI** (≥ 0.145.0 — earlier releases do not restore hook-provided workflow context immediately after a mid-turn compaction):\n\n```\ncodex --version   # confirm ≥ 0.145.0\n```\n\nThe shipped `config.toml`\n\nruns on **Amazon Bedrock**; set your AWS profile and region in the bedrock provider block.\n\n**2. Set up your project** (which must be a **git repository** — Codex only discovers a project `.codex/hooks.json`\n\ninside one):\n\n```\ncp -r dist/codex/.codex/  your-project/.codex/\ncp -r dist/codex/.agents/ your-project/.agents/\ncp -r dist/codex/aidlc/   your-project/aidlc/      # the workspace shell — a sibling of .codex/, not inside it\ncp dist/codex/AGENTS.md   your-project/AGENTS.md   # or merge into yours\n```\n\nThe `aidlc/`\n\nshell ships the pre-built `aidlc/spaces/default/memory/`\n\nmethod tree the engine reads; `$aidlc --doctor`\n\nfails its \"workspace shell ready\" check without it.\n\nAfter copying, apply the `.gitignore`\n\nentries from the shipped `AGENTS.md`\n\nbefore your first workflow, pre-seed hook trust, then verify:\n\n```\ncd your-project && bun .codex/tools/aidlc-utility.ts doctor\n```\n\nInvoke the orchestrator with `$aidlc`\n\n(or `/skills`\n\n→ aidlc) followed by a scope or description. The [Codex guide](/awslabs/aidlc-workflows/blob/main/docs/guide/harnesses/codex-cli.md) covers the trust dialog, config merge, and sandbox/git notes in full.\n\n**Cursor**\n\n**1. Install Cursor** — the IDE, or the Cursor CLI (`agent`\n\n):\n\n```\n# Cursor CLI (macOS / Linux) — the IDE is a separate download from cursor.com\ncurl https://cursor.com/install -fsS | bash\n```\n\nOne install serves both surfaces: the Cursor IDE and the CLI (`agent`\n\n) share the same `.cursor/`\n\ndiscovery. Named models (`--model`\n\n, per-agent pins) need a paid Cursor plan; Free accounts use `Auto`\n\n, and the shipped personas carry no model pins so they inherit your session model either way.\n\n**2. Set up your project**\n\n```\nbun dist/cursor/install.ts your-project\n```\n\nThe `aidlc/`\n\nshell ships the pre-built `aidlc/spaces/default/memory/`\n\nmethod tree the engine reads; `/aidlc --doctor`\n\nfails its \"workspace shell ready\" check without it.\n\nThe installer refuses project-owned file collisions, preserves\n`.cursor/.gitignore`\n\nand existing method memory, merges `.cursor/hooks.json`\n\nhook arrays and `.cursor/cli.json`\n\npermission arrays, and adds marked AI-DLC\nsections to existing `AGENTS.md`\n\nand `.gitignore`\n\nfiles. Re-running it upgrades\nframework-managed files while preserving the active-space pointer.\nThen verify:\n\n```\nbun .cursor/tools/aidlc-utility.ts doctor\n```\n\nOpen `your-project/`\n\nin the Cursor IDE (or start `agent`\n\nin it) and invoke the orchestrator with `/aidlc`\n\nfollowed by a scope or description. Cursor-native shortcuts expose `/aidlc-status`\n\n, `/aidlc-jump --stage <slug>`\n\n(or `--phase <name>`\n\n), and `/aidlc-scope <name>`\n\nthrough the same deterministic engine. The [Cursor guide](/awslabs/aidlc-workflows/blob/main/docs/guide/harnesses/cursor.md) covers the hooks.json adapter, native subagents and skills, and what differs on this harness in full.\n\n**opencode**\n\n**1. Install opencode** (≥ 1.17):\n\n```\nopencode --version   # confirm ≥ 1.17\n```\n\nThe shipped project `opencode.json`\n\npins no session model — your global opencode configuration supplies it.\n\n**2. Set up your project**\n\n```\ncp -r dist/opencode/.aidlc/    your-project/.aidlc/     # the AIDLC engine (opencode never scans it)\ncp -r dist/opencode/.opencode/ your-project/.opencode/  # native shell: subagents + /aidlc command + adapter plugin\ncp -r dist/opencode/aidlc/     your-project/aidlc/      # the workspace shell — a sibling of .aidlc/, not inside it\ncp dist/opencode/opencode.json your-project/opencode.json  # or merge into yours (keep skills.paths + instructions + permissions)\ncp dist/opencode/AGENTS.md     your-project/AGENTS.md      # or merge into yours\n```\n\nThe engine deliberately lives in `.aidlc/`\n\n, NOT `.opencode/`\n\n— opencode auto-imports `.opencode/tools/*.ts`\n\nas custom tools, which would crash on the engine's CLI scripts. `opencode.json`\n\n's `skills.paths`\n\npoints opencode at `.aidlc/skills`\n\nfor discovery.\n\nAfter copying, apply the `.gitignore`\n\nentries from the shipped `AGENTS.md`\n\nbefore your first workflow, then verify:\n\n```\ncd your-project && bun .aidlc/tools/aidlc-utility.ts doctor\n```\n\nInvoke the orchestrator with `/aidlc`\n\nfollowed by a scope or description. The [opencode guide](/awslabs/aidlc-workflows/blob/main/docs/guide/harnesses/opencode.md) covers the split layout, the adapter plugin, and what differs on this harness in full.\n\n**GitHub Copilot**\n\n**1. Install GitHub Copilot** (CLI ≥ 1.0.74 and/or VS Code ≥ 1.130):\n\n```\ncopilot --version   # confirm ≥ 1.0.74 (VS Code agent mode: code --version, confirm ≥ 1.130)\n```\n\nOne install serves both surfaces: the standalone Copilot CLI and VS Code agent mode. The shipped tree pins no model - signed-in Copilot works as-is, and BYOK works with no GitHub auth at all.\n\n**2. Set up your project**\n\n```\nmkdir -p your-project/.aidlc your-project/aidlc your-project/.github\ncp -R dist/copilot/.aidlc/.  your-project/.aidlc/    # the AIDLC engine (neither surface scans it)\ncp -R dist/copilot/aidlc/.   your-project/aidlc/     # the workspace shell - a sibling of .aidlc/, not inside it\ncp -R dist/copilot/.github/. your-project/.github/   # MERGE - everything aidlc-prefixed\ncp dist/copilot/AGENTS.md    your-project/AGENTS.md  # or merge; keep the @-import block\n```\n\nThe engine lives in `.aidlc/`\n\n; everything either Copilot surface discovers natively rides `.github/`\n\n(hooks, agents, skills), all `aidlc`\n\n-prefixed so the merge never overwrites your own `.github/`\n\ncontent.\n\nAfter copying, apply the `.gitignore`\n\nentries from the shipped `AGENTS.md`\n\nbefore your first workflow, then trust the folder - add the project's absolute path to `trustedFolders`\n\nin `~/.copilot/config.json`\n\n, or accept the CLI's interactive trust prompt (untrusted folders silently skip every hook). Headless `copilot -p`\n\nruns additionally need `GITHUB_COPILOT_PROMPT_MODE_REPO_HOOKS=1`\n\n.\n\nRun `/aidlc --doctor`\n\nto verify, then invoke the orchestrator with `/aidlc`\n\nfollowed by a scope or description - in either surface. The [GitHub Copilot guide](/awslabs/aidlc-workflows/blob/main/docs/guide/harnesses/copilot.md) covers the two surfaces, folder trust, BYOK setup, and what differs on this harness in full.\n\nThree guides, one per reader — pick by what you're trying to change:\n\n| For | Covers | |\n|---|---|---|\n|\nBuilding software with AI-DLC |\nGetting started, workflows, scopes, agents, interaction modes, troubleshooting |\n|\nShaping how AI-DLC behaves |\nStages, agents, scopes, rules, sensors, and team knowledge — configuration, not code |\n|\nChanging AI-DLC itself |\nArchitecture, orchestrator, stage protocol, hooks, state machine, testing, contributing |\n\nThree zones: what AI-DLC **is**, how each harness **speaks**, and what users **copy**. You only ever edit the first two — `bun scripts/package.ts`\n\nregenerates the third.\n\n```\naidlc-claude/\n│  ─────────── HAND-AUTHORED SOURCE — edit here ───────────\n├── core/                       # ONE harness-neutral source of truth\n│   ├── tools/                  #   48 aidlc-*.ts engine and authoring tools\n│   ├── aidlc-common/           #   stage protocol + 33 stage files + conductor\n│   ├── agents/                 #   14 agents: 11 domain + 2 reviewers + composer\n│   ├── knowledge/ memory/ scopes/ sensors/ hooks/\n│   ├── skills/                 #   3 session skills (session-cost, replay, outcomes-pack)\n│   └── templates/              #   onboarding skeleton → each harness's CLAUDE.md / AGENTS.md\n│       # prose names the harness dir with the {{HARNESS_DIR}} token — substituted at packaging\n│\n├── harness/                    # thin per-harness authored surfaces — small, divergent by design\n│   ├── claude/                 #   manifest.ts · orchestrator skill · settings.json · onboarding fills\n│   ├── kiro-ide/               #   manifest.ts · orchestrator · conductor Markdown · v2 .json + legacy .kiro.hook files · onboarding fills\n│   ├── kiro/                   #   manifest.ts · orchestrator · agent JSONs · settings · onboarding fills (CLI — agent-JSON hooks)\n│   ├── codex/                  #   manifest.ts · emit.ts (Codex-only emissions) · orchestrator · hooks adapter\n│   ├── cursor/                 #   manifest.ts · orchestrator · hooks adapter · installer · rules · onboarding fills\n│   ├── opencode/               #   manifest.ts · emit.ts · orchestrator · /aidlc command · adapter plugin\n│   └── copilot/                #   manifest.ts · emit.ts · orchestrator skill · hooks adapter\n│\n├── plugins/                    # optional, owned AIDLC plugins — new stages + the additive contribution seam\n│   └── test-pro/               #   reference fixture: .aidlc-plugin/plugin.json · stages/ · contributions/ · sensors/ · tools/ · tests/\n│\n├── scripts/\n│   ├── package.ts              # THE build entry: copy core+harness per manifest → graph compile →\n│   │                           #   runner-gen → emit() per tree.  --check = total drift guard (CI)\n│   ├── build-binaries.ts       # release-only CLI bundles under ignored build/\n│   └── manifest-types.ts       # shared manifest contract\n│\n│  ─────────── GENERATED, COMMITTED, DRIFT-GUARDED — never hand-edit ───────────\n├── dist/\n│   ├── claude/.claude/                       # what Claude Code users copy\n│   ├── kiro-ide/{AGENTS.md, .kiro/}          # what Kiro IDE users copy\n│   ├── kiro/{AGENTS.md, .kiro/}              # what Kiro CLI users copy\n│   ├── codex/{AGENTS.md, .agents/, .codex/}  # what Codex CLI users copy\n│   ├── cursor/{AGENTS.md, aidlc/, .cursor/}   # what Cursor IDE/CLI users install\n│   ├── opencode/{AGENTS.md, .aidlc/, .opencode/}  # what opencode users copy\n│   ├── copilot/{AGENTS.md, .aidlc/, .github/}     # what GitHub Copilot users copy\n│   └── plugins/<name>/{claude,codex,copilot,cursor,kiro,kiro-ide,opencode}/  # one real host plugin per harness — install alongside dist/<harness>/\n│\n│  ─────────── SUPPORTING ───────────\n├── tests/                      # all-TypeScript suite (t*.test.ts) — resolves dist via AIDLC_SRC\n└── docs/                       # guide/ · harness-engineering/ · reference/\n```\n\n`core/`\n\nis what AI-DLCis.`harness/`\n\nis how each harnessspeaks.`dist/`\n\nis what userscopy. Only the first two are ever edited;`bun scripts/package.ts`\n\nregenerates the rest, and a hand-edit to`dist/`\n\nis a CI failure.\n\nMaintainers edit the hand-authored source in `core/`\n\n(or a `harness/<name>/`\n\nsurface), then regenerate the committed `dist/<harness>/`\n\ntrees — **never\nhand-edit dist/**, the drift guard fails CI.\n\n```\nbun scripts/package.ts            # regenerate every dist/<harness>/ from core/ + harness/\nbun scripts/package.ts <name>     # regenerate one harness (e.g. claude, kiro-ide, codex)\nbun scripts/package.ts --check    # byte-parity drift guard (run in CI)\n```\n\nRelease binary artifacts are built separately after the drift guard is clean:\n\n```\nbun scripts/build-binaries.ts                 # native binary + mandatory smoke gates\nbun scripts/build-binaries.ts --all-targets   # release matrix\n```\n\nEach target is emitted under `build/binaries/<target>/`\n\nwith the executable\nand a `runtime/<harness>/`\n\ncopy of every generated harness distribution it may\ndispatch into.\n\nAdding a whole new harness? See [Porting to a New Harness](/awslabs/aidlc-workflows/blob/main/docs/harness-engineering/09-porting-to-a-new-harness.md). The authoritative build reference is the [Contributing Guide](/awslabs/aidlc-workflows/blob/main/docs/reference/11-contributing.md#development-workflow).\n\n```\nbun tests/run-tests.ts               # default: smoke + unit + integration\nbun tests/run-tests.ts --ci          # smoke + unit + integration\nbun tests/run-tests.ts --release     # + e2e (full acceptance)\nbash tests/run-tests.sh --ci         # POSIX compatibility wrapper\n```\n\nSee [Testing Reference](/awslabs/aidlc-workflows/blob/main/docs/reference/09-testing.md) for the full strategy and test registry.\n\nMost first-run trouble is one of these; each harness guide covers the rest.\n\n| Symptom | Harness | Fix |\n|---|---|---|\n`which bun` works in your terminal, but the harness can't find bun |\nall | bun isn't on the non-interactive PATH. Copy the `BUN_INSTALL` /`PATH` export into `~/.zshenv` (zsh) or `~/.bashrc` (bash/Git Bash) — see the tip under\n|\n`/aidlc --doctor` reports a Codex CLI version below 0.145.0 |\nCodex | Upgrade to Codex CLI 0.145.0 or later. Older releases either delay compact-session workflow-context restoration or break subagent attribution and hyphenated agent TOML resolution. |\nBedrock calls fail with `AccessDenied` or a model-not-found error |\nClaude, Codex | Enable model access for the harness's configured models in your AWS account and put working credentials on your SDK chain. Confirm `AWS_REGION` is a region where you enabled them. |\n| Hooks never fire (no audit rows, no gates) | Codex | Trust the hooks: from the AI-DLC source checkout run `bun install --frozen-lockfile` , then `bun scripts/package.ts codex trust --project <dir>` and replace any existing entries for that hook path; or start one TUI session and choose \"Trust all.\" Untrusted hooks never run. |\nPlugin stages or contributions disappeared after copying a new `dist/` |\nall | Re-run `/aidlc plugin sync` . Copying a fresh engine distribution restores the stock graph and core stage sources; compose-capable hosts also self-heal on the next session start. |\nSkills or rules don't take effect after you copy a new `dist/` |\nall | Start a fresh session — harnesses load skills, agents, and rules at session start. |\n\nSee [Contributing Guide](/awslabs/aidlc-workflows/blob/main/docs/reference/11-contributing.md) for prerequisites, workflow, and submission process.\n\n[AWS AI-DLC Blog Post](https://aws.amazon.com/blogs/devops/ai-driven-development-life-cycle/)[AI-DLC Method Definition Paper](https://prod.d13rzhkk8cj2z0.amplifyapp.com/)[AI-DLC Workflows 2.0 Specification](https://github.com/awslabs/aidlc-workflows/blob/main/assets/AI-DLC-Workflows-2.0-Specification.pdf)(AWS Labs whitepaper)", "url": "https://wpnews.pro/news/ai-dlc-one-core-many-harnesses", "canonical_source": "https://github.com/awslabs/aidlc-workflows/tree/main", "published_at": "2026-09-03 02:04:59+00:00", "updated_at": "2026-09-03 02:21:56.601534+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "ai-products", "developer-tools"], "entities": ["AWS Labs", "AI-DLC Workflows 2.0", "Claude Code", "Kiro IDE", "Kiro CLI", "Codex CLI", "Cursor", "opencode"], "alternates": {"html": "https://wpnews.pro/news/ai-dlc-one-core-many-harnesses", "markdown": "https://wpnews.pro/news/ai-dlc-one-core-many-harnesses.md", "text": "https://wpnews.pro/news/ai-dlc-one-core-many-harnesses.txt", "jsonld": "https://wpnews.pro/news/ai-dlc-one-core-many-harnesses.jsonld"}}