@chinhae/atw-cli 0.3.6 → 0.4.0
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 +188 -15
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +25 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +154 -17
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mode.d.ts +21 -0
- package/dist/commands/mode.d.ts.map +1 -0
- package/dist/commands/mode.js +401 -0
- package/dist/commands/mode.js.map +1 -0
- package/dist/commands/update.d.ts +7 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +20 -13
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/workflow.d.ts +17 -0
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +9 -3
- package/dist/commands/workflow.js.map +1 -1
- package/dist/configurators/claude.d.ts +3 -2
- package/dist/configurators/claude.d.ts.map +1 -1
- package/dist/configurators/claude.js +3 -3
- package/dist/configurators/claude.js.map +1 -1
- package/dist/configurators/codex.d.ts +4 -3
- package/dist/configurators/codex.d.ts.map +1 -1
- package/dist/configurators/codex.js +10 -10
- package/dist/configurators/codex.js.map +1 -1
- package/dist/configurators/index.d.ts +9 -3
- package/dist/configurators/index.d.ts.map +1 -1
- package/dist/configurators/index.js +95 -17
- package/dist/configurators/index.js.map +1 -1
- package/dist/configurators/shared.d.ts +13 -0
- package/dist/configurators/shared.d.ts.map +1 -1
- package/dist/configurators/shared.js +25 -0
- package/dist/configurators/shared.js.map +1 -1
- package/dist/configurators/workflow.d.ts +15 -1
- package/dist/configurators/workflow.d.ts.map +1 -1
- package/dist/configurators/workflow.js +23 -5
- package/dist/configurators/workflow.js.map +1 -1
- package/dist/configurators/zcode.d.ts +1 -1
- package/dist/configurators/zcode.d.ts.map +1 -1
- package/dist/configurators/zcode.js +2 -2
- package/dist/configurators/zcode.js.map +1 -1
- package/dist/constants/paths.d.ts +4 -0
- package/dist/constants/paths.d.ts.map +1 -1
- package/dist/constants/paths.js +4 -0
- package/dist/constants/paths.js.map +1 -1
- package/dist/migrations/manifests/0.4.0.json +9 -0
- package/dist/templates/atw/index.d.ts +10 -1
- package/dist/templates/atw/index.d.ts.map +1 -1
- package/dist/templates/atw/index.js +11 -1
- package/dist/templates/atw/index.js.map +1 -1
- package/dist/templates/atw/scripts/add_session.py +34 -13
- package/dist/templates/atw/scripts/common/active_task.py +2 -2
- package/dist/templates/atw/scripts/common/config.py +13 -0
- package/dist/templates/atw/scripts/common/developer.py +15 -4
- package/dist/templates/atw/scripts/common/noob_mode.py +35 -15
- package/dist/templates/atw/scripts/common/packages_context.py +16 -3
- package/dist/templates/atw/scripts/common/session_context.py +77 -19
- package/dist/templates/atw/scripts/common/task_store.py +78 -27
- package/dist/templates/atw/scripts/noob_mode.py +16 -4
- package/dist/templates/atw/scripts/task.py +99 -38
- package/dist/templates/atw/workflow-general.md +554 -0
- package/dist/templates/atw/workflow.md +1 -1
- package/dist/templates/codex/hooks/session-start.py +69 -18
- package/dist/templates/common/bundled-skills/atw-noob-mode/SKILL.md +6 -4
- package/dist/templates/common/commands/start.md +43 -0
- package/dist/templates/copilot/hooks/session-start.py +69 -18
- package/dist/templates/dsh/DSH.md +43 -0
- package/dist/templates/markdown/agents.md +11 -0
- package/dist/templates/markdown/index.d.ts +9 -0
- package/dist/templates/markdown/index.d.ts.map +1 -1
- package/dist/templates/markdown/index.js +14 -1
- package/dist/templates/markdown/index.js.map +1 -1
- package/dist/templates/markdown/spec/conventions.md.txt +13 -0
- package/dist/templates/opencode/lib/atw-context.js +19 -0
- package/dist/templates/opencode/lib/session-utils.js +79 -24
- package/dist/templates/opencode/plugins/inject-workflow-state.js +18 -8
- package/dist/templates/pi/extensions/atw/index.ts.txt +20 -9
- package/dist/templates/shared-hooks/inject-shell-session-context.py +3 -3
- package/dist/templates/shared-hooks/inject-workflow-state.py +21 -2
- package/dist/templates/shared-hooks/session-start.py +70 -22
- package/dist/templates/snow/SNOW.md +30 -0
- package/dist/templates/snow/hooks/write-atw-context.py +64 -0
- package/dist/utils/manifest-prune.d.ts +2 -1
- package/dist/utils/manifest-prune.d.ts.map +1 -1
- package/dist/utils/manifest-prune.js +10 -7
- package/dist/utils/manifest-prune.js.map +1 -1
- package/dist/utils/optional-skills.d.ts.map +1 -1
- package/dist/utils/optional-skills.js +2 -1
- package/dist/utils/optional-skills.js.map +1 -1
- package/dist/utils/project-mode.d.ts +30 -0
- package/dist/utils/project-mode.d.ts.map +1 -0
- package/dist/utils/project-mode.js +86 -0
- package/dist/utils/project-mode.js.map +1 -0
- package/dist/utils/workflow-resolver.d.ts +9 -5
- package/dist/utils/workflow-resolver.d.ts.map +1 -1
- package/dist/utils/workflow-resolver.js +25 -11
- package/dist/utils/workflow-resolver.js.map +1 -1
- package/package.json +3 -3
|
@@ -36,19 +36,22 @@ import { collectPlatformTemplates } from "../configurators/index.js";
|
|
|
36
36
|
import { FILE_NAMES } from "../constants/paths.js";
|
|
37
37
|
import { getAllMigrations } from "../migrations/index.js";
|
|
38
38
|
import { saveHashes } from "./template-hash.js";
|
|
39
|
+
import { loadProjectMode } from "./project-mode.js";
|
|
39
40
|
import { toPosix } from "./posix.js";
|
|
40
41
|
import { ATW_BLOCK_END, ATW_BLOCK_START } from "./managed-paths.js";
|
|
41
42
|
/**
|
|
42
43
|
* Compute the union of "what atw writes" across:
|
|
43
|
-
* - every configured platform's collectTemplates() output
|
|
44
|
+
* - every configured platform's collectTemplates() output, under the
|
|
45
|
+
* project's mode
|
|
44
46
|
* - root-level AGENTS.md when it still carries ATW managed-block markers
|
|
45
47
|
* - every migration manifest's from/to path (preserve so legitimate
|
|
46
48
|
* pending migrations can find their source/target)
|
|
47
49
|
*/
|
|
48
|
-
function buildKnownKeys(configuredPlatforms) {
|
|
50
|
+
function buildKnownKeys(cwd, configuredPlatforms) {
|
|
49
51
|
const known = new Set();
|
|
52
|
+
const mode = loadProjectMode(cwd);
|
|
50
53
|
for (const id of configuredPlatforms) {
|
|
51
|
-
const templates = collectPlatformTemplates(id);
|
|
54
|
+
const templates = collectPlatformTemplates(id, mode);
|
|
52
55
|
if (!templates)
|
|
53
56
|
continue;
|
|
54
57
|
for (const key of templates.keys()) {
|
|
@@ -80,8 +83,7 @@ function shouldKeepAgentsMd(cwd) {
|
|
|
80
83
|
}
|
|
81
84
|
try {
|
|
82
85
|
const content = fs.readFileSync(fullPath, "utf-8");
|
|
83
|
-
return
|
|
84
|
-
content.includes(ATW_BLOCK_END));
|
|
86
|
+
return content.includes(ATW_BLOCK_START) && content.includes(ATW_BLOCK_END);
|
|
85
87
|
}
|
|
86
88
|
catch {
|
|
87
89
|
return true;
|
|
@@ -90,7 +92,8 @@ function shouldKeepAgentsMd(cwd) {
|
|
|
90
92
|
/**
|
|
91
93
|
* Walk the manifest and split it into kept vs pruned entries.
|
|
92
94
|
*
|
|
93
|
-
* @param cwd Project root — used to
|
|
95
|
+
* @param cwd Project root — used to read the project's mode and to save the
|
|
96
|
+
* rewritten manifest.
|
|
94
97
|
* @param configuredPlatforms Output of `getConfiguredPlatforms(cwd)` — caller
|
|
95
98
|
* resolves this so we don't have to re-walk the filesystem.
|
|
96
99
|
* @param hashes Already-loaded manifest contents. Passing it in (vs reading
|
|
@@ -100,7 +103,7 @@ function shouldKeepAgentsMd(cwd) {
|
|
|
100
103
|
*/
|
|
101
104
|
export function pruneOrphanManifestKeys(cwd, configuredPlatforms, hashes, options = {}) {
|
|
102
105
|
const persist = options.persist ?? true;
|
|
103
|
-
const known = buildKnownKeys(configuredPlatforms);
|
|
106
|
+
const known = buildKnownKeys(cwd, configuredPlatforms);
|
|
104
107
|
const pruned = [];
|
|
105
108
|
const kept = {};
|
|
106
109
|
for (const [rawKey, value] of Object.entries(hashes)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-prune.js","sourceRoot":"","sources":["../../src/utils/manifest-prune.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAWpE
|
|
1
|
+
{"version":3,"file":"manifest-prune.js","sourceRoot":"","sources":["../../src/utils/manifest-prune.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optional-skills.d.ts","sourceRoot":"","sources":["../../src/utils/optional-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"optional-skills.d.ts","sourceRoot":"","sources":["../../src/utils/optional-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAcH,eAAO,MAAM,yBAAyB,wEACiC,CAAC;AAcxE,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED,2EAA2E;AAC3E,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC,MAAM,EACN;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CACrC,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kFAAkF;IAClF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,sEAAsE;IACtE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0CD;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAgBpE;AAUD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAuBxE;AAYD;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAUnE;AAqBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAuB,qBAAqB,CAC1C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,SAAS,aAAa,EAAE,EAChC,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,cAAc,CAAC,mBAAmB,CAAC,CAoFrC"}
|
|
@@ -22,6 +22,7 @@ import path from "node:path";
|
|
|
22
22
|
import { downloadTemplate } from "giget";
|
|
23
23
|
import { getSkillRoots, PLATFORM_IDS } from "../configurators/index.js";
|
|
24
24
|
import { DIR_NAMES } from "../constants/paths.js";
|
|
25
|
+
import { loadProjectMode } from "./project-mode.js";
|
|
25
26
|
import { TIMEOUTS, withTimeout } from "./template-fetcher.js";
|
|
26
27
|
const OPTIONAL_SKILLS_REPO = "gh:LFT-OXY/oxy-Tools";
|
|
27
28
|
export const OPTIONAL_SKILLS_INDEX_URL = "https://raw.githubusercontent.com/LFT-OXY/oxy-Tools/main/index.json";
|
|
@@ -114,7 +115,7 @@ export function loadOptionalSkillRecord(cwd) {
|
|
|
114
115
|
}
|
|
115
116
|
if (!isRecord(raw) || !isRecord(raw.skills))
|
|
116
117
|
return {};
|
|
117
|
-
const knownRoots = new Set(getSkillRoots(PLATFORM_IDS));
|
|
118
|
+
const knownRoots = new Set(getSkillRoots(PLATFORM_IDS, loadProjectMode(cwd)));
|
|
118
119
|
const record = {};
|
|
119
120
|
for (const [name, entry] of Object.entries(raw.skills)) {
|
|
120
121
|
if (!SKILL_NAME_RE.test(name) || !isRecord(entry))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optional-skills.js","sourceRoot":"","sources":["../../src/utils/optional-skills.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"optional-skills.js","sourceRoot":"","sources":["../../src/utils/optional-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAEpD,MAAM,CAAC,MAAM,yBAAyB,GACpC,qEAAqE,CAAC;AAExE,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAElC,gFAAgF;AAChF,MAAM,aAAa,GAAG,8BAA8B,CAAC;AA0CrD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrE,IACE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACtB,OAAO,WAAW,CAAC,EAAE,KAAK,QAAQ;QAClC,OAAO,WAAW,CAAC,EAAE,KAAK,QAAQ,EAClC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IACE,OAAO,SAAS,KAAK,QAAQ;QAC7B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAC1B,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC,EACrE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,IAAI;QACJ,OAAO;QACP,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE;KACxD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,yBAAyB,EAAE;YACjD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;SACrD,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,KAAK,GAAY,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC,MAAM;aAChB,GAAG,CAAC,kBAAkB,CAAC;aACvB,MAAM,CAAC,CAAC,KAAK,EAA0B,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAC5D,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAC9B,CAAC,IAAI,EAAkB,EAAE,CACvB,OAAO,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CACnD,CAAC;QACF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,uBAAuB,CAC9B,GAAW,EACX,MAA2B;IAE3B,EAAE,CAAC,aAAa,CACd,UAAU,CAAC,GAAG,CAAC,EACf,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAC/D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,GAAW;IACvD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACzE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;GAGG;AACH,KAAK,UAAU,YAAY,CAAC,QAAkB;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,aAAa,UAAU,EAAE,EAAE,CAAC,CAAC;IAChE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,WAAW,CACf,gBAAgB,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,CAAC,EAC/C,iBAAiB,EACjB,gBAAgB,CACjB,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,qBAAqB,CAC1C,GAAW,EACX,MAAgC,EAChC,UAA6B;IAE7B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,OAAoC,CAAC;IACzC,MAAM,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvC,MAAM,MAAM,GAAwB;gBAClC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;aACZ,CAAC;YACF,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAa,EAAE,CAAC;YAE/B,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtD,CAAC;qBAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;qBAAM,IACL,QAAQ,EAAE,OAAO,KAAK,KAAK,CAAC,OAAO;oBACnC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EACzC,CAAC;oBACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjD,OAAO,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;wBACpD,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAC,IAAI,oBAAoB,CAAC,CAAC;oBACpE,CAAC;oBACD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;wBAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC9C,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBAClD,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACjD,CAAC;oBACD,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;oBAC7B,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;oBAC3B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;wBAAE,MAAM,CAAC,eAAe,GAAG,QAAQ,EAAE,OAAO,CAAC;gBACvE,CAAC;gBAED,iEAAiE;gBACjE,MAAM,KAAK,GAAG;oBACZ,GAAG,MAAM,CAAC,OAAO;oBACjB,GAAG,MAAM,CAAC,OAAO;oBACjB,GAAG,MAAM,CAAC,SAAS;iBACpB,CAAC,IAAI,EAAE,CAAC;gBACT,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC;gBACD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;oBAClD,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,MAAM,CAAC;QACf,CAAC;IACH,CAAC;YAAS,CAAC;QACT,yEAAyE;QACzE,sEAAsE;QACtE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 项目模式:项目级、随仓库提交的设置,记在 `.atw/config.yaml` 的顶层 `mode:`。
|
|
3
|
+
*
|
|
4
|
+
* 读取它的逻辑只有这一份。
|
|
5
|
+
*/
|
|
6
|
+
export declare const PROJECT_MODES: readonly ["dev", "general"];
|
|
7
|
+
export type ProjectMode = (typeof PROJECT_MODES)[number];
|
|
8
|
+
/** 配置里没有模式项(或为空)时的取值——现有项目不需要迁移。 */
|
|
9
|
+
export declare const DEFAULT_PROJECT_MODE: ProjectMode;
|
|
10
|
+
export declare function isProjectMode(value: string): value is ProjectMode;
|
|
11
|
+
/**
|
|
12
|
+
* 从 `.atw/config.yaml` 读取项目模式。
|
|
13
|
+
*
|
|
14
|
+
* 文件不存在、没有 `mode:`、或值为空,都是 {@link DEFAULT_PROJECT_MODE}。
|
|
15
|
+
* 其他任何值直接抛错:模式决定 ATW 安装和删除哪些文件,替用户猜一个会按错误的
|
|
16
|
+
* 文件集合去管理项目。
|
|
17
|
+
*/
|
|
18
|
+
export declare function loadProjectMode(cwd: string): ProjectMode;
|
|
19
|
+
/**
|
|
20
|
+
* 把模式记进 `.atw/config.yaml`。
|
|
21
|
+
*
|
|
22
|
+
* 还没有 `mode:` 项时追加在文件末尾。追加出来的形状与 `atw update` 带过本地
|
|
23
|
+
* 顶层键时拼出的结果逐字节相同(模板、一个空行、注释加键),所以之后的升级不会
|
|
24
|
+
* 改动这个文件。
|
|
25
|
+
*
|
|
26
|
+
* 已有 `mode:` 项时:回到默认模式、而那一项正是当初追加在末尾的那一段,就把那
|
|
27
|
+
* 一段去掉,文件回到没记过模式的样子;其余情况只改那一行的值。
|
|
28
|
+
*/
|
|
29
|
+
export declare function recordProjectMode(cwd: string, mode: ProjectMode): void;
|
|
30
|
+
//# sourceMappingURL=project-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-mode.d.ts","sourceRoot":"","sources":["../../src/utils/project-mode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,eAAO,MAAM,aAAa,6BAA8B,CAAC;AAEzD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,oCAAoC;AACpC,eAAO,MAAM,oBAAoB,EAAE,WAAmB,CAAC;AAIvD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,WAAW,CAEjE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAyBxD;AAYD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAItE"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 项目模式:项目级、随仓库提交的设置,记在 `.atw/config.yaml` 的顶层 `mode:`。
|
|
3
|
+
*
|
|
4
|
+
* 读取它的逻辑只有这一份。
|
|
5
|
+
*/
|
|
6
|
+
import fs from "node:fs";
|
|
7
|
+
import path from "node:path";
|
|
8
|
+
import { DIR_NAMES } from "../constants/paths.js";
|
|
9
|
+
import { writeFileAtomic } from "./atomic-write.js";
|
|
10
|
+
export const PROJECT_MODES = ["dev", "general"];
|
|
11
|
+
/** 配置里没有模式项(或为空)时的取值——现有项目不需要迁移。 */
|
|
12
|
+
export const DEFAULT_PROJECT_MODE = "dev";
|
|
13
|
+
const CONFIG_RELATIVE_PATH = `${DIR_NAMES.WORKFLOW}/config.yaml`;
|
|
14
|
+
export function isProjectMode(value) {
|
|
15
|
+
return PROJECT_MODES.includes(value);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 从 `.atw/config.yaml` 读取项目模式。
|
|
19
|
+
*
|
|
20
|
+
* 文件不存在、没有 `mode:`、或值为空,都是 {@link DEFAULT_PROJECT_MODE}。
|
|
21
|
+
* 其他任何值直接抛错:模式决定 ATW 安装和删除哪些文件,替用户猜一个会按错误的
|
|
22
|
+
* 文件集合去管理项目。
|
|
23
|
+
*/
|
|
24
|
+
export function loadProjectMode(cwd) {
|
|
25
|
+
let content;
|
|
26
|
+
try {
|
|
27
|
+
content = fs.readFileSync(path.join(cwd, CONFIG_RELATIVE_PATH), "utf-8");
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return DEFAULT_PROJECT_MODE;
|
|
31
|
+
}
|
|
32
|
+
for (const line of content.split("\n")) {
|
|
33
|
+
const match = /^mode:(.*)$/.exec(line.trimEnd());
|
|
34
|
+
if (!match)
|
|
35
|
+
continue;
|
|
36
|
+
// 行内注释以"行首或空白后的 #"起头,与脚本侧 atw_config.py 的约定一致。
|
|
37
|
+
const value = match[1]
|
|
38
|
+
.replace(/(^|\s)#.*$/, "")
|
|
39
|
+
.trim()
|
|
40
|
+
.replace(/^(['"])(.*)\1$/, "$2");
|
|
41
|
+
if (value === "")
|
|
42
|
+
return DEFAULT_PROJECT_MODE;
|
|
43
|
+
if (isProjectMode(value))
|
|
44
|
+
return value;
|
|
45
|
+
throw new Error(`Invalid mode "${value}" in ${CONFIG_RELATIVE_PATH}: expected ${PROJECT_MODES.map((mode) => `"${mode}"`).join(" or ")}.`);
|
|
46
|
+
}
|
|
47
|
+
return DEFAULT_PROJECT_MODE;
|
|
48
|
+
}
|
|
49
|
+
/** 记模式时追加在配置末尾的那一段:一个空行、两行注释、`mode:` 项。 */
|
|
50
|
+
function appendedModeBlock(mode) {
|
|
51
|
+
return ("\n\n" +
|
|
52
|
+
'# What this project is for: "dev" (writing code, the default) or\n' +
|
|
53
|
+
'# "general" (other work: writing, research, organizing material, planning).\n' +
|
|
54
|
+
`mode: ${mode}\n`);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* 把模式记进 `.atw/config.yaml`。
|
|
58
|
+
*
|
|
59
|
+
* 还没有 `mode:` 项时追加在文件末尾。追加出来的形状与 `atw update` 带过本地
|
|
60
|
+
* 顶层键时拼出的结果逐字节相同(模板、一个空行、注释加键),所以之后的升级不会
|
|
61
|
+
* 改动这个文件。
|
|
62
|
+
*
|
|
63
|
+
* 已有 `mode:` 项时:回到默认模式、而那一项正是当初追加在末尾的那一段,就把那
|
|
64
|
+
* 一段去掉,文件回到没记过模式的样子;其余情况只改那一行的值。
|
|
65
|
+
*/
|
|
66
|
+
export function recordProjectMode(cwd, mode) {
|
|
67
|
+
const configPath = path.join(cwd, CONFIG_RELATIVE_PATH);
|
|
68
|
+
const content = fs.readFileSync(configPath, "utf-8");
|
|
69
|
+
writeFileAtomic(configPath, withProjectMode(content, mode));
|
|
70
|
+
}
|
|
71
|
+
function withProjectMode(content, mode) {
|
|
72
|
+
if (!/^mode:/m.test(content)) {
|
|
73
|
+
return `${content.trimEnd()}${appendedModeBlock(mode)}`;
|
|
74
|
+
}
|
|
75
|
+
if (mode === DEFAULT_PROJECT_MODE) {
|
|
76
|
+
for (const recorded of PROJECT_MODES) {
|
|
77
|
+
const block = appendedModeBlock(recorded);
|
|
78
|
+
if (content.endsWith(block)) {
|
|
79
|
+
return `${content.slice(0, -block.length)}\n`;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// 行尾的注释(空白后的 #)留着。
|
|
84
|
+
return content.replace(/^mode:.*?(\s+#.*)?$/m, `mode: ${mode}$1`);
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=project-mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-mode.js","sourceRoot":"","sources":["../../src/utils/project-mode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,CAAU,CAAC;AAIzD,oCAAoC;AACpC,MAAM,CAAC,MAAM,oBAAoB,GAAgB,KAAK,CAAC;AAEvD,MAAM,oBAAoB,GAAG,GAAG,SAAS,CAAC,QAAQ,cAAc,CAAC;AAEjE,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAQ,aAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,+CAA+C;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;aACnB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;aACzB,IAAI,EAAE;aACN,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,EAAE;YAAE,OAAO,oBAAoB,CAAC;QAC9C,IAAI,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,iBAAiB,KAAK,QAAQ,oBAAoB,cAAc,aAAa,CAAC,GAAG,CAC/E,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CACtB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAClB,CAAC;IACJ,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,2CAA2C;AAC3C,SAAS,iBAAiB,CAAC,IAAiB;IAC1C,OAAO,CACL,MAAM;QACN,oEAAoE;QACpE,+EAA+E;QAC/E,SAAS,IAAI,IAAI,CAClB,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,IAAiB;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrD,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,IAAiB;IACzD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAClC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IACD,mBAAmB;IACnB,OAAO,OAAO,CAAC,OAAO,CAAC,sBAAsB,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -4,15 +4,17 @@
|
|
|
4
4
|
* Centralizes how `atw init --workflow` and `atw workflow` discover and
|
|
5
5
|
* fetch workflow.md content. Reuses `template-fetcher` helpers for registry
|
|
6
6
|
* parsing, index probing, and git/http transport. The `native` workflow is a
|
|
7
|
-
* virtual entry resolved directly from the bundled
|
|
8
|
-
* avoid a duplicate file on disk that could drift out of sync.
|
|
7
|
+
* virtual entry resolved directly from the workflow bundled for the project's
|
|
8
|
+
* mode, to avoid a duplicate file on disk that could drift out of sync.
|
|
9
9
|
*
|
|
10
10
|
* Boundary: command-layer callers (init.ts, commands/workflow.ts) should NOT
|
|
11
11
|
* touch raw marketplace structures. They go through `resolveWorkflowTemplate`
|
|
12
12
|
* and `listWorkflowTemplates` only.
|
|
13
13
|
*/
|
|
14
|
+
import { type ProjectMode } from "./project-mode.js";
|
|
14
15
|
/**
|
|
15
|
-
* The id used to refer to the bundled native workflow
|
|
16
|
+
* The id used to refer to the bundled native workflow — the one that comes
|
|
17
|
+
* with the project's mode. No id selects another mode's workflow.
|
|
16
18
|
*
|
|
17
19
|
* Treated as ATW-managed for hash-tracking: when this id is selected by
|
|
18
20
|
* `init --workflow` or `atw workflow`, `.atw/workflow.md` stays in
|
|
@@ -26,7 +28,7 @@ export declare const NATIVE_WORKFLOW_ID = "native";
|
|
|
26
28
|
*
|
|
27
29
|
* `content` is the workflow.md body bytes (LF-normalized in storage).
|
|
28
30
|
* `path` is the marketplace-relative path for remote entries, or
|
|
29
|
-
* `bundled:atw
|
|
31
|
+
* `bundled:atw/<file>` for the native virtual entry.
|
|
30
32
|
*/
|
|
31
33
|
export interface ResolvedWorkflowTemplate {
|
|
32
34
|
id: string;
|
|
@@ -55,6 +57,8 @@ export interface WorkflowResolveOptions {
|
|
|
55
57
|
* Omitted = use the default marketplace via TEMPLATE_INDEX_URL.
|
|
56
58
|
*/
|
|
57
59
|
source?: string;
|
|
60
|
+
/** 项目的模式:`native` 指这个模式自带的流程。不传按默认模式。 */
|
|
61
|
+
mode?: ProjectMode;
|
|
58
62
|
}
|
|
59
63
|
export declare class WorkflowResolveError extends Error {
|
|
60
64
|
constructor(message: string);
|
|
@@ -76,7 +80,7 @@ export declare function listWorkflowTemplates(options?: WorkflowResolveOptions):
|
|
|
76
80
|
/**
|
|
77
81
|
* Resolve a workflow id to its content.
|
|
78
82
|
*
|
|
79
|
-
* - `native` → bundled `
|
|
83
|
+
* - `native` → the workflow bundled for `options.mode` (offline, never errors).
|
|
80
84
|
* - other id → fetch index via `template-fetcher`, find the matching
|
|
81
85
|
* `type: "workflow"` entry, then fetch its single file content.
|
|
82
86
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/workflow-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"workflow-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/workflow-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAY3E;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,MAAM,EAAE,SAAS,GAAG,aAAa,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,aAAa,CAAC;CACnC;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AA0ED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC;IACT,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC,CA+BD;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,wBAAwB,CAAC,CAoDnC"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Centralizes how `atw init --workflow` and `atw workflow` discover and
|
|
5
5
|
* fetch workflow.md content. Reuses `template-fetcher` helpers for registry
|
|
6
6
|
* parsing, index probing, and git/http transport. The `native` workflow is a
|
|
7
|
-
* virtual entry resolved directly from the bundled
|
|
8
|
-
* avoid a duplicate file on disk that could drift out of sync.
|
|
7
|
+
* virtual entry resolved directly from the workflow bundled for the project's
|
|
8
|
+
* mode, to avoid a duplicate file on disk that could drift out of sync.
|
|
9
9
|
*
|
|
10
10
|
* Boundary: command-layer callers (init.ts, commands/workflow.ts) should NOT
|
|
11
11
|
* touch raw marketplace structures. They go through `resolveWorkflowTemplate`
|
|
@@ -14,10 +14,12 @@
|
|
|
14
14
|
import fs from "node:fs";
|
|
15
15
|
import os from "node:os";
|
|
16
16
|
import path from "node:path";
|
|
17
|
-
import {
|
|
17
|
+
import { bundledWorkflowFor } from "../templates/atw/index.js";
|
|
18
|
+
import { DEFAULT_PROJECT_MODE } from "./project-mode.js";
|
|
18
19
|
import { TIMEOUTS, TEMPLATE_INDEX_URL, RegistryBackendError, parseRegistrySource, probeRegistryIndex, } from "./template-fetcher.js";
|
|
19
20
|
/**
|
|
20
|
-
* The id used to refer to the bundled native workflow
|
|
21
|
+
* The id used to refer to the bundled native workflow — the one that comes
|
|
22
|
+
* with the project's mode. No id selects another mode's workflow.
|
|
21
23
|
*
|
|
22
24
|
* Treated as ATW-managed for hash-tracking: when this id is selected by
|
|
23
25
|
* `init --workflow` or `atw workflow`, `.atw/workflow.md` stays in
|
|
@@ -35,7 +37,17 @@ export class WorkflowResolveError extends Error {
|
|
|
35
37
|
/**
|
|
36
38
|
* Bundled native workflow entry — virtual, resolved without network access.
|
|
37
39
|
*/
|
|
38
|
-
function nativeListingEntry() {
|
|
40
|
+
function nativeListingEntry(mode) {
|
|
41
|
+
if (mode === "general") {
|
|
42
|
+
return {
|
|
43
|
+
id: NATIVE_WORKFLOW_ID,
|
|
44
|
+
type: "workflow",
|
|
45
|
+
name: "Native ATW Workflow (general mode)",
|
|
46
|
+
description: "Default ATW Plan / Do / Finish workflow for non-code work, bundled with the CLI",
|
|
47
|
+
path: "bundled:atw/workflow-general.md",
|
|
48
|
+
source: "bundled",
|
|
49
|
+
};
|
|
50
|
+
}
|
|
39
51
|
return {
|
|
40
52
|
id: NATIVE_WORKFLOW_ID,
|
|
41
53
|
type: "workflow",
|
|
@@ -45,10 +57,10 @@ function nativeListingEntry() {
|
|
|
45
57
|
source: "bundled",
|
|
46
58
|
};
|
|
47
59
|
}
|
|
48
|
-
function nativeResolvedEntry() {
|
|
60
|
+
function nativeResolvedEntry(mode) {
|
|
49
61
|
return {
|
|
50
|
-
...nativeListingEntry(),
|
|
51
|
-
content:
|
|
62
|
+
...nativeListingEntry(mode),
|
|
63
|
+
content: bundledWorkflowFor(mode),
|
|
52
64
|
};
|
|
53
65
|
}
|
|
54
66
|
function parseSourceOrThrow(source) {
|
|
@@ -88,7 +100,9 @@ async function fetchWorkflowEntries(registry, indexUrl) {
|
|
|
88
100
|
* returned so callers can fall back to it offline.
|
|
89
101
|
*/
|
|
90
102
|
export async function listWorkflowTemplates(options = {}) {
|
|
91
|
-
const result = [
|
|
103
|
+
const result = [
|
|
104
|
+
nativeListingEntry(options.mode ?? DEFAULT_PROJECT_MODE),
|
|
105
|
+
];
|
|
92
106
|
let registry;
|
|
93
107
|
let indexUrl = TEMPLATE_INDEX_URL;
|
|
94
108
|
if (options.source) {
|
|
@@ -118,7 +132,7 @@ export async function listWorkflowTemplates(options = {}) {
|
|
|
118
132
|
/**
|
|
119
133
|
* Resolve a workflow id to its content.
|
|
120
134
|
*
|
|
121
|
-
* - `native` → bundled `
|
|
135
|
+
* - `native` → the workflow bundled for `options.mode` (offline, never errors).
|
|
122
136
|
* - other id → fetch index via `template-fetcher`, find the matching
|
|
123
137
|
* `type: "workflow"` entry, then fetch its single file content.
|
|
124
138
|
*
|
|
@@ -126,7 +140,7 @@ export async function listWorkflowTemplates(options = {}) {
|
|
|
126
140
|
*/
|
|
127
141
|
export async function resolveWorkflowTemplate(id, options = {}) {
|
|
128
142
|
if (id === NATIVE_WORKFLOW_ID) {
|
|
129
|
-
return nativeResolvedEntry();
|
|
143
|
+
return nativeResolvedEntry(options.mode ?? DEFAULT_PROJECT_MODE);
|
|
130
144
|
}
|
|
131
145
|
let registry;
|
|
132
146
|
let indexUrl = TEMPLATE_INDEX_URL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-resolver.js","sourceRoot":"","sources":["../../src/utils/workflow-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GAInB,MAAM,uBAAuB,CAAC;AAE/B
|
|
1
|
+
{"version":3,"file":"workflow-resolver.js","sourceRoot":"","sources":["../../src/utils/workflow-resolver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chinhae/atw-cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "A Team Workflow — an AI
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "A Team Workflow — an AI workflow framework that encodes your conventions into the process, for writing code and for work that isn't code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"inquirer": "^9.3.7",
|
|
34
34
|
"undici": "^6.21.0",
|
|
35
35
|
"zod": "^4.4.2",
|
|
36
|
-
"@chinhae/atw-core": "0.
|
|
36
|
+
"@chinhae/atw-core": "0.4.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@eslint/js": "^9.18.0",
|