auriga-cli 1.29.0 → 1.29.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.
@@ -95,8 +95,8 @@ export type ApplyScope = "project" | "user";
95
95
  /**
96
96
  * Workflow AGENTS.md language variant.
97
97
  *
98
- * - "zh-CN": Simplified Chinese AGENTS.md (the default).
99
- * - "en": English AGENTS.en.md.
98
+ * - "zh-CN": Simplified Chinese workflow template (the default).
99
+ * - "en": English workflow template.
100
100
  *
101
101
  * Only meaningful for `category === "workflow"`; rejected for other
102
102
  * categories so the API surface stays explicit.
package/dist/catalog.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-05-16T13:16:49.448Z",
2
+ "generatedAt": "2026-05-17T06:16:55.450Z",
3
3
  "workflowSkills": [
4
4
  {
5
5
  "name": "planning-with-files",
package/dist/cli.js CHANGED
@@ -693,8 +693,9 @@ async function runUi(p, version) {
693
693
  // - tarballRoot: where `dist/catalog.json` + the bundled DEV ui/dist live.
694
694
  // Always read from the installed npm package; can't be fetched because
695
695
  // dist/ is built artifact, not git content.
696
- // - contentRoot: where the runtime install recipes live (AGENTS.md,
697
- // marketplace manifests, extra_plugin_configs.json, skills-lock.json).
696
+ // - contentRoot: where the runtime install recipes live (workflow
697
+ // templates, marketplace manifests, extra_plugin_configs.json,
698
+ // skills-lock.json).
698
699
  // These files are
699
700
  // NOT in the npm tarball — the `files` allowlist only ships `dist/*`
700
701
  // + npm defaults. They are fetched from GitHub, pinned to the CLI
@@ -774,8 +775,9 @@ async function runUi(p, version) {
774
775
  pluginAgentsByName.set(name, def.agents);
775
776
  }
776
777
  const applyHandlers = buildDefaultApplyHandlers({
777
- // contentRoot: install handlers read AGENTS.md, marketplace manifests,
778
- // extra_plugin_configs.json, and skills-lock.json — all CONTENT_FILES.
778
+ // contentRoot: install handlers read workflow templates, marketplace
779
+ // manifests, extra_plugin_configs.json, and skills-lock.json — all
780
+ // CONTENT_FILES.
779
781
  // Routing them at tarballRoot fails ENOENT for npm-installed users.
780
782
  packageRoot: contentRoot,
781
783
  cwd,
@@ -800,8 +802,8 @@ async function runUi(p, version) {
800
802
  cwd,
801
803
  // server reads dist/catalog.json (tarball-shipped) via
802
804
  // buildScanCatalog on each /api/state call; install-time content
803
- // (marketplace manifests, extra plugin config, AGENTS.md, …) was already injected
804
- // into applyHandlers above with contentRoot.
805
+ // (workflow templates, marketplace manifests, extra plugin config, …)
806
+ // was already injected into applyHandlers above with contentRoot.
805
807
  packageRoot: tarballRoot,
806
808
  heartbeatTimeoutMs: UI_HEARTBEAT_TIMEOUT_MS,
807
809
  applyHandlers,
package/dist/skills.js CHANGED
@@ -3,7 +3,7 @@ import os from "node:os";
3
3
  import path from "node:path";
4
4
  import { checkbox, select } from "@inquirer/prompts";
5
5
  import { atomicWriteFile, exec, execAsync, log, withEsc } from "./utils.js";
6
- // Curated default-on set: skills that the workflow in the root AGENTS.md
6
+ // Curated default-on set: skills that the shipped workflow template
7
7
  // directly references. Anything else in skills-lock.json is surfaced via
8
8
  // installRecommendedSkills as an opt-in utility.
9
9
  export const WORKFLOW_SKILLS = [
package/dist/utils.d.ts CHANGED
@@ -93,7 +93,7 @@ export interface LangOption {
93
93
  file: string;
94
94
  }
95
95
  export declare const DEFAULT_WORKFLOW_LANG = "zh-CN";
96
- export declare const DEFAULT_WORKFLOW_TEMPLATE_FILE = "AGENTS.md";
96
+ export declare const DEFAULT_WORKFLOW_TEMPLATE_FILE = "AGENTS.template.zh-CN.md";
97
97
  export declare const LANGUAGES: LangOption[];
98
98
  /**
99
99
  * Reads `version` from the packaged manifest. Throws when the package
package/dist/utils.js CHANGED
@@ -101,10 +101,10 @@ export function execAsync(cmd, opts) {
101
101
  });
102
102
  }
103
103
  export const DEFAULT_WORKFLOW_LANG = "zh-CN";
104
- export const DEFAULT_WORKFLOW_TEMPLATE_FILE = "AGENTS.md";
104
+ export const DEFAULT_WORKFLOW_TEMPLATE_FILE = "AGENTS.template.zh-CN.md";
105
105
  export const LANGUAGES = [
106
- { value: "zh-CN", label: "中文", file: "AGENTS.md" },
107
- { value: "en", label: "English", file: "AGENTS.en.md" },
106
+ { value: "zh-CN", label: "中文", file: "AGENTS.template.zh-CN.md" },
107
+ { value: "en", label: "English", file: "AGENTS.template.en.md" },
108
108
  ];
109
109
  // --- Remote content ---
110
110
  const REPO = "Ben2pc/auriga-cli";
@@ -149,12 +149,16 @@ function resolveContentRef() {
149
149
  }
150
150
  const CONTENT_FILES = [
151
151
  DEFAULT_WORKFLOW_TEMPLATE_FILE,
152
- "AGENTS.en.md",
152
+ "AGENTS.template.en.md",
153
153
  "skills-lock.json",
154
154
  ".claude-plugin/marketplace.json",
155
155
  ".agents/plugins/marketplace.json",
156
156
  "extra_plugin_configs.json",
157
157
  ];
158
+ const LEGACY_CONTENT_FILE_FALLBACKS = {
159
+ "AGENTS.template.zh-CN.md": "AGENTS.md",
160
+ "AGENTS.template.en.md": "AGENTS.en.md",
161
+ };
158
162
  async function fetchFile(file) {
159
163
  const ref = resolveContentRef();
160
164
  const url = `https://raw.githubusercontent.com/${REPO}/${ref}/${file}`;
@@ -163,6 +167,18 @@ async function fetchFile(file) {
163
167
  throw new Error(`Failed to fetch ${url}: ${res.status}`);
164
168
  return res.text();
165
169
  }
170
+ async function fetchContentFile(file) {
171
+ try {
172
+ return await fetchFile(file);
173
+ }
174
+ catch (err) {
175
+ const legacyFile = LEGACY_CONTENT_FILE_FALLBACKS[file];
176
+ if (!legacyFile || !(err instanceof Error) || !/: 404$/.test(err.message)) {
177
+ throw err;
178
+ }
179
+ return fetchFile(legacyFile);
180
+ }
181
+ }
166
182
  async function fetchFileBinary(file) {
167
183
  const ref = resolveContentRef();
168
184
  const url = `https://raw.githubusercontent.com/${REPO}/${ref}/${file}`;
@@ -177,7 +193,7 @@ export async function fetchContentRoot() {
177
193
  }
178
194
  const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "auriga-cli-"));
179
195
  for (const file of CONTENT_FILES) {
180
- const content = await fetchFile(file);
196
+ const content = await fetchContentFile(file);
181
197
  const dest = path.join(tmpDir, file);
182
198
  fs.mkdirSync(path.dirname(dest), { recursive: true });
183
199
  fs.writeFileSync(dest, content);
@@ -21,9 +21,9 @@ export const MARKER_SCHEMA = "v1";
21
21
  * START marker line, one per template language. Only the prose differs — the
22
22
  * structural `AURIGA:WORKFLOW:v1 START` token is language-independent, so the
23
23
  * parser (`START_LINE_RE`) keys on the token alone and never needs to know the
24
- * language. The English `AGENTS.en.md` gets the English marker; `AGENTS.md`
25
- * gets the Chinese one, so a downstream file never carries a comment in the
26
- * wrong language for its document.
24
+ * language. `AGENTS.template.en.md` gets the English marker;
25
+ * `AGENTS.template.zh-CN.md` gets the Chinese one, so a downstream file never
26
+ * carries a comment in the wrong language for its document.
27
27
  */
