Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions .archon/unic-dlc.config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
project:
name: unic-agents-plugins
repo_layout: multi-context
branching: gitflow
pr_strategy: merge
tracker:
type: github
access:
mcp: null
cli: gh
coords:
owner: unic
repo: unic-agents-plugins
docs:
type: markdown
publish: false
access:
mcp: null
cli: null
design:
type: none
access:
mcp: null
repos: []
templates:
prd: null
issue: null
bug: null
classification:
labels:
state:
needs-triage: needs-triage
needs-info: needs-info
needs-specs: needs-specs
ready-for-agent: ready-for-agent
ready-for-human: ready-for-human
resolved: resolved
closed: closed
rejected: rejected
type:
feature: feature
bug: bug
spike: spike
tech-debt: tech-debt
docs: docs
release: release
priority:
p0: p0
p1: p1
p2: p2
p3: p3
gates:
build: hitl
qa: hitl
pr-review: hitl
explore: hitl
build:
fresh_context_red_green: true
tdd_mode: true
nyquist_validation: true
slopsquatting_gate: true
e2e_command: null
coverage_threshold: null
estimations: off
artifacts_dir: workflows
model_profile: balanced
skills:
matt_suite:
present: true
missing: []
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"name": "unic-archon-dlc",
"source": "./",
"tags": ["productivity", "workflow", "ai-development"],
"version": "0.1.2"
"version": "0.2.0"
}
]
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "unic-archon-dlc",
"version": "0.1.2",
"version": "0.2.0",
"description": "A complete Archon-powered AI development lifecycle as an installable DLC pack — explore, plan, build, qa, cleanup, and triage workflows.",
"author": {
"name": "Unic AG",
Expand Down
17 changes: 17 additions & 0 deletions apps/claude-code/unic-archon-dlc/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,23 @@
### Fixed
- (none)

## [0.2.0] — 2026-07-02

### Breaking
- **`/setup` is now conversational and writes the rich `.archon/unic-dlc.config.yaml`** (ADR-0019, supersedes ADR-0001), replacing the flat `.archon/unic-dlc.config.json`. The command detects the stack, runs verify-only skill discovery (introspect MCP/skills + CLI probes; never installs) to register a capability→tool map, verifies Matt Pocock's declared skill suite (warn + degrade, non-blocking on a missing required capability), and composes the team's system-skills for the _how_. An existing legacy `.json` is read and migrated but **left in place** (other tools may read it) — no backup file, no delete.
- **Dissolved the heavy setup libs** `lib/install-runner.mjs`, `lib/setup-explorer.mjs`, `lib/config-loader.mjs`, and `lib/agent-docs-writer.mjs` (and their tests). Their `docs/agents/` + `CLAUDE.md` marker-block behaviour is re-homed to idempotent prose steps in `commands/setup.md`. See ADR-0018.

### Added
- **`lib/config-schema.mjs`** — the one surviving tested lib (imports `yaml`): `loadConfig` (parses `.yaml`/`.json`), `validateConfig` (mandatory-path invariant), `mergeConfig` (deep, idempotent, `defaults < existing < answers`), `migrateLegacy` (flat ADR-0001 JSON → rich nested shape, preserving hand-added labels such as `release`), `toYaml`, and `detectRepoLayout`. Covered by `test/config-schema.test.mjs`.
- **`yaml`** runtime dependency (pinned via the pnpm catalog).

### Changed
- **`lib/archon-check.mjs`** now enforces a behavioural min-floor (`checkArchon` rejects Archon `< 0.5.0` via `MIN_ARCHON_VERSION`) instead of an exact-version match — the key-discriminated schema (gates/loops/fresh-context) requires `≥ 0.5.0` (ADR-0011/0019). Unparseable versions are non-blocking. The `incompatibleVersions` override is preserved (bare-array and options-object forms both accepted).
- **`README.md`** configuration reference rewritten to the rich YAML schema.

### Fixed
- (none)

## [0.1.2] — 2026-05-23

### Breaking
Expand Down
43 changes: 25 additions & 18 deletions apps/claude-code/unic-archon-dlc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,24 +161,31 @@ From here, the full lifecycle is: explore → plan → build → qa → cleanup

## Configuration reference

The `/unic-archon-dlc:setup` command writes `.archon/unic-dlc.config.json` with these keys:

| Key | Default | Valid values | Description |
| ----------------------- | -------------------------------- | -------------------------------------------- | --------------------------------------------------- |
| `tracker` | auto-detected | `github` · `ado` · `jira` · `local-markdown` | Issue tracker backend |
| `pr_strategy` | `squash` | `squash` · `merge` · `rebase` | Merge strategy for PRs |
| `branching` | `gitflow` | `gitflow` · `github-flow` | Branching model in use |
| `e2e_command` | `""` | any shell command string | Command that runs the full e2e test suite |
| `model_profile` | `balanced` | `fast` · `balanced` · `max` | Archon model tier for workflow nodes |
| `tdd_mode` | `true` | `true` · `false` | Enforce red→green discipline in build workflow |
| `nyquist_validation` | `true` | `true` · `false` | Require test_command on every issue before yaml-gen |
| `slopsquatting_gate` | `true` | `true` · `false` | Enable slopcheck package verification |
| `coverage_threshold` | `null` | number (0–100) or `null` | Minimum % coverage; `null` skips the check |
| `workflow.discuss_mode` | `interview` | `interview` · `assumptions` | Specs node dialogue style |
| `repo_layout` | `single-context (auto-detected)` | `single-context` · `multi-context` | Whether CONTEXT-MAP.md is present |
| `labels.state.*` | canonical | any string | Override tracker state label strings |
| `labels.type.*` | canonical | any string | Override tracker type label strings |
| `labels.priority.*` | canonical | any string | Override tracker priority label strings |
The `/unic-archon-dlc:setup` command writes the rich `.archon/unic-dlc.config.yaml` ([ADR-0018](docs/adr/0018-generic-core-config-compose.md), [ADR-0019](docs/adr/0019-conversational-setup.md)). It is the config substrate the **redesigned** boxes read; setup is its sole writer, is idempotent (a re-run merges, never clobbers — a present-but-malformed config fails fast rather than being overwritten), and reads any legacy `.archon/unic-dlc.config.json` to migrate it (the old file is left in place). The pre-redesign workflows under `.archon/workflows/` still read the old JSON schema and are migrated onto this file box by box in later redesign steps. Top-level sections:

| Path | Default | Valid values | Description |
| -------------------------------------------------------- | ------------- | --------------------------------------------- | ------------------------------------------------------------------- |
| `project.name` | asked | any string | Project name |
| `project.repo_layout` | auto-detected | `single-context` · `multi-context` | Whether `CONTEXT-MAP.md` is present |
| `project.branching` | asked | `gitflow` · `github-flow` | Branching model (mandatory) |
| `project.pr_strategy` | asked | `squash` · `merge` · `rebase` | PR merge strategy (mandatory) |
| `tracker.type` | auto-detected | `github` · `ado` · `jira` · `local-markdown` | Issue tracker backend (mandatory) |
| `tracker.access` | discovered | `{ mcp, cli }` | Capability→tool for the tracker (MCP-first, CLI-fallback) |
| `tracker.coords` | asked | tracker-specific map | e.g. `{ owner, repo }` (github) / `{ org, project, repo }` (ado) |
| `docs.type` | `markdown` | `confluence` · `markdown` · `none` | Where the team's product specs live (drives `/specs` publishing) |
| `docs.publish` | `false` | `true` · `false` | Opt-in publishing of the PRD to the docs system |
| `design.type` | `none` | `figma` · `none` | Design system source |
| `templates.{prd,issue,bug}` | `null` | template string | Config-driven artifact templates (ADR-0018) |
| `classification.labels.*` | canonical | any string | 3-tier label mapping (state · type · priority) |
| `gates.{build,qa,pr-review,explore}` | `hitl` | `hitl` · `afk` | Per-Archon-box gate mode (ADR-0017); interactive boxes are HITL |
| `build.fresh_context_red_green` | `true` | `true` · `false` | Anti-cheat fresh-context red/green separation (ADR-0012) |
| `build.{tdd_mode,nyquist_validation,slopsquatting_gate}` | `true` | `true` · `false` | Build discipline toggles |
| `build.e2e_command` | `null` | shell command string | Full e2e suite command |
| `build.coverage_threshold` | `null` | number (0–100) or `null` | Minimum % coverage; `null` skips the check |
| `estimations` | `off` | `off` · `provisional` · `definitive` · `both` | Estimation waves (ADR-0020) |
| `artifacts_dir` | `workflows` | dir name | Session artifact home base (`<artifacts_dir>/<slug>/`) |
| `model_profile` | `balanced` | `fast` · `balanced` · `max` | Model tier for workflow nodes |
| `skills.matt_suite` | discovered | `{ present, missing }` | Verify-only discovery result for Matt Pocock's declared skill suite |

Label canonical names: states `needs-triage` · `needs-info` · `needs-specs` · `ready-for-agent` ·
`ready-for-human` · `resolved` · `closed` · `rejected`; types `feature` · `bug` · `spike` ·
Expand Down
Loading
Loading