auriga-cli 1.13.0 → 1.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,7 +13,7 @@ This repo itself is a fully configured harness project. You can clone it to see
13
13
  | **Workflow** | `CLAUDE.md` auriga workflow: requirement clarification -> TDD -> Review, Harness principles, Subagent usage guide |
14
14
  | **Skills** | Development process + orchestration skills — brainstorming, systematic-debugging, TDD, verification, planning, playwright, test-designer, parallel-implementation |
15
15
  | **Recommended Skills** | Optional utility skills (e.g. `codex-agent`, `claude-code-agent`) you can add on top of the workflow skills |
16
- | **Plugins** | Recommended Claude Code and Codex plugins — skill-creator, claude-md-management, codex, auriga-go, auriga-pr-guards, session-instructions-loader, deep-review |
16
+ | **Plugins** | Recommended Claude Code and Codex plugins — skill-creator, claude-md-management, codex, auriga-go, auriga-git-guards, session-instructions-loader, deep-review |
17
17
  | **Hooks** | Claude Code hooks: `notify` (macOS notification, focus-aware sound-only when terminal is frontmost — **opt-in**: not installed by `install --all`, requires `install hooks --hook notify`) |
18
18
 
19
19
  ## Quick Start
@@ -115,7 +115,7 @@ Examples:
115
115
  ```bash
116
116
  npx -y auriga-cli install plugins --plugin auriga-go
117
117
  npx -y auriga-cli install plugins --agent codex --plugin session-instructions-loader
118
- npx -y auriga-cli install plugins --agent both --plugin auriga-pr-guards
118
+ npx -y auriga-cli install plugins --agent both --plugin auriga-git-guards
119
119
  ```
120
120
 
121
121
  | Plugin | Runtime | Description |
@@ -124,7 +124,7 @@ npx -y auriga-cli install plugins --agent both --plugin auriga-pr-guards
124
124
  | claude-md-management | Claude Code | Audit and improve CLAUDE.md |
125
125
  | codex | Claude Code | Codex cross-model collaboration |
126
126
  | auriga-go | Claude Code / Codex | Workflow autopilot for the auriga workflow. Reminder-based navigation across the `CLAUDE.md` phases with an Experimental hook-backed `ship` mode. Bundles a skill (description-based NL trigger + `/auriga-go`) plus a plugin-level Stop hook for ship mode. |