28
28
  const WORKFLOW_START_MARKERS = {
29
29
  en: `<!-- AURIGA:WORKFLOW:${MARKER_SCHEMA} START — Managed block, maintained by auriga-cli. Do not edit by hand; upgrades replace it wholesale. Put project-specific instructions after the END marker below. -->`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auriga-cli",
3
- "version": "1.29.0",
3
+ "version": "1.29.1",
4
4
  "description": "Interactive CLI to install Claude Code harness modules (Workflow, Skills, Recommended Skills, Plugins)",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -25,8 +25,8 @@
25
25
  "dev": "tsc --watch",
26
26
  "start": "node dist/cli.js",
27
27
  "pretest": "npm run build",
28
- "test": "tsc -p tsconfig.test.json && DEV=1 node --test --experimental-test-module-mocks dist-test/tests/skills.test.js dist-test/tests/skills-uninstall.test.js dist-test/tests/catalog.test.js dist-test/tests/cli-parse.test.js dist-test/tests/install-nontty.test.js dist-test/tests/preset.test.js dist-test/tests/legacy-menu.test.js dist-test/tests/plugins.test.js dist-test/tests/plugins-uninstall.test.js dist-test/tests/content-fetch.test.js dist-test/tests/utils.test.js dist-test/tests/guide.test.js dist-test/tests/validators.test.js dist-test/tests/entrypoint.test.js dist-test/tests/state.test.js dist-test/tests/server.test.js dist-test/tests/server-auth.test.js dist-test/tests/server-apply.test.js dist-test/tests/apply-handlers.test.js dist-test/tests/ui-fetch.test.js dist-test/tests/workflow-markers.test.js dist-test/tests/workflow-install.test.js dist-test/tests/workflow-uninstall.test.js dist-test/tests/tarball-shape.test.js dist-test/tests/spec-design.test.js dist-test/tests/goalify.test.js dist-test/tests/plugin-skill-frontmatter.test.js",
29
- "test:watch": "tsc -p tsconfig.test.json --watch & node --test --watch --experimental-test-module-mocks dist-test/tests/skills.test.js dist-test/tests/skills-uninstall.test.js dist-test/tests/catalog.test.js dist-test/tests/cli-parse.test.js dist-test/tests/install-nontty.test.js dist-test/tests/preset.test.js dist-test/tests/legacy-menu.test.js dist-test/tests/plugins.test.js dist-test/tests/plugins-uninstall.test.js dist-test/tests/content-fetch.test.js dist-test/tests/utils.test.js dist-test/tests/guide.test.js dist-test/tests/validators.test.js dist-test/tests/entrypoint.test.js dist-test/tests/state.test.js dist-test/tests/server.test.js dist-test/tests/server-auth.test.js dist-test/tests/server-apply.test.js dist-test/tests/apply-handlers.test.js dist-test/tests/ui-fetch.test.js dist-test/tests/workflow-markers.test.js dist-test/tests/workflow-install.test.js dist-test/tests/workflow-uninstall.test.js dist-test/tests/tarball-shape.test.js dist-test/tests/spec-design.test.js dist-test/tests/goalify.test.js dist-test/tests/plugin-skill-frontmatter.test.js",
28
+ "test": "tsc -p tsconfig.test.json && DEV=1 node --test --experimental-test-module-mocks dist-test/tests/skills.test.js dist-test/tests/skills-uninstall.test.js dist-test/tests/catalog.test.js dist-test/tests/cli-parse.test.js dist-test/tests/install-nontty.test.js dist-test/tests/preset.test.js dist-test/tests/legacy-menu.test.js dist-test/tests/plugins.test.js dist-test/tests/plugins-uninstall.test.js dist-test/tests/content-fetch.test.js dist-test/tests/utils.test.js dist-test/tests/guide.test.js dist-test/tests/validators.test.js dist-test/tests/entrypoint.test.js dist-test/tests/state.test.js dist-test/tests/server.test.js dist-test/tests/server-auth.test.js dist-test/tests/server-apply.test.js dist-test/tests/apply-handlers.test.js dist-test/tests/ui-fetch.test.js dist-test/tests/workflow-markers.test.js dist-test/tests/workflow-install.test.js dist-test/tests/workflow-uninstall.test.js dist-test/tests/tarball-shape.test.js dist-test/tests/spec-design.test.js dist-test/tests/goalify.test.js dist-test/tests/plugin-skill-frontmatter.test.js dist-test/tests/auriga-workflow-skills.test.js",
29
+ "test:watch": "tsc -p tsconfig.test.json --watch & node --test --watch --experimental-test-module-mocks dist-test/tests/skills.test.js dist-test/tests/skills-uninstall.test.js dist-test/tests/catalog.test.js dist-test/tests/cli-parse.test.js dist-test/tests/install-nontty.test.js dist-test/tests/preset.test.js dist-test/tests/legacy-menu.test.js dist-test/tests/plugins.test.js dist-test/tests/plugins-uninstall.test.js dist-test/tests/content-fetch.test.js dist-test/tests/utils.test.js dist-test/tests/guide.test.js dist-test/tests/validators.test.js dist-test/tests/entrypoint.test.js dist-test/tests/state.test.js dist-test/tests/server.test.js dist-test/tests/server-auth.test.js dist-test/tests/server-apply.test.js dist-test/tests/apply-handlers.test.js dist-test/tests/ui-fetch.test.js dist-test/tests/workflow-markers.test.js dist-test/tests/workflow-install.test.js dist-test/tests/workflow-uninstall.test.js dist-test/tests/tarball-shape.test.js dist-test/tests/spec-design.test.js dist-test/tests/goalify.test.js dist-test/tests/plugin-skill-frontmatter.test.js dist-test/tests/auriga-workflow-skills.test.js",
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
  "pretest:web-ui-e2e": "npm run build && npm --prefix ui ci && npm --prefix ui run build",