maestro-flow 0.3.44 → 0.3.46
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/.claude/commands/learn-decompose.md +1 -1
- package/.claude/commands/learn-follow.md +1 -1
- package/.claude/commands/learn-investigate.md +1 -1
- package/.claude/commands/learn-retro.md +1 -1
- package/.claude/commands/learn-second-opinion.md +1 -1
- package/.claude/commands/maestro-analyze.md +1 -1
- package/.claude/commands/maestro-brainstorm.md +1 -1
- package/.claude/commands/maestro-execute.md +3 -2
- package/.claude/commands/maestro-plan.md +1 -1
- package/.claude/commands/maestro-tools-execute.md +14 -14
- package/.claude/commands/maestro-tools-register.md +49 -29
- package/.claude/commands/manage-knowhow-capture.md +10 -1
- package/.claude/commands/quality-debug.md +3 -2
- package/.claude/commands/quality-review.md +3 -2
- package/.claude/commands/quality-test.md +5 -0
- package/.claude/commands/spec-add.md +7 -12
- package/.claude/commands/spec-load.md +15 -16
- package/.claude/skills/codify-to-knowhow/SKILL.md +1 -1
- package/.claude/skills/codify-to-knowhow/phases/04-index-verify.md +1 -1
- package/.claude/skills/maestro-help/SKILL.md +264 -0
- package/.claude/skills/maestro-help/index/catalog.json +182 -0
- package/.claude/skills/maestro-help/phases/01-parse-intent.md +122 -0
- package/.claude/skills/maestro-help/phases/02-search-present.md +181 -0
- package/.claude/skills/maestro-help/phases/03-workflow-guide.md +186 -0
- package/.codex/agents/team-supervisor.toml +40 -0
- package/.codex/agents/team-worker.toml +63 -0
- package/.codex/skills/codify-to-knowhow/SKILL.md +2 -2
- package/.codex/skills/maestro-analyze/SKILL.md +1 -1
- package/.codex/skills/maestro-brainstorm/SKILL.md +1 -1
- package/.codex/skills/maestro-collab/SKILL.md +1 -1
- package/.codex/skills/maestro-execute/SKILL.md +1 -1
- package/.codex/skills/maestro-help/SKILL.md +213 -0
- package/.codex/skills/maestro-help/catalog.json +182 -0
- package/.codex/skills/maestro-milestone-complete/SKILL.md +1 -1
- package/.codex/skills/maestro-plan/SKILL.md +1 -1
- package/.codex/skills/maestro-roadmap/SKILL.md +1 -1
- package/.codex/skills/maestro-tools-execute/SKILL.md +12 -12
- package/.codex/skills/maestro-tools-register/SKILL.md +171 -144
- package/.codex/skills/maestro-ui-codify/SKILL.md +1 -1
- package/.codex/skills/maestro-verify/SKILL.md +1 -1
- package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
- package/.codex/skills/manage-knowhow-capture/SKILL.md +18 -3
- package/.codex/skills/quality-auto-test/SKILL.md +2 -2
- package/.codex/skills/quality-debug/SKILL.md +2 -1
- package/.codex/skills/quality-refactor/SKILL.md +1 -1
- package/.codex/skills/quality-review/SKILL.md +1 -1
- package/.codex/skills/quality-test/SKILL.md +11 -1
- package/.codex/skills/spec-add/SKILL.md +104 -114
- package/.codex/skills/spec-load/SKILL.md +73 -73
- package/.codex/skills/team-quality-assurance/roles/executor/role.md +1 -1
- package/.codex/skills/team-review/roles/reviewer/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +1 -1
- package/.codex/skills/team-testing/roles/executor/role.md +1 -1
- package/.codex/skills/team-testing/roles/generator/role.md +1 -1
- package/dashboard/dist-server/dashboard/src/server/index.js +5 -3
- package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/board-state.integration.test.js +3 -3
- package/dashboard/dist-server/dashboard/src/server/routes/board-state.integration.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/index.js +14 -5
- package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/maestro-coordinate.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/routes/maestro-coordinate.js +181 -0
- package/dashboard/dist-server/dashboard/src/server/routes/maestro-coordinate.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +0 -2
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +2 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js +58 -0
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +0 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +6 -23
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +0 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +0 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +25 -36
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +0 -5
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +0 -2
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +2 -3
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.d.ts +7 -2
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js +7 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +7 -9
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/maestro-session-types.d.ts +113 -0
- package/dashboard/dist-server/dashboard/src/shared/maestro-session-types.js +6 -0
- package/dashboard/dist-server/dashboard/src/shared/maestro-session-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/types.d.ts +4 -3
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
- package/dashboard/dist-server/src/agents/cli-agent-runner.js +5 -5
- package/dashboard/dist-server/src/agents/cli-agent-runner.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-entry-parser.d.ts +3 -9
- package/dashboard/dist-server/src/tools/spec-entry-parser.js +9 -31
- package/dashboard/dist-server/src/tools/spec-entry-parser.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-loader.d.ts +5 -9
- package/dashboard/dist-server/src/tools/spec-loader.js +99 -52
- package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +5 -5
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/commands/knowhow.d.ts.map +1 -1
- package/dist/src/commands/knowhow.js +11 -8
- package/dist/src/commands/knowhow.js.map +1 -1
- package/dist/src/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +7 -14
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/commands/wiki.d.ts.map +1 -1
- package/dist/src/commands/wiki.js +11 -20
- package/dist/src/commands/wiki.js.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js +17 -14
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/spec-injector.d.ts +0 -7
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +41 -81
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/wiki-role-loader.d.ts +5 -5
- package/dist/src/hooks/wiki-role-loader.d.ts.map +1 -1
- package/dist/src/hooks/wiki-role-loader.js +6 -6
- package/dist/src/hooks/wiki-role-loader.js.map +1 -1
- package/dist/src/tools/spec-entry-parser.d.ts +3 -9
- package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
- package/dist/src/tools/spec-entry-parser.js +9 -31
- package/dist/src/tools/spec-entry-parser.js.map +1 -1
- package/dist/src/tools/spec-init.d.ts.map +1 -1
- package/dist/src/tools/spec-init.js +54 -73
- package/dist/src/tools/spec-init.js.map +1 -1
- package/dist/src/tools/spec-loader.d.ts +5 -9
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +99 -52
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/spec-writer.d.ts +1 -1
- package/dist/src/tools/spec-writer.d.ts.map +1 -1
- package/dist/src/tools/spec-writer.js +2 -2
- package/dist/src/tools/spec-writer.js.map +1 -1
- package/dist/src/tools/store-knowhow.d.ts.map +1 -1
- package/dist/src/tools/store-knowhow.js +15 -6
- package/dist/src/tools/store-knowhow.js.map +1 -1
- package/package.json +4 -2
- package/workflows/analyze.md +2 -2
- package/workflows/auto-test.md +2 -2
- package/workflows/brainstorm.md +1 -1
- package/workflows/codebase-rebuild.md +1 -1
- package/workflows/codebase-refresh.md +1 -1
- package/workflows/debug.md +1 -1
- package/workflows/execute.md +3 -3
- package/workflows/integration-test.md +2 -2
- package/workflows/issue-discover.md +1 -1
- package/workflows/knowhow.md +2 -2
- package/workflows/learn.md +1 -1
- package/workflows/map.md +1 -1
- package/workflows/milestone-complete.md +2 -2
- package/workflows/plan.md +1 -1
- package/workflows/quick.md +1 -1
- package/workflows/refactor.md +1 -1
- package/workflows/retrospective.md +3 -3
- package/workflows/review.md +1 -1
- package/workflows/roadmap-common.md +1 -1
- package/workflows/specs-add.md +2 -11
- package/workflows/specs-load.md +13 -14
- package/workflows/test-gen.md +1 -1
- package/workflows/tools-spec.md +27 -53
- package/workflows/ui-codify-knowhow.md +1 -1
- package/workflows/ui-codify.md +1 -1
- package/workflows/verify.md +1 -1
- package/.claude/commands/maestro-link-coordinate.md +0 -71
- package/.codex/skills/maestro-link-coordinate/SKILL.md +0 -257
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-injector.js","sourceRoot":"","sources":["../../../src/hooks/spec-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAqB,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"spec-injector.js","sourceRoot":"","sources":["../../../src/hooks/spec-injector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Wiki
|
|
2
|
+
* Wiki Category Loader — synchronous wiki knowledge loading by category.
|
|
3
3
|
*
|
|
4
|
-
* Reads the persisted wiki-index.json to quickly load
|
|
4
|
+
* Reads the persisted wiki-index.json to quickly load category-tagged
|
|
5
5
|
* entries without requiring the full WikiIndexer or dashboard server.
|
|
6
6
|
* Used by spec-injector hook for lightweight context injection.
|
|
7
7
|
*/
|
|
8
|
-
export interface
|
|
8
|
+
export interface WikiCategoryResult {
|
|
9
9
|
content: string;
|
|
10
10
|
entryCount: number;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
|
-
* Load wiki entries matching a given
|
|
13
|
+
* Load wiki entries matching a given category from the persisted index.
|
|
14
14
|
* Returns formatted title+summary content for injection, or null if
|
|
15
15
|
* no matching entries exist.
|
|
16
16
|
*/
|
|
17
|
-
export declare function
|
|
17
|
+
export declare function loadWikiByCategory(projectPath: string, category: string): WikiCategoryResult | null;
|
|
18
18
|
//# sourceMappingURL=wiki-role-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wiki-role-loader.d.ts","sourceRoot":"","sources":["../../../src/hooks/wiki-role-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"wiki-role-loader.d.ts","sourceRoot":"","sources":["../../../src/hooks/wiki-role-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CA6BnG"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Wiki
|
|
2
|
+
* Wiki Category Loader — synchronous wiki knowledge loading by category.
|
|
3
3
|
*
|
|
4
|
-
* Reads the persisted wiki-index.json to quickly load
|
|
4
|
+
* Reads the persisted wiki-index.json to quickly load category-tagged
|
|
5
5
|
* entries without requiring the full WikiIndexer or dashboard server.
|
|
6
6
|
* Used by spec-injector hook for lightweight context injection.
|
|
7
7
|
*/
|
|
8
8
|
import { readFileSync } from 'node:fs';
|
|
9
9
|
import { join } from 'node:path';
|
|
10
10
|
/**
|
|
11
|
-
* Load wiki entries matching a given
|
|
11
|
+
* Load wiki entries matching a given category from the persisted index.
|
|
12
12
|
* Returns formatted title+summary content for injection, or null if
|
|
13
13
|
* no matching entries exist.
|
|
14
14
|
*/
|
|
15
|
-
export function
|
|
15
|
+
export function loadWikiByCategory(projectPath, category) {
|
|
16
16
|
const indexPath = join(projectPath, '.workflow', 'wiki-index.json');
|
|
17
17
|
let raw;
|
|
18
18
|
try {
|
|
@@ -31,12 +31,12 @@ export function loadWikiByRole(projectPath, role) {
|
|
|
31
31
|
if (!index?.entries?.length)
|
|
32
32
|
return null;
|
|
33
33
|
const matched = index.entries
|
|
34
|
-
.filter(e =>
|
|
34
|
+
.filter(e => e.category === category)
|
|
35
35
|
.sort((a, b) => b.updated.localeCompare(a.updated))
|
|
36
36
|
.slice(0, 10);
|
|
37
37
|
if (matched.length === 0)
|
|
38
38
|
return null;
|
|
39
|
-
const content = `# Wiki Knowledge (
|
|
39
|
+
const content = `# Wiki Knowledge (category: ${category})\n\n` +
|
|
40
40
|
matched.map(e => `### [${e.type}] ${e.title}\n${e.summary}`).join('\n\n---\n\n');
|
|
41
41
|
return { content, entryCount: matched.length };
|
|
42
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wiki-role-loader.js","sourceRoot":"","sources":["../../../src/hooks/wiki-role-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC;;;;GAIG;AACH,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"wiki-role-loader.js","sourceRoot":"","sources":["../../../src/hooks/wiki-role-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB,EAAE,QAAgB;IACtE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACpE,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAuH,CAAC;IAC5H,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;SACpC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;SAClD,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,OAAO,GAAG,+BAA+B,QAAQ,OAAO;QAC5D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEnF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export interface SpecEntryParsed {
|
|
8
8
|
category: string;
|
|
9
|
-
roles: string[];
|
|
10
9
|
keywords: string[];
|
|
11
10
|
date: string;
|
|
12
11
|
source?: string;
|
|
@@ -30,10 +29,7 @@ export interface ParseError {
|
|
|
30
29
|
line: number;
|
|
31
30
|
message: string;
|
|
32
31
|
}
|
|
33
|
-
export declare const VALID_CATEGORIES: readonly ["coding", "arch", "
|
|
34
|
-
/** @deprecated Legacy backward-compat: map old category attr to roles when roles attr is absent.
|
|
35
|
-
* Kept for reading old entries that have category= but no roles= attribute. */
|
|
36
|
-
export declare const CATEGORY_ROLE_FALLBACK: Record<string, string[]>;
|
|
32
|
+
export declare const VALID_CATEGORIES: readonly ["coding", "arch", "debug", "test", "review", "learning"];
|
|
37
33
|
export type ValidCategory = (typeof VALID_CATEGORIES)[number];
|
|
38
34
|
/**
|
|
39
35
|
* Parse spec file content into structured entries.
|
|
@@ -56,9 +52,7 @@ export declare function validateCategoryMatch(entry: SpecEntryParsed, fileCatego
|
|
|
56
52
|
export declare function formatSpecEntries(entries: SpecEntryParsed[], keyword?: string): string;
|
|
57
53
|
/**
|
|
58
54
|
* Format a single entry for writing to a spec file.
|
|
59
|
-
*
|
|
60
|
-
* The `category` parameter is still accepted for file routing (spec-writer.ts) but is NOT written to the XML tag.
|
|
61
|
-
* When `roles` is not provided, falls back to CATEGORY_ROLE_FALLBACK to derive roles from category.
|
|
55
|
+
* Writes `category=` attribute as the primary classifier.
|
|
62
56
|
*/
|
|
63
|
-
export declare function formatNewEntry(category: string, keywords: string[], date: string, title: string, content: string, source?: string, ref?: string
|
|
57
|
+
export declare function formatNewEntry(category: string, keywords: string[], date: string, title: string, content: string, source?: string, ref?: string): string;
|
|
64
58
|
//# sourceMappingURL=spec-entry-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-entry-parser.d.ts","sourceRoot":"","sources":["../../../src/tools/spec-entry-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,
|
|
1
|
+
{"version":3,"file":"spec-entry-parser.d.ts","sourceRoot":"","sources":["../../../src/tools/spec-entry-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,eAAO,MAAM,gBAAgB,oEAAqE,CAAC;AAEnG,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAyB9D;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAwD7D;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,EAAE,CAoBlE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKjG;AAMD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAQtF;AAqCD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAAE,EAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAMR"}
|
|
@@ -7,14 +7,7 @@
|
|
|
7
7
|
// ============================================================================
|
|
8
8
|
// Valid categories (shared with spec-loader)
|
|
9
9
|
// ============================================================================
|
|
10
|
-
export const VALID_CATEGORIES = ['coding', 'arch', '
|
|
11
|
-
/** @deprecated Legacy backward-compat: map old category attr to roles when roles attr is absent.
|
|
12
|
-
* Kept for reading old entries that have category= but no roles= attribute. */
|
|
13
|
-
export const CATEGORY_ROLE_FALLBACK = {
|
|
14
|
-
coding: ['implement'], arch: ['plan'], quality: ['review'],
|
|
15
|
-
debug: ['analyze'], test: ['test', 'implement'],
|
|
16
|
-
review: ['review'], learning: ['implement'], tools: [],
|
|
17
|
-
};
|
|
10
|
+
export const VALID_CATEGORIES = ['coding', 'arch', 'debug', 'test', 'review', 'learning'];
|
|
18
11
|
// ============================================================================
|
|
19
12
|
// Core regex
|
|
20
13
|
// ============================================================================
|
|
@@ -58,13 +51,8 @@ export function parseSpecEntries(content) {
|
|
|
58
51
|
const title = titleMatch ? titleMatch[1].trim() : '';
|
|
59
52
|
// Validate and build entry
|
|
60
53
|
const ref = attrs.ref || undefined;
|
|
61
|
-
// Resolve roles: explicit roles attr, or fallback from category
|
|
62
|
-
const rolesRaw = attrs.roles
|
|
63
|
-
? attrs.roles.split(',').map(r => r.trim().toLowerCase()).filter(Boolean)
|
|
64
|
-
: CATEGORY_ROLE_FALLBACK[attrs.category ?? ''] ?? [];
|
|
65
54
|
const entry = {
|
|
66
55
|
category: attrs.category ?? '',
|
|
67
|
-
roles: rolesRaw,
|
|
68
56
|
keywords: attrs.keywords ? attrs.keywords.split(',').map(k => k.trim().toLowerCase()).filter(Boolean) : [],
|
|
69
57
|
date: attrs.date ?? '',
|
|
70
58
|
source: attrs.source,
|
|
@@ -93,11 +81,10 @@ export function parseSpecEntries(content) {
|
|
|
93
81
|
*/
|
|
94
82
|
export function validateSpecEntry(entry) {
|
|
95
83
|
const errors = [];
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
errors.push('Missing required attribute: roles');
|
|
84
|
+
if (!entry.category) {
|
|
85
|
+
errors.push('Missing required attribute: category');
|
|
99
86
|
}
|
|
100
|
-
if (
|
|
87
|
+
else if (!VALID_CATEGORIES.includes(entry.category)) {
|
|
101
88
|
errors.push(`Invalid category "${entry.category}". Must be one of: ${VALID_CATEGORIES.join(', ')}`);
|
|
102
89
|
}
|
|
103
90
|
if (entry.keywords.length === 0) {
|
|
@@ -140,13 +127,11 @@ export function formatSpecEntries(entries, keyword) {
|
|
|
140
127
|
* Format a single parsed entry as clean markdown with metadata line.
|
|
141
128
|
*
|
|
142
129
|
* Input content: `### Title\n\nBody`
|
|
143
|
-
* Output: `### Title\n>
|
|
130
|
+
* Output: `### Title\n> category · kw1, kw2 · date · source\n\nBody`
|
|
144
131
|
*/
|
|
145
132
|
function formatEntryClean(e) {
|
|
146
133
|
const meta = [];
|
|
147
|
-
if (e.
|
|
148
|
-
meta.push(e.roles.join(', '));
|
|
149
|
-
else if (e.category)
|
|
134
|
+
if (e.category)
|
|
150
135
|
meta.push(e.category);
|
|
151
136
|
if (e.keywords.length > 0)
|
|
152
137
|
meta.push(e.keywords.join(', '));
|
|
@@ -174,20 +159,13 @@ function formatEntryClean(e) {
|
|
|
174
159
|
}
|
|
175
160
|
/**
|
|
176
161
|
* Format a single entry for writing to a spec file.
|
|
177
|
-
*
|
|
178
|
-
* The `category` parameter is still accepted for file routing (spec-writer.ts) but is NOT written to the XML tag.
|
|
179
|
-
* When `roles` is not provided, falls back to CATEGORY_ROLE_FALLBACK to derive roles from category.
|
|
162
|
+
* Writes `category=` attribute as the primary classifier.
|
|
180
163
|
*/
|
|
181
|
-
export function formatNewEntry(category, keywords, date, title, content, source, ref
|
|
164
|
+
export function formatNewEntry(category, keywords, date, title, content, source, ref) {
|
|
182
165
|
const kwStr = keywords.map(k => k.toLowerCase().trim()).filter(Boolean).join(',');
|
|
183
166
|
const sourceAttr = source ? ` source="${source}"` : '';
|
|
184
167
|
const refAttr = ref ? ` ref="${ref}"` : '';
|
|
185
|
-
|
|
186
|
-
const resolvedRoles = (roles && roles.length > 0)
|
|
187
|
-
? roles
|
|
188
|
-
: CATEGORY_ROLE_FALLBACK[category] ?? [];
|
|
189
|
-
const rolesStr = resolvedRoles.map(r => r.toLowerCase().trim()).filter(Boolean).join(',');
|
|
190
|
-
return `<spec-entry roles="${rolesStr}" keywords="${kwStr}" date="${date}"${sourceAttr}${refAttr}>\n\n### ${title}\n\n${content}\n\n</spec-entry>`;
|
|
168
|
+
return `<spec-entry category="${category}" keywords="${kwStr}" date="${date}"${sourceAttr}${refAttr}>\n\n### ${title}\n\n${content}\n\n</spec-entry>`;
|
|
191
169
|
}
|
|
192
170
|
// ============================================================================
|
|
193
171
|
// Internal helpers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-entry-parser.js","sourceRoot":"","sources":["../../../src/tools/spec-entry-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"spec-entry-parser.js","sourceRoot":"","sources":["../../../src/tools/spec-entry-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmCH,+EAA+E;AAC/E,6CAA6C;AAC7C,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAC;AAInG,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,qFAAqF;AACrF,MAAM,aAAa,GAAG,iDAAiD,CAAC;AAExE,2CAA2C;AAC3C,MAAM,OAAO,GAAG,qBAAqB,CAAC;AAEtC,+CAA+C;AAC/C,MAAM,UAAU,GAAG,eAAe,CAAC;AAEnC,6EAA6E;AAC7E,MAAM,iBAAiB,GAAG,uEAAuE,CAAC;AAElG,sBAAsB;AACtB,MAAM,OAAO,GAAG,qBAAqB,CAAC;AAEtC,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,mEAAmE;IACnE,MAAM,QAAQ,GAA0C,EAAE,CAAC;IAE3D,sCAAsC;IACtC,IAAI,KAA6B,CAAC;IAClC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;IAE5B,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,MAAM,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE9C,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEpD,mBAAmB;QACnB,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAEvC,uCAAuC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAErD,2BAA2B;QAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,SAAS,CAAC;QAEnC,MAAM,KAAK,GAAoB;YAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAC1G,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG;YACH,KAAK;YACL,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE;YACpB,SAAS;YACT,OAAO;SACR,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpB,4BAA4B;QAC5B,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAErD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACrC,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB;IACtD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAyB,CAAC,EAAE,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,QAAQ,sBAAsB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,IAAI,wBAAwB,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAsB,EAAE,YAAoB;IAChF,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACtD,OAAO,mBAAmB,KAAK,CAAC,QAAQ,mCAAmC,YAAY,GAAG,CAAC;IAC7F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA0B,EAAE,OAAgB;IAC5E,MAAM,QAAQ,GAAG,OAAO;QACtB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,OAAO,CAAC;IAEZ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,OAAO,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,CAAkB;IAC1C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,CAAC,CAAC,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,CAAC,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAElC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC;IAElD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAErE,wEAAwE;IACxE,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACV,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,0CAA0C,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAChJ,MAAM,KAAK,GAAG,WAAW,OAAO,EAAE,CAAC;QACnC,OAAO,GAAG,sCAAsC,KAAK,EAAE,CAAC;IAC1D,CAAC;IAED,sCAAsC;IACtC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtG,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;AACnE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAgB,EAChB,QAAkB,EAClB,IAAY,EACZ,KAAa,EACb,OAAe,EACf,MAAe,EACf,GAAY;IAEZ,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClF,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3C,OAAO,yBAAyB,QAAQ,eAAe,KAAK,WAAW,IAAI,IAAI,UAAU,GAAG,OAAO,YAAY,KAAK,OAAO,OAAO,mBAAmB,CAAC;AACxJ,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5C,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,OAAe,EAAE,SAAiB;IACpD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,IAAI,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,OAAe,EACf,QAA+C;IAE/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,kEAAkE;IAClE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,GAAqE,IAAI,CAAC;IAErF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QAEzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,CAAC;YACN,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjD,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,OAAO,CAAC,KAAK,OAAO,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBAClH,CAAC;YACH,CAAC;YACD,OAAO,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QACtE,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,OAAO,CAAC,KAAK,OAAO,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-init.d.ts","sourceRoot":"","sources":["../../../src/tools/spec-init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAMlE,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"spec-init.d.ts","sourceRoot":"","sources":["../../../src/tools/spec-init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAMlE,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AA8KD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,GAAE,SAAqB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CA0B1G"}
|
|
@@ -20,18 +20,18 @@ const SEED_DOCS = [
|
|
|
20
20
|
category: 'coding',
|
|
21
21
|
keywords: ['style', 'naming', 'import', 'pattern', 'convention', 'formatting'],
|
|
22
22
|
},
|
|
23
|
-
body: `# Coding Conventions
|
|
24
|
-
|
|
25
|
-
## Formatting
|
|
26
|
-
|
|
27
|
-
## Naming
|
|
28
|
-
|
|
29
|
-
## Imports
|
|
30
|
-
|
|
31
|
-
## Patterns
|
|
32
|
-
|
|
33
|
-
## Entries
|
|
34
|
-
|
|
23
|
+
body: `# Coding Conventions
|
|
24
|
+
|
|
25
|
+
## Formatting
|
|
26
|
+
|
|
27
|
+
## Naming
|
|
28
|
+
|
|
29
|
+
## Imports
|
|
30
|
+
|
|
31
|
+
## Patterns
|
|
32
|
+
|
|
33
|
+
## Entries
|
|
34
|
+
|
|
35
35
|
`,
|
|
36
36
|
},
|
|
37
37
|
{
|
|
@@ -43,18 +43,18 @@ const SEED_DOCS = [
|
|
|
43
43
|
category: 'arch',
|
|
44
44
|
keywords: ['architecture', 'module', 'layer', 'boundary', 'dependency', 'structure'],
|
|
45
45
|
},
|
|
46
|
-
body: `# Architecture Constraints
|
|
47
|
-
|
|
48
|
-
## Module Structure
|
|
49
|
-
|
|
50
|
-
## Layer Boundaries
|
|
51
|
-
|
|
52
|
-
## Dependency Rules
|
|
53
|
-
|
|
54
|
-
## Technology Constraints
|
|
55
|
-
|
|
56
|
-
## Entries
|
|
57
|
-
|
|
46
|
+
body: `# Architecture Constraints
|
|
47
|
+
|
|
48
|
+
## Module Structure
|
|
49
|
+
|
|
50
|
+
## Layer Boundaries
|
|
51
|
+
|
|
52
|
+
## Dependency Rules
|
|
53
|
+
|
|
54
|
+
## Technology Constraints
|
|
55
|
+
|
|
56
|
+
## Entries
|
|
57
|
+
|
|
58
58
|
`,
|
|
59
59
|
},
|
|
60
60
|
{
|
|
@@ -66,12 +66,12 @@ const SEED_DOCS = [
|
|
|
66
66
|
category: 'learning',
|
|
67
67
|
keywords: ['bug', 'lesson', 'gotcha', 'learning'],
|
|
68
68
|
},
|
|
69
|
-
body: `# Learnings
|
|
70
|
-
|
|
71
|
-
Add entries with: \`/spec-add learning <description>\`
|
|
72
|
-
|
|
73
|
-
## Entries
|
|
74
|
-
|
|
69
|
+
body: `# Learnings
|
|
70
|
+
|
|
71
|
+
Add entries with: \`/spec-add learning <description>\`
|
|
72
|
+
|
|
73
|
+
## Entries
|
|
74
|
+
|
|
75
75
|
`,
|
|
76
76
|
},
|
|
77
77
|
{
|
|
@@ -83,10 +83,10 @@ Add entries with: \`/spec-add learning <description>\`
|
|
|
83
83
|
category: 'quality',
|
|
84
84
|
keywords: ['quality', 'lint', 'rule', 'enforcement'],
|
|
85
85
|
},
|
|
86
|
-
body: `# Quality Rules
|
|
87
|
-
|
|
88
|
-
## Entries
|
|
89
|
-
|
|
86
|
+
body: `# Quality Rules
|
|
87
|
+
|
|
88
|
+
## Entries
|
|
89
|
+
|
|
90
90
|
`,
|
|
91
91
|
},
|
|
92
92
|
{
|
|
@@ -98,10 +98,10 @@ Add entries with: \`/spec-add learning <description>\`
|
|
|
98
98
|
category: 'debug',
|
|
99
99
|
keywords: ['debug', 'issue', 'workaround', 'root-cause', 'gotcha'],
|
|
100
100
|
},
|
|
101
|
-
body: `# Debug Notes
|
|
102
|
-
|
|
103
|
-
## Entries
|
|
104
|
-
|
|
101
|
+
body: `# Debug Notes
|
|
102
|
+
|
|
103
|
+
## Entries
|
|
104
|
+
|
|
105
105
|
`,
|
|
106
106
|
},
|
|
107
107
|
{
|
|
@@ -113,18 +113,18 @@ Add entries with: \`/spec-add learning <description>\`
|
|
|
113
113
|
category: 'test',
|
|
114
114
|
keywords: ['test', 'coverage', 'mock', 'fixture', 'assertion', 'framework'],
|
|
115
115
|
},
|
|
116
|
-
body: `# Test Conventions
|
|
117
|
-
|
|
118
|
-
## Framework
|
|
119
|
-
|
|
120
|
-
## Directory Structure
|
|
121
|
-
|
|
122
|
-
## Naming Conventions
|
|
123
|
-
|
|
124
|
-
## Patterns
|
|
125
|
-
|
|
126
|
-
## Entries
|
|
127
|
-
|
|
116
|
+
body: `# Test Conventions
|
|
117
|
+
|
|
118
|
+
## Framework
|
|
119
|
+
|
|
120
|
+
## Directory Structure
|
|
121
|
+
|
|
122
|
+
## Naming Conventions
|
|
123
|
+
|
|
124
|
+
## Patterns
|
|
125
|
+
|
|
126
|
+
## Entries
|
|
127
|
+
|
|
128
128
|
`,
|
|
129
129
|
},
|
|
130
130
|
{
|
|
@@ -136,29 +136,10 @@ Add entries with: \`/spec-add learning <description>\`
|
|
|
136
136
|
category: 'review',
|
|
137
137
|
keywords: ['review', 'checklist', 'gate', 'approval', 'standard'],
|
|
138
138
|
},
|
|
139
|
-
body: `# Review Standards
|
|
140
|
-
|
|
141
|
-
## Entries
|
|
142
|
-
|
|
143
|
-
`,
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
filename: 'tools.md',
|
|
147
|
-
frontmatter: {
|
|
148
|
-
title: 'Tools',
|
|
149
|
-
readMode: 'optional',
|
|
150
|
-
priority: 'medium',
|
|
151
|
-
category: 'tools',
|
|
152
|
-
keywords: ['tool', 'process', 'workflow', 'checklist', 'procedure'],
|
|
153
|
-
},
|
|
154
|
-
body: `# Tools
|
|
155
|
-
|
|
156
|
-
Reusable tool/process definitions. Each entry declares its applicable roles.
|
|
157
|
-
|
|
158
|
-
Add entries with: \`maestro spec add tools "<title>" "<content>" --roles "implement,test"\`
|
|
159
|
-
|
|
160
|
-
## Entries
|
|
161
|
-
|
|
139
|
+
body: `# Review Standards
|
|
140
|
+
|
|
141
|
+
## Entries
|
|
142
|
+
|
|
162
143
|
`,
|
|
163
144
|
},
|
|
164
145
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-init.js","sourceRoot":"","sources":["../../../src/tools/spec-init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAkB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAwBlE,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,SAAS,GAAc;IAC3B;QACE,QAAQ,EAAE,uBAAuB;QACjC,WAAW,EAAE;YACX,KAAK,EAAE,oBAAoB;YAC3B,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC;SAC/E;QACD,IAAI,EAAE;;;;;;;;;;;;CAYT;KACE;IACD;QACE,QAAQ,EAAE,6BAA6B;QACvC,WAAW,EAAE;YACX,KAAK,EAAE,0BAA0B;YACjC,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC;SACrF;QACD,IAAI,EAAE;;;;;;;;;;;;CAYT;KACE;IACD;QACE,QAAQ,EAAE,cAAc;QACxB,WAAW,EAAE;YACX,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;SAClD;QACD,IAAI,EAAE;;;;;;CAMT;KACE;IACD;QACE,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE;YACX,KAAK,EAAE,eAAe;YACtB,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;SACrD;QACD,IAAI,EAAE;;;;CAIT;KACE;IACD;QACE,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC;SACnE;QACD,IAAI,EAAE;;;;CAIT;KACE;IACD;QACE,QAAQ,EAAE,qBAAqB;QAC/B,WAAW,EAAE;YACX,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC;SAC5E;QACD,IAAI,EAAE;;;;;;;;;;;;CAYT;KACE;IACD;QACE,QAAQ,EAAE,qBAAqB;QAC/B,WAAW,EAAE;YACX,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC;SAClE;QACD,IAAI,EAAE;;;;CAIT;KACE;
|
|
1
|
+
{"version":3,"file":"spec-init.js","sourceRoot":"","sources":["../../../src/tools/spec-init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Spec Loader
|
|
2
|
+
* Spec Loader
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Category-based loading with keyword cross-matching and knowhow tool discovery.
|
|
5
5
|
* Reads .workflow/specs/*.md, filters by category via static mapping,
|
|
6
|
-
* returns concatenated content.
|
|
6
|
+
* discovers knowhow tools with matching category, returns concatenated content.
|
|
7
7
|
*/
|
|
8
|
-
export type SpecCategory = 'coding' | 'arch' | '
|
|
8
|
+
export type SpecCategory = 'coding' | 'arch' | 'debug' | 'test' | 'review' | 'learning';
|
|
9
9
|
export type SpecScope = 'project' | 'global' | 'team' | 'personal';
|
|
10
10
|
export interface SpecLoadResult {
|
|
11
11
|
content: string;
|
|
@@ -13,8 +13,6 @@ export interface SpecLoadResult {
|
|
|
13
13
|
totalLoaded: number;
|
|
14
14
|
}
|
|
15
15
|
export declare const CATEGORY_MAP: Record<string, SpecCategory>;
|
|
16
|
-
/** File → primary role mapping. Used by --role loading to identify main docs. */
|
|
17
|
-
export declare const FILE_ROLE_MAP: Record<string, string>;
|
|
18
16
|
export declare const TEAM_SPECS_DIR = ".workflow/collab/specs";
|
|
19
17
|
/**
|
|
20
18
|
* Resolve the directory for a given spec scope.
|
|
@@ -50,7 +48,5 @@ export interface LoadSpecsOptions {
|
|
|
50
48
|
/** Override global specs directory (for testing). Defaults to ~/.maestro/specs/ */
|
|
51
49
|
globalDir?: string;
|
|
52
50
|
}
|
|
53
|
-
export declare function loadSpecs(projectPath: string, category?: SpecCategory, uid?: string, keyword?: string, scope?: SpecScope, options?: LoadSpecsOptions
|
|
54
|
-
role?: string;
|
|
55
|
-
}): SpecLoadResult;
|
|
51
|
+
export declare function loadSpecs(projectPath: string, category?: SpecCategory, uid?: string, keyword?: string, scope?: SpecScope, options?: LoadSpecsOptions): SpecLoadResult;
|
|
56
52
|
//# sourceMappingURL=spec-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-loader.d.ts","sourceRoot":"","sources":["../../../src/tools/spec-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"spec-loader.d.ts","sourceRoot":"","sources":["../../../src/tools/spec-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAExF,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAOrD,CAAC;AAGF,eAAO,MAAM,cAAc,2BAA2B,CAAC;AAcvD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAW1F;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,cAAc,CAqDrK"}
|