@uoyo/mvtt 2.0.0-beta.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/LICENSE +21 -0
- package/README.md +209 -0
- package/dist/build/assembler.d.ts +6 -0
- package/dist/build/assembler.d.ts.map +1 -0
- package/dist/build/assembler.js +32 -0
- package/dist/build/assembler.js.map +1 -0
- package/dist/build/section-loader.d.ts +4 -0
- package/dist/build/section-loader.d.ts.map +1 -0
- package/dist/build/section-loader.js +55 -0
- package/dist/build/section-loader.js.map +1 -0
- package/dist/build/validator.d.ts +6 -0
- package/dist/build/validator.d.ts.map +1 -0
- package/dist/build/validator.js +77 -0
- package/dist/build/validator.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +49 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/build.d.ts +5 -0
- package/dist/commands/build.d.ts.map +1 -0
- package/dist/commands/build.js +46 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +79 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/install.d.ts +5 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +63 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/shared.d.ts +2 -0
- package/dist/commands/shared.d.ts.map +1 -0
- package/dist/commands/shared.js +2 -0
- package/dist/commands/shared.js.map +1 -0
- package/dist/commands/uninstall.d.ts +2 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +56 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/update.d.ts +5 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +59 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/fs/hash.d.ts +3 -0
- package/dist/fs/hash.d.ts.map +1 -0
- package/dist/fs/hash.js +10 -0
- package/dist/fs/hash.js.map +1 -0
- package/dist/fs/install-manifest.d.ts +16 -0
- package/dist/fs/install-manifest.d.ts.map +1 -0
- package/dist/fs/install-manifest.js +29 -0
- package/dist/fs/install-manifest.js.map +1 -0
- package/dist/fs/materialize.d.ts +14 -0
- package/dist/fs/materialize.d.ts.map +1 -0
- package/dist/fs/materialize.js +116 -0
- package/dist/fs/materialize.js.map +1 -0
- package/dist/fs/protection.d.ts +15 -0
- package/dist/fs/protection.d.ts.map +1 -0
- package/dist/fs/protection.js +16 -0
- package/dist/fs/protection.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/types/manifest.d.ts +21 -0
- package/dist/types/manifest.d.ts.map +1 -0
- package/dist/types/manifest.js +2 -0
- package/dist/types/manifest.js.map +1 -0
- package/dist/types/registry.d.ts +25 -0
- package/dist/types/registry.d.ts.map +1 -0
- package/dist/types/registry.js +2 -0
- package/dist/types/registry.js.map +1 -0
- package/dist/util/color.d.ts +9 -0
- package/dist/util/color.d.ts.map +1 -0
- package/dist/util/color.js +13 -0
- package/dist/util/color.js.map +1 -0
- package/dist/util/package.d.ts +3 -0
- package/dist/util/package.d.ts.map +1 -0
- package/dist/util/package.js +13 -0
- package/dist/util/package.js.map +1 -0
- package/install-manifest.yaml +27 -0
- package/package.json +57 -0
- package/registry.yaml +209 -0
- package/sources/defaults/config.yaml +30 -0
- package/sources/defaults/project-context.yaml +26 -0
- package/sources/defaults/session.yaml +23 -0
- package/sources/knowledge/core/manifest.yaml +47 -0
- package/sources/knowledge/core/review-principles.md +51 -0
- package/sources/knowledge/patterns/clean-architecture/manifest.yaml +66 -0
- package/sources/knowledge/patterns/clean-architecture/review-checklist.md +230 -0
- package/sources/knowledge/patterns/ddd/manifest.yaml +83 -0
- package/sources/knowledge/patterns/ddd/review-checklist.md +226 -0
- package/sources/knowledge/patterns/ddd/tactical-patterns.md +12 -0
- package/sources/knowledge/patterns/frontend-react/manifest.yaml +44 -0
- package/sources/knowledge/patterns/frontend-react/review-checklist.md +78 -0
- package/sources/knowledge/patterns/manifest.yaml +113 -0
- package/sources/sections/activation-load-config.md +5 -0
- package/sources/sections/activation-load-context.md +11 -0
- package/sources/sections/activation-preflight.md +4 -0
- package/sources/sections/footer-next-steps.md +9 -0
- package/sources/sections/role-header.md +13 -0
- package/sources/skills/mvt-add-context/business.md +47 -0
- package/sources/skills/mvt-add-context/manifest.yaml +83 -0
- package/sources/skills/mvt-analyze/business.md +33 -0
- package/sources/skills/mvt-analyze/manifest.yaml +89 -0
- package/sources/skills/mvt-analyze-code/business.md +35 -0
- package/sources/skills/mvt-analyze-code/manifest.yaml +88 -0
- package/sources/skills/mvt-check-context/business.md +42 -0
- package/sources/skills/mvt-check-context/manifest.yaml +74 -0
- package/sources/skills/mvt-cleanup/business.md +31 -0
- package/sources/skills/mvt-cleanup/manifest.yaml +93 -0
- package/sources/skills/mvt-config/business.md +26 -0
- package/sources/skills/mvt-config/manifest.yaml +108 -0
- package/sources/skills/mvt-create-skill/business.md +111 -0
- package/sources/skills/mvt-create-skill/manifest.yaml +79 -0
- package/sources/skills/mvt-design/business.md +34 -0
- package/sources/skills/mvt-design/manifest.yaml +105 -0
- package/sources/skills/mvt-fix/business.md +28 -0
- package/sources/skills/mvt-fix/manifest.yaml +86 -0
- package/sources/skills/mvt-help/business.md +70 -0
- package/sources/skills/mvt-help/manifest.yaml +61 -0
- package/sources/skills/mvt-implement/business.md +32 -0
- package/sources/skills/mvt-implement/manifest.yaml +96 -0
- package/sources/skills/mvt-init/business.md +49 -0
- package/sources/skills/mvt-init/manifest.yaml +93 -0
- package/sources/skills/mvt-refactor/business.md +33 -0
- package/sources/skills/mvt-refactor/manifest.yaml +101 -0
- package/sources/skills/mvt-review/business.md +49 -0
- package/sources/skills/mvt-review/manifest.yaml +106 -0
- package/sources/skills/mvt-status/business.md +24 -0
- package/sources/skills/mvt-status/manifest.yaml +74 -0
- package/sources/skills/mvt-sync-context/business.md +25 -0
- package/sources/skills/mvt-sync-context/manifest.yaml +84 -0
- package/sources/skills/mvt-template/business.md +49 -0
- package/sources/skills/mvt-template/manifest.yaml +71 -0
- package/sources/skills/mvt-test/business.md +36 -0
- package/sources/skills/mvt-test/manifest.yaml +111 -0
- package/sources/templates/analyze-code-output/body.md +44 -0
- package/sources/templates/analyze-code-output/manifest.yaml +11 -0
- package/sources/templates/analyze-output/body.md +38 -0
- package/sources/templates/analyze-output/manifest.yaml +11 -0
- package/sources/templates/cleanup-output/body.md +9 -0
- package/sources/templates/cleanup-output/manifest.yaml +11 -0
- package/sources/templates/config-output/body.md +11 -0
- package/sources/templates/config-output/manifest.yaml +11 -0
- package/sources/templates/context-check-output/body.md +32 -0
- package/sources/templates/context-check-output/manifest.yaml +11 -0
- package/sources/templates/design-output/body.md +50 -0
- package/sources/templates/design-output/manifest.yaml +11 -0
- package/sources/templates/fix-output/body.md +30 -0
- package/sources/templates/fix-output/manifest.yaml +11 -0
- package/sources/templates/implement-output/body.md +32 -0
- package/sources/templates/implement-output/manifest.yaml +11 -0
- package/sources/templates/init-output/body.md +34 -0
- package/sources/templates/init-output/manifest.yaml +11 -0
- package/sources/templates/refactor-output/body.md +32 -0
- package/sources/templates/refactor-output/manifest.yaml +11 -0
- package/sources/templates/review-output/body.md +45 -0
- package/sources/templates/review-output/manifest.yaml +11 -0
- package/sources/templates/status-output/body.md +36 -0
- package/sources/templates/status-output/manifest.yaml +11 -0
- package/sources/templates/sync-context-output/body.md +16 -0
- package/sources/templates/sync-context-output/manifest.yaml +11 -0
- package/sources/templates/test-output/body.md +31 -0
- package/sources/templates/test-output/manifest.yaml +11 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrD,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;IACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACvC,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface SectionInline {
|
|
2
|
+
type: "inline";
|
|
3
|
+
content: string;
|
|
4
|
+
}
|
|
5
|
+
export interface SectionFile {
|
|
6
|
+
type: "file";
|
|
7
|
+
source: string;
|
|
8
|
+
}
|
|
9
|
+
export interface SectionShared {
|
|
10
|
+
type: "shared" | "template";
|
|
11
|
+
source: string;
|
|
12
|
+
params?: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
export type Section = SectionInline | SectionFile | SectionShared;
|
|
15
|
+
export interface Manifest {
|
|
16
|
+
name: string;
|
|
17
|
+
output: string;
|
|
18
|
+
frontmatter: Record<string, string>;
|
|
19
|
+
sections: Section[];
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,aAAa,CAAC;AAElE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface NextSuggestions {
|
|
2
|
+
primary: string;
|
|
3
|
+
primary_desc: string;
|
|
4
|
+
alternatives?: Array<{
|
|
5
|
+
skill: string;
|
|
6
|
+
when: string;
|
|
7
|
+
}>;
|
|
8
|
+
}
|
|
9
|
+
export interface SkillEntry {
|
|
10
|
+
agent: string;
|
|
11
|
+
description: string;
|
|
12
|
+
path: string;
|
|
13
|
+
template: string | null;
|
|
14
|
+
category: "workflow" | "shortcut" | "utility" | "project";
|
|
15
|
+
mode: string;
|
|
16
|
+
phase?: string | null;
|
|
17
|
+
depends_on?: string[];
|
|
18
|
+
next_suggestions?: NextSuggestions;
|
|
19
|
+
}
|
|
20
|
+
export interface Registry {
|
|
21
|
+
version: string;
|
|
22
|
+
last_updated: string;
|
|
23
|
+
skills: Record<string, SkillEntry>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,eAAe,CAAC;CACpC;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/util/color.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,KAAK;eACL,MAAM;gBACL,MAAM;aACT,MAAM;cACL,MAAM;cACN,MAAM;cACN,MAAM;CACjB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const useColor = process.stdout.isTTY && !process.env.NO_COLOR;
|
|
2
|
+
function wrap(code, text) {
|
|
3
|
+
return useColor ? `\x1b[${code}m${text}\x1b[0m` : text;
|
|
4
|
+
}
|
|
5
|
+
export const color = {
|
|
6
|
+
green: (s) => wrap(32, s),
|
|
7
|
+
yellow: (s) => wrap(33, s),
|
|
8
|
+
red: (s) => wrap(31, s),
|
|
9
|
+
cyan: (s) => wrap(36, s),
|
|
10
|
+
gray: (s) => wrap(90, s),
|
|
11
|
+
bold: (s) => wrap(1, s),
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=color.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/util/color.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAE/D,SAAS,IAAI,CAAC,IAAY,EAAE,IAAY;IACtC,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAClC,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;CAChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../src/util/package.ts"],"names":[],"mappings":"AAOA,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAKnC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
5
|
+
const __dirname = path.dirname(__filename);
|
|
6
|
+
export function getPackageRoot() {
|
|
7
|
+
return path.resolve(__dirname, "..", "..");
|
|
8
|
+
}
|
|
9
|
+
export function getVersion() {
|
|
10
|
+
const pkg = JSON.parse(readFileSync(path.resolve(getPackageRoot(), "package.json"), "utf-8"));
|
|
11
|
+
return pkg.version;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/util/package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CACtE,CAAC;IACF,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
|
|
3
|
+
generated:
|
|
4
|
+
- pattern: ".claude/skills/mvt-*/SKILL.md"
|
|
5
|
+
source: "build:skills"
|
|
6
|
+
- pattern: ".ai-agents/skills/_templates/*-output.md"
|
|
7
|
+
source: "build:templates"
|
|
8
|
+
- pattern: ".ai-agents/knowledge/core/**"
|
|
9
|
+
source: "copy:sources/knowledge/core/"
|
|
10
|
+
- pattern: ".ai-agents/knowledge/patterns/**"
|
|
11
|
+
source: "copy:sources/knowledge/patterns/"
|
|
12
|
+
- pattern: ".ai-agents/registry.yaml"
|
|
13
|
+
source: "copy:registry.yaml"
|
|
14
|
+
|
|
15
|
+
create_once:
|
|
16
|
+
- path: ".ai-agents/config.yaml"
|
|
17
|
+
source: "sources/defaults/config.yaml"
|
|
18
|
+
- path: ".ai-agents/workspace/session.yaml"
|
|
19
|
+
source: "sources/defaults/session.yaml"
|
|
20
|
+
- path: ".ai-agents/workspace/project-context.yaml"
|
|
21
|
+
source: "sources/defaults/project-context.yaml"
|
|
22
|
+
|
|
23
|
+
user_data_dirs:
|
|
24
|
+
- ".ai-agents/workspace/artifacts/"
|
|
25
|
+
- ".ai-agents/skills/_templates/custom/"
|
|
26
|
+
- ".ai-agents/knowledge/principle/"
|
|
27
|
+
- ".ai-agents/knowledge/project/"
|
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@uoyo/mvtt",
|
|
3
|
+
"version": "2.0.0-beta.0",
|
|
4
|
+
"description": "My Virtual Tech Team - AI-guided prompt orchestration framework",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"mvtt": "./dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist/",
|
|
11
|
+
"sources/",
|
|
12
|
+
"registry.yaml",
|
|
13
|
+
"install-manifest.yaml"
|
|
14
|
+
],
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": ">=18.0.0"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"ai",
|
|
20
|
+
"agents",
|
|
21
|
+
"prompt-engineering",
|
|
22
|
+
"claude-code",
|
|
23
|
+
"cli",
|
|
24
|
+
"orchestration"
|
|
25
|
+
],
|
|
26
|
+
"repository": {
|
|
27
|
+
"type": "git",
|
|
28
|
+
"url": "git+https://github.com/uoyoCsharp/My-Virtual-TechTeam.git"
|
|
29
|
+
},
|
|
30
|
+
"bugs": {
|
|
31
|
+
"url": "https://github.com/uoyoCsharp/My-Virtual-TechTeam/issues"
|
|
32
|
+
},
|
|
33
|
+
"homepage": "https://github.com/uoyoCsharp/My-Virtual-TechTeam#readme",
|
|
34
|
+
"publishConfig": {
|
|
35
|
+
"access": "public"
|
|
36
|
+
},
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": "tsc -p tsconfig.build.json",
|
|
39
|
+
"test": "vitest run",
|
|
40
|
+
"test:watch": "vitest",
|
|
41
|
+
"test:coverage": "vitest run --coverage",
|
|
42
|
+
"prepublishOnly": "npm run build && npm test"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@types/node": "^25.6.0",
|
|
46
|
+
"@types/prompts": "^2.4.9",
|
|
47
|
+
"@vitest/coverage-v8": "^2.1.9",
|
|
48
|
+
"typescript": "^5.4.0",
|
|
49
|
+
"vitest": "^2.0.0"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"commander": "^14.0.3",
|
|
53
|
+
"prompts": "^2.4.2",
|
|
54
|
+
"yaml": "^2.4.0"
|
|
55
|
+
},
|
|
56
|
+
"license": "MIT"
|
|
57
|
+
}
|
package/registry.yaml
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# MVTT Framework Registry (v2)
|
|
2
|
+
# Single source of truth for skill metadata. Consumed at build-time by mvtt CLI
|
|
3
|
+
# and at runtime by /mvt-status and /mvt-help.
|
|
4
|
+
|
|
5
|
+
version: "2.0"
|
|
6
|
+
last_updated: "2026-04-28"
|
|
7
|
+
|
|
8
|
+
skills:
|
|
9
|
+
# --- Conductor Skills ---
|
|
10
|
+
mvt-init:
|
|
11
|
+
agent: conductor
|
|
12
|
+
description: "Initialize or refresh a project with comprehensive analysis"
|
|
13
|
+
path: .claude/skills/mvt-init/SKILL.md
|
|
14
|
+
template: .ai-agents/skills/_templates/init-output.md
|
|
15
|
+
category: project
|
|
16
|
+
mode: independent
|
|
17
|
+
phase: null
|
|
18
|
+
depends_on: []
|
|
19
|
+
next_suggestions:
|
|
20
|
+
primary: mvt-analyze
|
|
21
|
+
primary_desc: "Start analyzing requirements"
|
|
22
|
+
|
|
23
|
+
mvt-status:
|
|
24
|
+
agent: conductor
|
|
25
|
+
description: "Show current project and workflow status"
|
|
26
|
+
path: .claude/skills/mvt-status/SKILL.md
|
|
27
|
+
template: .ai-agents/skills/_templates/status-output.md
|
|
28
|
+
category: project
|
|
29
|
+
mode: independent
|
|
30
|
+
phase: null
|
|
31
|
+
depends_on: []
|
|
32
|
+
|
|
33
|
+
mvt-config:
|
|
34
|
+
agent: conductor
|
|
35
|
+
description: "Interactive configuration management for framework settings"
|
|
36
|
+
path: .claude/skills/mvt-config/SKILL.md
|
|
37
|
+
template: .ai-agents/skills/_templates/config-output.md
|
|
38
|
+
category: project
|
|
39
|
+
mode: independent
|
|
40
|
+
phase: null
|
|
41
|
+
depends_on: []
|
|
42
|
+
|
|
43
|
+
mvt-sync-context:
|
|
44
|
+
agent: conductor
|
|
45
|
+
description: "Synchronize workspace context with code changes"
|
|
46
|
+
path: .claude/skills/mvt-sync-context/SKILL.md
|
|
47
|
+
template: .ai-agents/skills/_templates/sync-context-output.md
|
|
48
|
+
category: project
|
|
49
|
+
mode: independent
|
|
50
|
+
phase: null
|
|
51
|
+
depends_on: []
|
|
52
|
+
|
|
53
|
+
mvt-cleanup:
|
|
54
|
+
agent: conductor
|
|
55
|
+
description: "Clean up workspace artifacts and maintain workspace health"
|
|
56
|
+
path: .claude/skills/mvt-cleanup/SKILL.md
|
|
57
|
+
template: .ai-agents/skills/_templates/cleanup-output.md
|
|
58
|
+
category: project
|
|
59
|
+
mode: independent
|
|
60
|
+
phase: null
|
|
61
|
+
depends_on: []
|
|
62
|
+
|
|
63
|
+
# --- Analyst Skills ---
|
|
64
|
+
mvt-analyze:
|
|
65
|
+
agent: analyst
|
|
66
|
+
description: "Analyze requirements documents and extract domain concepts"
|
|
67
|
+
path: .claude/skills/mvt-analyze/SKILL.md
|
|
68
|
+
template: .ai-agents/skills/_templates/analyze-output.md
|
|
69
|
+
category: workflow
|
|
70
|
+
mode: full-workflow
|
|
71
|
+
phase: analyze
|
|
72
|
+
depends_on: []
|
|
73
|
+
next_suggestions:
|
|
74
|
+
primary: mvt-design
|
|
75
|
+
primary_desc: "Create architecture based on this analysis"
|
|
76
|
+
|
|
77
|
+
mvt-analyze-code:
|
|
78
|
+
agent: analyst
|
|
79
|
+
description: "Reverse-analyze existing code to generate context"
|
|
80
|
+
path: .claude/skills/mvt-analyze-code/SKILL.md
|
|
81
|
+
template: .ai-agents/skills/_templates/analyze-code-output.md
|
|
82
|
+
category: workflow
|
|
83
|
+
mode: independent
|
|
84
|
+
phase: null
|
|
85
|
+
depends_on: []
|
|
86
|
+
|
|
87
|
+
# --- Architect Skills ---
|
|
88
|
+
mvt-design:
|
|
89
|
+
agent: architect
|
|
90
|
+
description: "Create architecture design based on analyzed requirements"
|
|
91
|
+
path: .claude/skills/mvt-design/SKILL.md
|
|
92
|
+
template: .ai-agents/skills/_templates/design-output.md
|
|
93
|
+
category: workflow
|
|
94
|
+
mode: full-workflow
|
|
95
|
+
phase: design
|
|
96
|
+
depends_on: [mvt-analyze]
|
|
97
|
+
next_suggestions:
|
|
98
|
+
primary: mvt-implement
|
|
99
|
+
primary_desc: "Implement features based on this design"
|
|
100
|
+
|
|
101
|
+
# --- Developer Skills ---
|
|
102
|
+
mvt-implement:
|
|
103
|
+
agent: developer
|
|
104
|
+
description: "Implement features based on architecture design"
|
|
105
|
+
path: .claude/skills/mvt-implement/SKILL.md
|
|
106
|
+
template: .ai-agents/skills/_templates/implement-output.md
|
|
107
|
+
category: workflow
|
|
108
|
+
mode: full-workflow
|
|
109
|
+
phase: implement
|
|
110
|
+
depends_on: [mvt-design]
|
|
111
|
+
next_suggestions:
|
|
112
|
+
primary: mvt-review
|
|
113
|
+
primary_desc: "Review the implementation"
|
|
114
|
+
|
|
115
|
+
mvt-fix:
|
|
116
|
+
agent: developer
|
|
117
|
+
description: "Diagnose and fix bugs or issues in the codebase"
|
|
118
|
+
path: .claude/skills/mvt-fix/SKILL.md
|
|
119
|
+
template: .ai-agents/skills/_templates/fix-output.md
|
|
120
|
+
category: shortcut
|
|
121
|
+
mode: shortcut
|
|
122
|
+
phase: null
|
|
123
|
+
depends_on: []
|
|
124
|
+
|
|
125
|
+
mvt-refactor:
|
|
126
|
+
agent: developer
|
|
127
|
+
description: "Refactor existing code while preserving behavior"
|
|
128
|
+
path: .claude/skills/mvt-refactor/SKILL.md
|
|
129
|
+
template: .ai-agents/skills/_templates/refactor-output.md
|
|
130
|
+
category: shortcut
|
|
131
|
+
mode: shortcut
|
|
132
|
+
phase: null
|
|
133
|
+
depends_on: []
|
|
134
|
+
|
|
135
|
+
# --- Reviewer Skills ---
|
|
136
|
+
mvt-review:
|
|
137
|
+
agent: reviewer
|
|
138
|
+
description: "Perform code review for quality and standards compliance"
|
|
139
|
+
path: .claude/skills/mvt-review/SKILL.md
|
|
140
|
+
template: .ai-agents/skills/_templates/review-output.md
|
|
141
|
+
category: workflow
|
|
142
|
+
mode: full-workflow
|
|
143
|
+
phase: review
|
|
144
|
+
depends_on: [mvt-implement]
|
|
145
|
+
next_suggestions:
|
|
146
|
+
primary: mvt-fix
|
|
147
|
+
primary_desc: "Address critical issues"
|
|
148
|
+
|
|
149
|
+
# --- Tester Skills ---
|
|
150
|
+
mvt-test:
|
|
151
|
+
agent: tester
|
|
152
|
+
description: "Generate and design tests to validate implementations"
|
|
153
|
+
path: .claude/skills/mvt-test/SKILL.md
|
|
154
|
+
template: .ai-agents/skills/_templates/test-output.md
|
|
155
|
+
category: workflow
|
|
156
|
+
mode: full-workflow
|
|
157
|
+
phase: test
|
|
158
|
+
depends_on: [mvt-implement]
|
|
159
|
+
|
|
160
|
+
# --- Utility Skills ---
|
|
161
|
+
mvt-help:
|
|
162
|
+
agent: conductor
|
|
163
|
+
description: "Show available skills, current project status, and workflow guidance"
|
|
164
|
+
path: .claude/skills/mvt-help/SKILL.md
|
|
165
|
+
template: null
|
|
166
|
+
category: utility
|
|
167
|
+
mode: independent
|
|
168
|
+
phase: null
|
|
169
|
+
depends_on: []
|
|
170
|
+
|
|
171
|
+
mvt-create-skill:
|
|
172
|
+
agent: conductor
|
|
173
|
+
description: "Create custom MVTT skills through interactive guided workflow"
|
|
174
|
+
path: .claude/skills/mvt-create-skill/SKILL.md
|
|
175
|
+
template: null
|
|
176
|
+
category: utility
|
|
177
|
+
mode: independent
|
|
178
|
+
phase: null
|
|
179
|
+
depends_on: []
|
|
180
|
+
|
|
181
|
+
mvt-add-context:
|
|
182
|
+
agent: conductor
|
|
183
|
+
description: "Interactively add or update project context information"
|
|
184
|
+
path: .claude/skills/mvt-add-context/SKILL.md
|
|
185
|
+
template: null
|
|
186
|
+
category: utility
|
|
187
|
+
mode: independent
|
|
188
|
+
phase: null
|
|
189
|
+
depends_on: []
|
|
190
|
+
|
|
191
|
+
mvt-check-context:
|
|
192
|
+
agent: conductor
|
|
193
|
+
description: "Analyze context token load and give optimization recommendations"
|
|
194
|
+
path: .claude/skills/mvt-check-context/SKILL.md
|
|
195
|
+
template: .ai-agents/skills/_templates/context-check-output.md
|
|
196
|
+
category: utility
|
|
197
|
+
mode: independent
|
|
198
|
+
phase: null
|
|
199
|
+
depends_on: []
|
|
200
|
+
|
|
201
|
+
mvt-template:
|
|
202
|
+
agent: conductor
|
|
203
|
+
description: "View, customize, and manage output templates for MVTT skills"
|
|
204
|
+
path: .claude/skills/mvt-template/SKILL.md
|
|
205
|
+
template: null
|
|
206
|
+
category: utility
|
|
207
|
+
mode: independent
|
|
208
|
+
phase: null
|
|
209
|
+
depends_on: []
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# MVTT Framework - User Configuration
|
|
2
|
+
# Unified config center: all skills read and enforce these settings via Activation Protocol
|
|
3
|
+
# Modify via: /mvt-config or edit directly
|
|
4
|
+
|
|
5
|
+
version: "2.0"
|
|
6
|
+
|
|
7
|
+
# ============================================================
|
|
8
|
+
# User Preferences (enforced by Activation Protocol Step 2)
|
|
9
|
+
# ============================================================
|
|
10
|
+
preferences:
|
|
11
|
+
# Output language for all skill responses and document artifacts
|
|
12
|
+
# Options: en-US, zh-CN
|
|
13
|
+
language: en-US
|
|
14
|
+
|
|
15
|
+
# Output style
|
|
16
|
+
output:
|
|
17
|
+
no_emojis: true # Disable emojis in output
|
|
18
|
+
data_format: yaml # Data output format: yaml | json
|
|
19
|
+
|
|
20
|
+
# ============================================================
|
|
21
|
+
# Pattern Settings
|
|
22
|
+
# ============================================================
|
|
23
|
+
pattern:
|
|
24
|
+
# Active architecture pattern
|
|
25
|
+
# Use /mvt-init to auto-detect or /mvt-config to change
|
|
26
|
+
active: ""
|
|
27
|
+
|
|
28
|
+
selection:
|
|
29
|
+
auto_detect: true
|
|
30
|
+
confirm_with_user: true
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Unified Project Context
|
|
2
|
+
# Merges: project.yaml + architecture.yaml + requirements.yaml + decisions.yaml
|
|
3
|
+
|
|
4
|
+
project:
|
|
5
|
+
name: ""
|
|
6
|
+
type: ""
|
|
7
|
+
initialized_at: ""
|
|
8
|
+
tech_stack:
|
|
9
|
+
language: ""
|
|
10
|
+
framework: ""
|
|
11
|
+
build_tool: ""
|
|
12
|
+
test_framework: ""
|
|
13
|
+
|
|
14
|
+
# Requirements summary (written by #analyze)
|
|
15
|
+
requirements:
|
|
16
|
+
features: []
|
|
17
|
+
actors: []
|
|
18
|
+
business_rules: []
|
|
19
|
+
clarifications: []
|
|
20
|
+
|
|
21
|
+
# Architecture design (written by #design)
|
|
22
|
+
architecture:
|
|
23
|
+
overview: ""
|
|
24
|
+
modules: []
|
|
25
|
+
components: []
|
|
26
|
+
decisions: [] # ADR list (merged from former decisions.yaml)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Workspace Session State
|
|
2
|
+
# Simplified session state — only fields LLM actually needs
|
|
3
|
+
|
|
4
|
+
session:
|
|
5
|
+
initialized_at: ""
|
|
6
|
+
last_command: ""
|
|
7
|
+
|
|
8
|
+
# Current active change (created by #analyze)
|
|
9
|
+
active_change:
|
|
10
|
+
id: ""
|
|
11
|
+
title: ""
|
|
12
|
+
created_at: ""
|
|
13
|
+
|
|
14
|
+
# Workflow progress (simplified: pending | done)
|
|
15
|
+
progress:
|
|
16
|
+
analyze: pending
|
|
17
|
+
design: pending
|
|
18
|
+
implement: pending
|
|
19
|
+
review: pending
|
|
20
|
+
test: pending
|
|
21
|
+
|
|
22
|
+
# Recent actions (append-only, keep max 3)
|
|
23
|
+
recent_actions: []
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
id: "core"
|
|
2
|
+
type: "core"
|
|
3
|
+
name: "Core Knowledge"
|
|
4
|
+
version: "1.0"
|
|
5
|
+
description: "Actionable review principles for code quality"
|
|
6
|
+
|
|
7
|
+
token_estimate:
|
|
8
|
+
total: 800
|
|
9
|
+
breakdown:
|
|
10
|
+
- file: review-principles.md
|
|
11
|
+
tokens: 800
|
|
12
|
+
load_priority: 1
|
|
13
|
+
summary: "Naming, SRP, dependency direction, error handling, duplication, state, testing checklist"
|
|
14
|
+
|
|
15
|
+
loading_strategy:
|
|
16
|
+
level_1_overview:
|
|
17
|
+
description: "Read manifest only for summary"
|
|
18
|
+
tokens: 100
|
|
19
|
+
use_case: "Check available knowledge"
|
|
20
|
+
|
|
21
|
+
level_2_full:
|
|
22
|
+
description: "Load complete knowledge files"
|
|
23
|
+
tokens: 800
|
|
24
|
+
use_case: "Complete principles reference"
|
|
25
|
+
|
|
26
|
+
loading:
|
|
27
|
+
priority: 1
|
|
28
|
+
auto_load: true
|
|
29
|
+
|
|
30
|
+
files:
|
|
31
|
+
- path: "review-principles.md"
|
|
32
|
+
description: "Actionable code review checklist: naming, SRP, dependencies, errors, duplication, state, testing"
|
|
33
|
+
required: true
|
|
34
|
+
tokens: 800
|
|
35
|
+
|
|
36
|
+
attributes:
|
|
37
|
+
checklist: []
|
|
38
|
+
|
|
39
|
+
scenarios:
|
|
40
|
+
- name: "Code review"
|
|
41
|
+
files: ["review-principles.md"]
|
|
42
|
+
|
|
43
|
+
- name: "Refactoring guidance"
|
|
44
|
+
files: ["review-principles.md"]
|
|
45
|
+
|
|
46
|
+
- name: "Architecture design"
|
|
47
|
+
files: ["review-principles.md"]
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Code Review Principles
|
|
2
|
+
|
|
3
|
+
Actionable checklist for reviewing code quality. Use during `#review` and as reference during `#implement`.
|
|
4
|
+
|
|
5
|
+
## Naming & Readability
|
|
6
|
+
|
|
7
|
+
- [ ] Classes/functions named by **what they do**, not how they do it
|
|
8
|
+
- [ ] No abbreviations unless universally understood (e.g., `id`, `url`, `http`)
|
|
9
|
+
- [ ] Boolean variables/methods start with `is`, `has`, `can`, `should`
|
|
10
|
+
- [ ] Collections named as plural nouns; single items as singular
|
|
11
|
+
- [ ] No "Manager", "Helper", "Utils" god-classes — split by responsibility
|
|
12
|
+
|
|
13
|
+
## Single Responsibility
|
|
14
|
+
|
|
15
|
+
- [ ] Each class/module has **one reason to change**
|
|
16
|
+
- [ ] Functions do **one thing** and are ≤ 30 lines (guideline, not hard rule)
|
|
17
|
+
- [ ] If you need "and" to describe what a function does → split it
|
|
18
|
+
|
|
19
|
+
## Dependency Direction
|
|
20
|
+
|
|
21
|
+
- [ ] Business logic does NOT import framework/infrastructure code
|
|
22
|
+
- [ ] Dependencies point **inward** (infrastructure → application → domain)
|
|
23
|
+
- [ ] External services accessed through **interfaces/abstractions**
|
|
24
|
+
- [ ] No circular dependencies between modules
|
|
25
|
+
|
|
26
|
+
## Error Handling
|
|
27
|
+
|
|
28
|
+
- [ ] Errors are handled at the **appropriate level** (not swallowed silently)
|
|
29
|
+
- [ ] Fail fast: validate inputs at entry points
|
|
30
|
+
- [ ] No empty catch blocks
|
|
31
|
+
- [ ] Error messages include **context** (what failed, why, what to do)
|
|
32
|
+
|
|
33
|
+
## Duplication & Abstraction
|
|
34
|
+
|
|
35
|
+
- [ ] No copy-paste blocks — extract shared logic into functions
|
|
36
|
+
- [ ] But: don't merge similar-looking code that changes for **different reasons**
|
|
37
|
+
- [ ] Abstractions are justified by **current** requirements, not hypothetical ones
|
|
38
|
+
- [ ] No dead code or commented-out blocks
|
|
39
|
+
|
|
40
|
+
## State & Side Effects
|
|
41
|
+
|
|
42
|
+
- [ ] Mutable state is **minimized** and localized
|
|
43
|
+
- [ ] Functions clearly indicate whether they have side effects
|
|
44
|
+
- [ ] No hidden global state mutations
|
|
45
|
+
- [ ] Concurrent access to shared state is protected
|
|
46
|
+
|
|
47
|
+
## Testing Indicators
|
|
48
|
+
|
|
49
|
+
- [ ] Public API has clear contracts that are testable
|
|
50
|
+
- [ ] Dependencies are injectable (not hard-coded `new`)
|
|
51
|
+
- [ ] No logic in constructors that makes testing difficult
|