127
- | auriga-pr-guards | Claude Code / Codex | Two PR-workflow guardrails packaged as a dual-Agent plugin: `pr-create-guard` (PostToolUse for `gh pr create` → fetch the new PR's body via `gh pr view` and inject headings + TODO counts as `additionalContext` so the Agent can self-verify scope / acceptance / risks / TODO) and `pr-ready-guard` (PreToolUse for `gh pr ready` → block on stray planning docs at `findings.md` / `progress.md` / `task_plan.md` / `docs/superpowers/specs/*.md`, unfinalized active specs in `docs/specs/*.md`, or unpushed commits; otherwise inject the body snapshot). Codex currently fails open on the `additionalContext` field for PreToolUse but enforces blocks identically. |
127
+ | auriga-git-guards | Claude Code / Codex | Three git-lifecycle guardrails plus the bundled `git-workflow` skill. Hooks: `commit-reminder` (PostToolUse on `Edit` / `Write` / `MultiEdit` in Claude Code and on `apply_patch` — Codex's canonical file-edit `tool_name` — so it fires in both runtimes → when uncommitted diff vs `HEAD` exceeds 200 lines or 8 files and the last reminder was ≥ 60 s ago, inject a nudge to commit at the next semantic boundary), `pr-create-guard` (PostToolUse on `gh pr create` → fetch the new PR's body via `gh pr view` and inject headings + TODO counts as `additionalContext` so the Agent can self-verify the five-element PR description: scope / acceptance criteria / design decisions / risks / remaining TODOs), and `pr-ready-guard` (PreToolUse on `gh pr ready` → block on stray planning docs at `findings.md` / `progress.md` / `task_plan.md` / `docs/superpowers/specs/*.md`, unfinalized active specs in `docs/specs/*.md`, or unpushed commits; otherwise inject the body snapshot). The two PostToolUse hooks reach full Claude Code / Codex parity; Codex currently fails open on `pr-ready-guard`'s PreToolUse `additionalContext` informational path (block path identical). |
128
128
  | session-instructions-loader | Codex | Codex-only SessionStart plugin that injects ancestor `AGENTS.md` files plus repo-configured extra instruction files. |
129
129
  | deep-review | Claude Code / Codex | Multi-dimensional PR review orchestrator from [Ben2pc/g-claude-code-plugins](https://github.com/Ben2pc/g-claude-code-plugins) — dispatches parallel reviewers (spec-conformance, correctness, test-quality, docs-sync, plus conditional robustness/UX/performance/structure/code-quality/skill-plugin-quality) and synthesizes findings into an actionable punch list. Bundles a companion `reviewer-creator` skill for scaffolding project-level custom reviewers under `docs/rules/review/`. Drives the formal-review step in `CLAUDE.md` step 10. |
130
130
 
package/README.zh-CN.md CHANGED
@@ -13,7 +13,7 @@
13
13
  | **Workflow** | `CLAUDE.md` 里的 auriga 工作流:需求澄清 → TDD → Review,Harness 原则,Subagent 使用指南 |
14
14
  | **Skills** | 开发流程 + 编排类 skills —— brainstorming、systematic-debugging、TDD、verification、planning、playwright、test-designer、parallel-implementation |
15
15
  | **Recommended Skills** | 可选的工具类 skills(如 `codex-agent`、`claude-code-agent`),在 workflow skills 之外按需追加 |
16
- | **Plugins** | 推荐的 Claude Code 和 Codex 插件 —— skill-creator、claude-md-management、codex、auriga-go、auriga-pr-guards、session-instructions-loader、deep-review |
16
+ | **Plugins** | 推荐的 Claude Code 和 Codex 插件 —— skill-creator、claude-md-management、codex、auriga-go、auriga-git-guards、session-instructions-loader、deep-review |
17
17
  | **Hooks** | Claude Code hooks:`notify`(macOS 通知,终端在焦点时仅放声不弹横幅 —— **opt-in**:`install --all` 不装,需要 `install hooks --hook notify`) |
18
18
 
19
19
  ## 快速开始
@@ -115,7 +115,7 @@ npx auriga-cli
115
115
  ```bash
116
116
  npx -y auriga-cli install plugins --plugin auriga-go
117
117
  npx -y auriga-cli install plugins --agent codex --plugin session-instructions-loader
118
- npx -y auriga-cli install plugins --agent both --plugin auriga-pr-guards
118
+ npx -y auriga-cli install plugins --agent both --plugin auriga-git-guards
119
119
  ```
120
120
 
121
121
  | 插件 | 运行时 | 说明 |
@@ -124,7 +124,7 @@ npx -y auriga-cli install plugins --agent both --plugin auriga-pr-guards
124
124
  | claude-md-management | Claude Code | 审计和改进 CLAUDE.md |
125
125
  | codex | Claude Code | Codex 跨模型协作 |
126
126
  | auriga-go | Claude Code / Codex | auriga 工作流的自动驾驶:按 `CLAUDE.md` 的 phase 做 reminder-based 导航;包含 Experimental 的 hook-backed `ship` 模式。内置一个 skill(按 description 的自然语言触发 + `/auriga-go` slash command)和一个 plugin 层面的 Stop hook。 |
127
- | auriga-pr-guards | Claude Code / Codex | 两个 PR-workflow guardrail:`pr-create-guard`(`gh pr create` 的 PostToolUse —— 通过 `gh pr view` 拉真实 PR body,扫 `^##` / `^###` headings 并统计 `- [ ]` / `- [x]` 注入 `additionalContext`,让 Agent 对照范围 / 验收 / 风险 / 剩余 TODO 四要素)+ `pr-ready-guard`(`gh pr ready` 的 PreToolUse —— 仅按结构信号拦截:游离 `findings.md` / `progress.md` / `task_plan.md` / `docs/superpowers/specs/*.md`、`docs/specs/*.md` 内未结案的活跃 spec、未 push commits;放行时注入 body 快照)。Codex 当前对 PreToolUse 的 `additionalContext` 字段 fail-open(解析但不生效),block 路径两边一致。 |
127
+ | auriga-git-guards | Claude Code / Codex | 三个 git-lifecycle guardrail + 内置 `git-workflow` skill。Hooks:`commit-reminder`(Claude Code 下 PostToolUse 匹配 `Edit` / `Write` / `MultiEdit`,Codex 下匹配 `apply_patch`(Codex 文件编辑 canonical `tool_name`),两个 runtime 都触发 —— 未提交 diff 对比 `HEAD` 超过 200 行或 8 个文件,且距上次提醒 ≥ 60 s 时,注入提醒让 Agent 在下一个语义边界 commit)、`pr-create-guard`(`gh pr create` 的 PostToolUse —— 通过 `gh pr view` 拉真实 PR body,扫 `^##` / `^###` headings 并统计 `- [ ]` / `- [x]` 注入 `additionalContext`,让 Agent 对照五要素:scope / acceptance criteria / design decisions / risks / remaining TODOs)、`pr-ready-guard`(`gh pr ready` 的 PreToolUse —— 仅按结构信号拦截:游离 `findings.md` / `progress.md` / `task_plan.md` / `docs/superpowers/specs/*.md`、`docs/specs/*.md` 内未结案的活跃 spec、未 push commits;放行时注入 body 快照)。两个 PostToolUse hook 在 Claude Code / Codex 上完全对齐;Codex 仅对 `pr-ready-guard` PreToolUse `additionalContext` 信息路径 fail-openblock 路径两边一致)。 |
128
128
  | session-instructions-loader | Codex | Codex-only SessionStart 插件,注入上层目录的 `AGENTS.md` 和仓库配置的额外 instruction 文件。 |
129
129
  | deep-review | Claude Code / Codex | 来自 [Ben2pc/g-claude-code-plugins](https://github.com/Ben2pc/g-claude-code-plugins) 的多维度 PR review 编排器 —— 并行派发各维度 reviewer(spec-conformance、correctness、test-quality、docs-sync,以及条件触发的 robustness/UX/performance/structure/code-quality/skill-plugin-quality),汇总成 punch list。同包内打包了 `reviewer-creator` skill,用于在 `docs/rules/review/` 下生成项目级自定义 reviewer。承担 `CLAUDE.md` 第 10 步的正式评审职责。 |
130
130
 
package/dist/catalog.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-05-11T09:32:07.380Z",
2
+ "generatedAt": "2026-05-11T21:43:19.043Z",
3
3
  "workflowSkills": [
4
4
  {
5
5
  "name": "brainstorming",
@@ -78,8 +78,8 @@
78
78
  "description": "(Claude/Codex) Workflow autopilot for the auriga workflow (reminder-based navigation + Experimental ship mode)"
79
79
  },
80
80
  {
81
- "name": "auriga-pr-guards",
82
- "description": "(Claude/Codex) PR-create snapshot inject + PR-ready structural block guardrails (Claude Code + Codex)"
81
+ "name": "auriga-git-guards",
82
+ "description": "(Claude/Codex) Git lifecycle guardrails: commit-reminder + PR-create snapshot inject + PR-ready structural block. Bundles the git-workflow skill (Claude Code + Codex)."
83
83
  },
84
84
  {
85
85
  "name": "deep-review",
package/dist/plugins.js CHANGED
@@ -509,11 +509,22 @@ export async function installPlugins(packageRoot, opts) {
509
509
  log.skip("No plugins selected");
510
510
  }
511
511
  else {
512
- // Install required marketplaces
512
+ // Install or refresh required marketplaces. Already-present
513
+ // marketplaces keep whatever marketplace.json was cached at the last
514
+ // `add` — refresh them so upstream renames / additions become
515
+ // visible without users manually re-adding. Same add-or-update
516
+ // intent as the Codex path; simpler control flow here because
517
+ // `getInstalledMarketplaces` pre-classifies into two buckets.
513
518
  const existingMarketplaces = getInstalledMarketplaces();
514
519
  const marketplacesToAdd = new Map();
520
+ const marketplacesToUpdate = new Set();
515
521
  for (const plugin of selected) {
516
- if (plugin.marketplace && !existingMarketplaces.has(plugin.marketplace.name)) {
522
+ if (!plugin.marketplace)
523
+ continue;
524
+ if (existingMarketplaces.has(plugin.marketplace.name)) {
525
+ marketplacesToUpdate.add(plugin.marketplace.name);
526
+ }
527
+ else {
517
528
  marketplacesToAdd.set(plugin.marketplace.name, plugin.marketplace.source);
518
529
  }
519
530
  }
@@ -528,6 +539,20 @@ export async function installPlugins(packageRoot, opts) {
528
539
  failures.push(`marketplace ${name}`);
529
540
  }
530
541
  }
542
+ for (const name of marketplacesToUpdate) {
543
+ console.log(`\nUpdating marketplace: ${name}...`);
544
+ try {
545
+ exec(`claude plugins marketplace update ${name}`, { inherit: true });
546
+ log.ok(`Marketplace ${name} updated`);
547
+ }
548
+ catch (e) {
549
+ // Surface the underlying error so a 6-month-out reader can tell
550
+ // ENOENT / network / auth / git failures apart — mirrors the
551
+ // Codex side's commandErrorText usage in addCodexMarketplaceWithRetry.
552
+ log.error(`Failed to update marketplace: ${name}\n${commandErrorText(e)}`);
553
+ failures.push(`marketplace ${name}`);
554
+ }
555
+ }
531
556
  // Install plugins
532
557
  for (const plugin of selected) {
533
558
  console.log(`\nInstalling ${plugin.name}...`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auriga-cli",
3
- "version": "1.13.0",
3
+ "version": "1.14.1",
4
4
  "description": "Interactive CLI to install Claude Code harness modules (Workflow, Skills, Recommended Skills, Plugins, Hooks)",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -30,7 +30,7 @@
30
30
  "pretest:e2e": "npm run build",
31
31
  "test:e2e": "tsc -p tsconfig.test.json && node --test dist-test/tests/e2e-install.test.js",
32
32
  "test:session-instructions-loader": "node tests/session-instructions-loader.test.mjs",
33
- "test:pr-guards": "node tests/pr-create-guard.test.mjs && node tests/pr-ready-guard.test.mjs"
33
+ "test:git-guards": "node tests/commit-reminder.test.mjs && node tests/pr-create-guard.test.mjs && node tests/pr-ready-guard.test.mjs"
34
34
  },
35
35
  "engines": {
36
36
  "node": ">=18"