@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.
Files changed (163) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +209 -0
  3. package/dist/build/assembler.d.ts +6 -0
  4. package/dist/build/assembler.d.ts.map +1 -0
  5. package/dist/build/assembler.js +32 -0
  6. package/dist/build/assembler.js.map +1 -0
  7. package/dist/build/section-loader.d.ts +4 -0
  8. package/dist/build/section-loader.d.ts.map +1 -0
  9. package/dist/build/section-loader.js +55 -0
  10. package/dist/build/section-loader.js.map +1 -0
  11. package/dist/build/validator.d.ts +6 -0
  12. package/dist/build/validator.d.ts.map +1 -0
  13. package/dist/build/validator.js +77 -0
  14. package/dist/build/validator.js.map +1 -0
  15. package/dist/cli.d.ts +2 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js +49 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/commands/build.d.ts +5 -0
  20. package/dist/commands/build.d.ts.map +1 -0
  21. package/dist/commands/build.js +46 -0
  22. package/dist/commands/build.js.map +1 -0
  23. package/dist/commands/doctor.d.ts +2 -0
  24. package/dist/commands/doctor.d.ts.map +1 -0
  25. package/dist/commands/doctor.js +79 -0
  26. package/dist/commands/doctor.js.map +1 -0
  27. package/dist/commands/install.d.ts +5 -0
  28. package/dist/commands/install.d.ts.map +1 -0
  29. package/dist/commands/install.js +63 -0
  30. package/dist/commands/install.js.map +1 -0
  31. package/dist/commands/shared.d.ts +2 -0
  32. package/dist/commands/shared.d.ts.map +1 -0
  33. package/dist/commands/shared.js +2 -0
  34. package/dist/commands/shared.js.map +1 -0
  35. package/dist/commands/uninstall.d.ts +2 -0
  36. package/dist/commands/uninstall.d.ts.map +1 -0
  37. package/dist/commands/uninstall.js +56 -0
  38. package/dist/commands/uninstall.js.map +1 -0
  39. package/dist/commands/update.d.ts +5 -0
  40. package/dist/commands/update.d.ts.map +1 -0
  41. package/dist/commands/update.js +59 -0
  42. package/dist/commands/update.js.map +1 -0
  43. package/dist/fs/hash.d.ts +3 -0
  44. package/dist/fs/hash.d.ts.map +1 -0
  45. package/dist/fs/hash.js +10 -0
  46. package/dist/fs/hash.js.map +1 -0
  47. package/dist/fs/install-manifest.d.ts +16 -0
  48. package/dist/fs/install-manifest.d.ts.map +1 -0
  49. package/dist/fs/install-manifest.js +29 -0
  50. package/dist/fs/install-manifest.js.map +1 -0
  51. package/dist/fs/materialize.d.ts +14 -0
  52. package/dist/fs/materialize.d.ts.map +1 -0
  53. package/dist/fs/materialize.js +116 -0
  54. package/dist/fs/materialize.js.map +1 -0
  55. package/dist/fs/protection.d.ts +15 -0
  56. package/dist/fs/protection.d.ts.map +1 -0
  57. package/dist/fs/protection.js +16 -0
  58. package/dist/fs/protection.js.map +1 -0
  59. package/dist/index.d.ts +3 -0
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/index.js +17 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/types/manifest.d.ts +21 -0
  64. package/dist/types/manifest.d.ts.map +1 -0
  65. package/dist/types/manifest.js +2 -0
  66. package/dist/types/manifest.js.map +1 -0
  67. package/dist/types/registry.d.ts +25 -0
  68. package/dist/types/registry.d.ts.map +1 -0
  69. package/dist/types/registry.js +2 -0
  70. package/dist/types/registry.js.map +1 -0
  71. package/dist/util/color.d.ts +9 -0
  72. package/dist/util/color.d.ts.map +1 -0
  73. package/dist/util/color.js +13 -0
  74. package/dist/util/color.js.map +1 -0
  75. package/dist/util/package.d.ts +3 -0
  76. package/dist/util/package.d.ts.map +1 -0
  77. package/dist/util/package.js +13 -0
  78. package/dist/util/package.js.map +1 -0
  79. package/install-manifest.yaml +27 -0
  80. package/package.json +57 -0
  81. package/registry.yaml +209 -0
  82. package/sources/defaults/config.yaml +30 -0
  83. package/sources/defaults/project-context.yaml +26 -0
  84. package/sources/defaults/session.yaml +23 -0
  85. package/sources/knowledge/core/manifest.yaml +47 -0
  86. package/sources/knowledge/core/review-principles.md +51 -0
  87. package/sources/knowledge/patterns/clean-architecture/manifest.yaml +66 -0
  88. package/sources/knowledge/patterns/clean-architecture/review-checklist.md +230 -0
  89. package/sources/knowledge/patterns/ddd/manifest.yaml +83 -0
  90. package/sources/knowledge/patterns/ddd/review-checklist.md +226 -0
  91. package/sources/knowledge/patterns/ddd/tactical-patterns.md +12 -0
  92. package/sources/knowledge/patterns/frontend-react/manifest.yaml +44 -0
  93. package/sources/knowledge/patterns/frontend-react/review-checklist.md +78 -0
  94. package/sources/knowledge/patterns/manifest.yaml +113 -0
  95. package/sources/sections/activation-load-config.md +5 -0
  96. package/sources/sections/activation-load-context.md +11 -0
  97. package/sources/sections/activation-preflight.md +4 -0
  98. package/sources/sections/footer-next-steps.md +9 -0
  99. package/sources/sections/role-header.md +13 -0
  100. package/sources/skills/mvt-add-context/business.md +47 -0
  101. package/sources/skills/mvt-add-context/manifest.yaml +83 -0
  102. package/sources/skills/mvt-analyze/business.md +33 -0
  103. package/sources/skills/mvt-analyze/manifest.yaml +89 -0
  104. package/sources/skills/mvt-analyze-code/business.md +35 -0
  105. package/sources/skills/mvt-analyze-code/manifest.yaml +88 -0
  106. package/sources/skills/mvt-check-context/business.md +42 -0
  107. package/sources/skills/mvt-check-context/manifest.yaml +74 -0
  108. package/sources/skills/mvt-cleanup/business.md +31 -0
  109. package/sources/skills/mvt-cleanup/manifest.yaml +93 -0
  110. package/sources/skills/mvt-config/business.md +26 -0
  111. package/sources/skills/mvt-config/manifest.yaml +108 -0
  112. package/sources/skills/mvt-create-skill/business.md +111 -0
  113. package/sources/skills/mvt-create-skill/manifest.yaml +79 -0
  114. package/sources/skills/mvt-design/business.md +34 -0
  115. package/sources/skills/mvt-design/manifest.yaml +105 -0
  116. package/sources/skills/mvt-fix/business.md +28 -0
  117. package/sources/skills/mvt-fix/manifest.yaml +86 -0
  118. package/sources/skills/mvt-help/business.md +70 -0
  119. package/sources/skills/mvt-help/manifest.yaml +61 -0
  120. package/sources/skills/mvt-implement/business.md +32 -0
  121. package/sources/skills/mvt-implement/manifest.yaml +96 -0
  122. package/sources/skills/mvt-init/business.md +49 -0
  123. package/sources/skills/mvt-init/manifest.yaml +93 -0
  124. package/sources/skills/mvt-refactor/business.md +33 -0
  125. package/sources/skills/mvt-refactor/manifest.yaml +101 -0
  126. package/sources/skills/mvt-review/business.md +49 -0
  127. package/sources/skills/mvt-review/manifest.yaml +106 -0
  128. package/sources/skills/mvt-status/business.md +24 -0
  129. package/sources/skills/mvt-status/manifest.yaml +74 -0
  130. package/sources/skills/mvt-sync-context/business.md +25 -0
  131. package/sources/skills/mvt-sync-context/manifest.yaml +84 -0
  132. package/sources/skills/mvt-template/business.md +49 -0
  133. package/sources/skills/mvt-template/manifest.yaml +71 -0
  134. package/sources/skills/mvt-test/business.md +36 -0
  135. package/sources/skills/mvt-test/manifest.yaml +111 -0
  136. package/sources/templates/analyze-code-output/body.md +44 -0
  137. package/sources/templates/analyze-code-output/manifest.yaml +11 -0
  138. package/sources/templates/analyze-output/body.md +38 -0
  139. package/sources/templates/analyze-output/manifest.yaml +11 -0
  140. package/sources/templates/cleanup-output/body.md +9 -0
  141. package/sources/templates/cleanup-output/manifest.yaml +11 -0
  142. package/sources/templates/config-output/body.md +11 -0
  143. package/sources/templates/config-output/manifest.yaml +11 -0
  144. package/sources/templates/context-check-output/body.md +32 -0
  145. package/sources/templates/context-check-output/manifest.yaml +11 -0
  146. package/sources/templates/design-output/body.md +50 -0
  147. package/sources/templates/design-output/manifest.yaml +11 -0
  148. package/sources/templates/fix-output/body.md +30 -0
  149. package/sources/templates/fix-output/manifest.yaml +11 -0
  150. package/sources/templates/implement-output/body.md +32 -0
  151. package/sources/templates/implement-output/manifest.yaml +11 -0
  152. package/sources/templates/init-output/body.md +34 -0
  153. package/sources/templates/init-output/manifest.yaml +11 -0
  154. package/sources/templates/refactor-output/body.md +32 -0
  155. package/sources/templates/refactor-output/manifest.yaml +11 -0
  156. package/sources/templates/review-output/body.md +45 -0
  157. package/sources/templates/review-output/manifest.yaml +11 -0
  158. package/sources/templates/status-output/body.md +36 -0
  159. package/sources/templates/status-output/manifest.yaml +11 -0
  160. package/sources/templates/sync-context-output/body.md +16 -0
  161. package/sources/templates/sync-context-output/manifest.yaml +11 -0
  162. package/sources/templates/test-output/body.md +31 -0
  163. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=manifest.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export declare const color: {
2
+ green: (s: string) => string;
3
+ yellow: (s: string) => string;
4
+ red: (s: string) => string;
5
+ cyan: (s: string) => string;
6
+ gray: (s: string) => string;
7
+ bold: (s: string) => string;
8
+ };
9
+ //# sourceMappingURL=color.d.ts.map
@@ -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,3 @@
1
+ export declare function getPackageRoot(): string;
2
+ export declare function getVersion(): string;
3
+ //# sourceMappingURL=package.d.ts.map
@@ -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