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.
- package/dist/api-types.d.ts +2 -2
- package/dist/catalog.json +1 -1
- package/dist/cli.js +8 -6
- package/dist/skills.js +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +21 -5
- package/dist/workflow-markers.js +3 -3
- package/package.json +3 -3
package/dist/api-types.d.ts
CHANGED
|
@@ -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
|
|
99
|
-
* - "en": English
|
|
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
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 (
|
|
697
|
-
// marketplace manifests, extra_plugin_configs.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
|
|
778
|
-
// extra_plugin_configs.json, and skills-lock.json — all
|
|
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,
|
|
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
|
|
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
|
|
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);
|
package/dist/workflow-markers.js
CHANGED
|
@@ -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.
|
|
25
|
-
* gets the Chinese one, so a downstream file never
|
|
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.
|
|
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",
|