You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stand up the unic-pr-review plugin at apps/claude-code/unic-pr-review/ with the minimum scaffold required to be loadable, plus the /unic-pr-review:doctor slash command end-to-end. Doctor verifies the plugin's environmental preconditions (Azure CLI, azure-devops extension, login state, Confluence reachability, optional Jira reachability) so first-time users can debug setup without running a review.
This is the entry point for every later slice — nothing else can land until the plugin manifest, package layout, ADR set, and credential loader are in place.
Clean-slate doctrine. This plugin shares no code, no prompts, no fixtures, and no soft dependency with apps/claude-code/pr-review/. Every module is written fresh from the PRD and the 10 ADRs under apps/claude-code/unic-pr-review/docs/adr/.
Acceptance criteria
apps/claude-code/unic-pr-review/.claude-plugin/{plugin.json, marketplace.json} exists. plugin.json is at version 2.0.0 with the keywords pr-review, azure-devops, jira, confluence, code-review, unic.
package.json wires up the standard bump / sync-version / tag / verify:changelog scripts via @unic/release-tools.
Root CONTEXT-MAP.md lists this plugin's CONTEXT.md.
ADR files 0001–0010 are present under apps/claude-code/unic-pr-review/docs/adr/ together with their README.
LICENSE is not created by the implementation; instead the implementing agent surfaces a clear warning to the maintainer (per repo CLAUDE.md).
commands/doctor.md exists and is invocable as /unic-pr-review:doctor.
scripts/doctor.mjs checks: az CLI on PATH, azure-devops extension installed, az devops login valid, az devops user show --user me resolves (so identity caching will succeed at review time per ADR-0006), Confluence reachable from ~/.unic-confluence.json or env-var override, Jira reachable when jiraUrl is configured (silent otherwise per US 35).
scripts/lib/credentials.mjs exposes a single loader for both ~/.unic-confluence.json and ~/.unic-azure.json; env vars CONFLUENCE_URL, CONFLUENCE_USER, CONFLUENCE_TOKEN, JIRA_URL, AZURE_DEVOPS_ORG_URL, AZURE_DEVOPS_PAT override file values.
tests/doctor.test.mjs covers each preflight predicate with the underlying CLI/HTTP calls stubbed; the Jira-not-configured branch asserts silence.
pnpm --filter unic-pr-review test is green on macOS, Linux, and Windows × Node 22 and 24.
Parent
docs/issues/unic-pr-review/PRD.mdWhat to build
Stand up the
unic-pr-reviewplugin atapps/claude-code/unic-pr-review/with the minimum scaffold required to be loadable, plus the/unic-pr-review:doctorslash command end-to-end. Doctor verifies the plugin's environmental preconditions (Azure CLI,azure-devopsextension, login state, Confluence reachability, optional Jira reachability) so first-time users can debug setup without running a review.This is the entry point for every later slice — nothing else can land until the plugin manifest, package layout, ADR set, and credential loader are in place.
Clean-slate doctrine. This plugin shares no code, no prompts, no fixtures, and no soft dependency with
apps/claude-code/pr-review/. Every module is written fresh from the PRD and the 10 ADRs underapps/claude-code/unic-pr-review/docs/adr/.Acceptance criteria
apps/claude-code/unic-pr-review/.claude-plugin/{plugin.json, marketplace.json}exists.plugin.jsonis at version2.0.0with the keywordspr-review,azure-devops,jira,confluence,code-review,unic.package.jsonwires up the standardbump/sync-version/tag/verify:changelogscripts via@unic/release-tools.CHANGELOG.mdcontains an initial[2.0.0] — YYYY-MM-DDentry;pnpm --filter unic-pr-review verify:changelogpasses.CONTEXT.mdcontains the plugin's domain glossary (Plugin, Review, Finding, Confidence, Severity, Intent Brief, Intent Check, Bot Signature, Iteration, Approval Loop, Mode, Provider, Work Item, Notice).README.mdis present.CONTEXT-MAP.mdlists this plugin'sCONTEXT.md.apps/claude-code/unic-pr-review/docs/adr/together with their README.LICENSEis not created by the implementation; instead the implementing agent surfaces a clear warning to the maintainer (per repo CLAUDE.md).commands/doctor.mdexists and is invocable as/unic-pr-review:doctor.scripts/doctor.mjschecks:azCLI on PATH,azure-devopsextension installed,az devops loginvalid,az devops user show --user meresolves (so identity caching will succeed at review time per ADR-0006), Confluence reachable from~/.unic-confluence.jsonor env-var override, Jira reachable whenjiraUrlis configured (silent otherwise per US 35).scripts/lib/credentials.mjsexposes a single loader for both~/.unic-confluence.jsonand~/.unic-azure.json; env varsCONFLUENCE_URL,CONFLUENCE_USER,CONFLUENCE_TOKEN,JIRA_URL,AZURE_DEVOPS_ORG_URL,AZURE_DEVOPS_PAToverride file values.tests/doctor.test.mjscovers each preflight predicate with the underlying CLI/HTTP calls stubbed; the Jira-not-configured branch asserts silence.pnpm --filter unic-pr-review testis green on macOS, Linux, and Windows × Node 22 and 24.pnpm ci:checkis green at the repo root.Blocked by
None — can start immediately.