@uoyo/mvtt 2.0.0-beta.1 → 2.0.0-beta.3

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 (84) hide show
  1. package/README.md +184 -193
  2. package/dist/build/section-loader.d.ts.map +1 -1
  3. package/dist/build/section-loader.js +18 -8
  4. package/dist/build/section-loader.js.map +1 -1
  5. package/dist/fs/materialize.d.ts.map +1 -1
  6. package/dist/fs/materialize.js +5 -0
  7. package/dist/fs/materialize.js.map +1 -1
  8. package/dist/scripts/session-update.cjs +7568 -0
  9. package/install-manifest.yaml +2 -0
  10. package/package.json +3 -2
  11. package/registry.yaml +6 -0
  12. package/sources/defaults/config.yaml +7 -7
  13. package/sources/defaults/session.yaml +9 -16
  14. package/sources/scripts/session-update.js +351 -0
  15. package/sources/sections/activation-load-context.md +4 -0
  16. package/sources/sections/footer-next-steps.md +1 -1
  17. package/sources/sections/output-language-constraint.md +11 -11
  18. package/sources/sections/session-update.md +115 -47
  19. package/sources/skills/mvt-analyze/business.md +7 -7
  20. package/sources/skills/mvt-analyze/manifest.yaml +1 -0
  21. package/sources/skills/mvt-analyze-code/manifest.yaml +110 -96
  22. package/sources/skills/mvt-bug-detect/business.md +99 -0
  23. package/sources/skills/mvt-bug-detect/manifest.yaml +84 -0
  24. package/sources/skills/mvt-check-context/business.md +3 -5
  25. package/sources/skills/mvt-check-context/manifest.yaml +70 -63
  26. package/sources/skills/mvt-cleanup/business.md +49 -23
  27. package/sources/skills/mvt-cleanup/manifest.yaml +15 -10
  28. package/sources/skills/mvt-config/business.md +1 -2
  29. package/sources/skills/mvt-config/manifest.yaml +103 -96
  30. package/sources/skills/mvt-create-skill/business.md +84 -76
  31. package/sources/skills/mvt-create-skill/manifest.yaml +107 -95
  32. package/sources/skills/mvt-design/business.md +3 -6
  33. package/sources/skills/mvt-design/manifest.yaml +109 -96
  34. package/sources/skills/mvt-fix/business.md +39 -9
  35. package/sources/skills/mvt-fix/manifest.yaml +88 -72
  36. package/sources/skills/mvt-help/business.md +2 -4
  37. package/sources/skills/mvt-help/manifest.yaml +75 -67
  38. package/sources/skills/mvt-implement/business.md +4 -5
  39. package/sources/skills/mvt-implement/manifest.yaml +93 -80
  40. package/sources/skills/mvt-init/business.md +2 -2
  41. package/sources/skills/mvt-init/manifest.yaml +102 -101
  42. package/sources/skills/mvt-manage-context/business.md +186 -175
  43. package/sources/skills/mvt-manage-context/manifest.yaml +134 -123
  44. package/sources/skills/mvt-plan-dev/business.md +101 -20
  45. package/sources/skills/mvt-plan-dev/manifest.yaml +90 -91
  46. package/sources/skills/mvt-quick-dev/business.md +2 -1
  47. package/sources/skills/mvt-quick-dev/manifest.yaml +84 -69
  48. package/sources/skills/mvt-refactor/business.md +2 -1
  49. package/sources/skills/mvt-refactor/manifest.yaml +104 -86
  50. package/sources/skills/mvt-resume/business.md +28 -68
  51. package/sources/skills/mvt-resume/manifest.yaml +81 -71
  52. package/sources/skills/mvt-review/business.md +3 -3
  53. package/sources/skills/mvt-review/manifest.yaml +108 -87
  54. package/sources/skills/mvt-status/business.md +14 -18
  55. package/sources/skills/mvt-status/manifest.yaml +74 -66
  56. package/sources/skills/mvt-sync-context/business.md +155 -150
  57. package/sources/skills/mvt-sync-context/manifest.yaml +99 -96
  58. package/sources/skills/mvt-template/business.md +0 -2
  59. package/sources/skills/mvt-template/manifest.yaml +68 -63
  60. package/sources/skills/mvt-test/business.md +3 -3
  61. package/sources/skills/mvt-test/manifest.yaml +115 -102
  62. package/sources/skills/mvt-update-plan/business.md +83 -72
  63. package/sources/skills/mvt-update-plan/manifest.yaml +124 -132
  64. package/sources/templates/analyze-output/body.md +15 -15
  65. package/sources/templates/design-output/body.md +17 -17
  66. package/sources/templates/implement-output/body.md +11 -11
  67. package/sources/templates/review-output/body.md +11 -11
  68. package/sources/templates/test-output/body.md +7 -7
  69. package/dist/build/plan-validator.d.ts +0 -26
  70. package/dist/build/plan-validator.d.ts.map +0 -1
  71. package/dist/build/plan-validator.js +0 -225
  72. package/dist/build/plan-validator.js.map +0 -1
  73. package/dist/commands/build.d.ts +0 -5
  74. package/dist/commands/build.d.ts.map +0 -1
  75. package/dist/commands/build.js +0 -46
  76. package/dist/commands/build.js.map +0 -1
  77. package/dist/commands/migrate.d.ts +0 -18
  78. package/dist/commands/migrate.d.ts.map +0 -1
  79. package/dist/commands/migrate.js +0 -163
  80. package/dist/commands/migrate.js.map +0 -1
  81. package/dist/fs/protection.d.ts +0 -15
  82. package/dist/fs/protection.d.ts.map +0 -1
  83. package/dist/fs/protection.js +0 -16
  84. package/dist/fs/protection.js.map +0 -1
@@ -59,8 +59,7 @@
59
59
  3. UI/frontend changes: per project rules, ask user to verify in browser; do NOT claim "tested" if you only ran type-check.
60
60
 
61
61
  ### Step 7: Write Artifact
62
- - **Path**: `.ai-agents/workspace/artifacts/{active_change.id}/implementation.md`.
63
- - **Template**: `.ai-agents/skills/_templates/implement-output.md` (custom override at `_templates/custom/...` takes precedence).
62
+ - **Path and template**: as defined in the **Artifact Structure** section below.
64
63
  - **Required content** (mapped to template headings):
65
64
  - `Implementation Summary` -- one paragraph: what was built, scope.
66
65
  - `Files Touched` -- table: path | create/modify/delete | one-line intent.
@@ -73,10 +72,10 @@
73
72
  ### Step 8: Plan-Aware Progress Hint (if applicable)
74
73
  - If `plan.yaml` exists and a single `current_task` covers this implementation, suggest the user run `/mvt-update-plan <task-id> done` (or `blocked` with reason).
75
74
  - Do NOT modify `plan.yaml` directly from this skill; it is owned by `/mvt-update-plan`.
76
- - Do NOT modify `recent_changes` directly; it is owned by `/mvt-plan-dev` / `/mvt-update-plan`.
75
+ - Do NOT modify `changes` directly; it is owned by `/mvt-plan-dev` / `/mvt-update-plan`.
77
76
 
78
- ### Step 9: (session update handled by shared section)
79
- - Standard `skill_history` entry must include `change_id`. All other state mutations are delegated.
77
+ ### Step 9: State Update
78
+ Apply the State Update rules defined in the **State Update** section below.
80
79
 
81
80
  ## Edge Cases & Errors
82
81
 
@@ -1,80 +1,93 @@
1
- name: mvt-implement
2
- output: .claude/skills/mvt-implement/SKILL.md
3
-
4
- frontmatter:
5
- name: mvt-implement
6
- description: "Implement features based on architecture design. This skill should be used when user wants to implement a feature, write production code, or translate design blueprints into working code."
7
-
8
- sections:
9
- - type: inline
10
- content: |
11
- # MVT Implement
12
-
13
- ## Purpose
14
-
15
- Write production code based on architecture designs. Follow established module boundaries, layer constraints, and coding standards.
16
-
17
- - type: shared
18
- source: sections/role-header.md
19
- params:
20
- role: Developer
21
- role_desc: "an Implementation Specialist"
22
- decision_rules:
23
- - rule: "Architecture design exists -> Follow the module boundaries, interfaces, and patterns defined in it"
24
- - rule: "Architecture missing -> Warn that `/mvt-design` is recommended, proceed if user confirms"
25
- - rule: "Code requires new module not in design -> Stop and flag for Architect via `/mvt-design`"
26
- - rule: "Multiple implementation approaches -> Pick the simplest that satisfies requirements; note alternatives"
27
- - rule: "Error handling needed -> Add for external boundaries (user input, APIs, I/O); trust internal code"
28
- - rule: "Existing tests cover changed code -> Mention which tests may need updating"
29
- boundaries:
30
- - scope: "re-analyze requirements"
31
- skill: "/mvt-analyze"
32
- - scope: "evaluate or change architecture"
33
- skill: "/mvt-design"
34
- - scope: "review own code"
35
- skill: "/mvt-review"
36
-
37
- - type: shared
38
- source: sections/activation-load-context.md
39
-
40
- - type: shared
41
- source: sections/activation-load-config.md
42
-
43
- - type: shared
44
- source: sections/output-language-constraint.md
45
-
46
- - type: shared
47
- source: sections/activation-preflight.md
48
- params:
49
- checks:
50
- - order: "1"
51
- field: "session.initialized_at"
52
- level: "BLOCK"
53
- message: "Session not initialized. Run `/mvt-init` first."
54
- - order: "2"
55
- field: "projects[] in project-context.yaml"
56
- level: "BLOCK"
57
- message: "Project not initialized. Run `/mvt-init` first."
58
- - order: "3"
59
- field: "modules in project-context.md"
60
- level: "WARN"
61
- message: "No architecture defined. Run `/mvt-design` first. (allow user to proceed)"
62
-
63
- - type: file
64
- source: ./business.md
65
-
66
- - type: inline
67
- content: |
68
- ## Artifact Structure
69
- Read the document structure template from: `.ai-agents/skills/_templates/implement-output.md`
70
- If a custom version exists at `.ai-agents/skills/_templates/custom/implement-output.md`, use the custom version instead.
71
- The template defines section headings only. Generate content for each section based on implementation results.
72
- Write the artifact to: `.ai-agents/workspace/artifacts/{change-id}/implementation.md`
73
-
74
- - type: shared
75
- source: sections/session-update.md
76
-
77
- - type: shared
78
- source: sections/footer-next-steps.md
79
- params:
80
- current_skill: mvt-implement
1
+ name: mvt-implement
2
+ output: .claude/skills/mvt-implement/SKILL.md
3
+
4
+ frontmatter:
5
+ name: mvt-implement
6
+ description: "Implement features based on architecture design. This skill should be used when user wants to implement a feature, write production code, or translate design blueprints into working code."
7
+
8
+ sections:
9
+ - type: inline
10
+ content: |
11
+ # MVT Implement
12
+
13
+ ## Purpose
14
+
15
+ Write production code based on architecture designs. Follow established module boundaries, layer constraints, and coding standards.
16
+
17
+ - type: shared
18
+ source: sections/role-header.md
19
+ params:
20
+ role: Developer
21
+ role_desc: "an Implementation Specialist"
22
+ decision_rules:
23
+ - rule: "Architecture design exists -> Follow the module boundaries, interfaces, and patterns defined in it"
24
+ - rule: "Architecture missing -> Warn that `/mvt-design` is recommended, proceed if user confirms"
25
+ - rule: "Code requires new module not in design -> Stop and flag for Architect via `/mvt-design`"
26
+ - rule: "Multiple implementation approaches -> Pick the simplest that satisfies requirements; note alternatives"
27
+ - rule: "Error handling needed -> Add for external boundaries (user input, APIs, I/O); trust internal code"
28
+ - rule: "Existing tests cover changed code -> Mention which tests may need updating"
29
+ boundaries:
30
+ - scope: "re-analyze requirements"
31
+ skill: "/mvt-analyze"
32
+ - scope: "evaluate or change architecture"
33
+ skill: "/mvt-design"
34
+ - scope: "review own code"
35
+ skill: "/mvt-review"
36
+
37
+ - type: shared
38
+ source: sections/activation-load-context.md
39
+
40
+ - type: shared
41
+ source: sections/activation-load-config.md
42
+
43
+ - type: shared
44
+ source: sections/output-language-constraint.md
45
+
46
+ - type: shared
47
+ source: sections/activation-preflight.md
48
+ params:
49
+ checks:
50
+ - order: "1"
51
+ field: "session.initialized_at"
52
+ level: "BLOCK"
53
+ message: "Session not initialized. Run `/mvt-init` first."
54
+ - order: "2"
55
+ field: "projects[] in project-context.yaml"
56
+ level: "BLOCK"
57
+ message: "Project not initialized. Run `/mvt-init` first."
58
+ - order: "3"
59
+ field: "modules in project-context.md"
60
+ level: "WARN"
61
+ message: "No architecture defined. Run `/mvt-design` first. (allow user to proceed)"
62
+
63
+ - type: file
64
+ source: ./business.md
65
+
66
+ - type: inline
67
+ content: |
68
+ ## Artifact Structure
69
+ Read the document structure template from: `.ai-agents/skills/_templates/implement-output.md`
70
+ If a custom version exists at `.ai-agents/skills/_templates/custom/implement-output.md`, use the custom version instead.
71
+ The template defines section headings only. Generate content for each section based on implementation results.
72
+ Write the artifact to: `.ai-agents/workspace/artifacts/{change-id}/implementation.md`
73
+
74
+ - type: shared
75
+ source: sections/session-update.md
76
+ params:
77
+ current_skill: mvt-implement
78
+
79
+ - type: shared
80
+ source: sections/footer-next-steps.md
81
+ params:
82
+ current_skill: mvt-implement
83
+ conditional_suggestions:
84
+ conditions:
85
+ - condition: "implementation complete, no tests written yet"
86
+ primary: mvt-test
87
+ primary_desc: "Generate tests for the implementation"
88
+ - condition: "implementation deviates from design"
89
+ primary: mvt-review
90
+ primary_desc: "Review code for design compliance"
91
+ - condition: "plan exists with remaining tasks"
92
+ primary: mvt-update-plan
93
+ primary_desc: "Mark current task done and advance to next"
@@ -126,7 +126,7 @@ For each target file, check if it already exists:
126
126
  After writing all files, validate:
127
127
  - `project-context.yaml` is valid YAML with `projects[]` containing at least one entry
128
128
  - Each project entry has required fields: `name`, `path`, `type`, `tech_stack.primary_language`
129
- - `session.yaml` is structurally intact and contains: `session`, `active_change` (with `plan_path` / `has_plan`), `recent_changes` (array), `skill_history`, `recent_actions`
129
+ - `session.yaml` is structurally intact and contains: `session` (with `initialized_at`, `last_synced_at`), `active_change` (with `plan_path`), `changes` (array), `history`
130
130
 
131
131
  If any validation fails → report the specific error and offer to retry or skip.
132
132
 
@@ -135,7 +135,7 @@ If any validation fails → report the specific error and offer to retry or skip
135
135
  When `--refresh` is specified:
136
136
 
137
137
  1. **Preserve** the following from existing files:
138
- - `session.yaml` > `skill_history` and `recent_actions`
138
+ - `session.yaml` > `history`
139
139
  - `project-context.yaml` > any user-added custom fields (fields not in the standard schema)
140
140
  - `config.yaml` > `preferences` section
141
141
 
@@ -1,101 +1,102 @@
1
- name: mvt-init
2
- output: .claude/skills/mvt-init/SKILL.md
3
-
4
- frontmatter:
5
- name: mvt-init
6
- description: "Initialize or refresh a project by scanning its structure, detecting tech stack, and inferring project type. This skill should be used when starting a new project, re-initializing after structural changes, or setting up the MVTT workspace."
7
-
8
- sections:
9
- - type: inline
10
- content: |
11
- # MVT Init
12
-
13
- ## Purpose
14
-
15
- Initialize a project by scanning its structure, detecting tech stack, inferring project type, and writing the lean project index. This is the entry point for the MVTT framework.
16
-
17
- - type: shared
18
- source: sections/role-header.md
19
- params:
20
- role: Conductor
21
- role_desc: "a Workflow Coordinator"
22
- decision_rules:
23
- - rule: "If user intent is unclear -> Ask a clarifying question before proceeding"
24
- - rule: "If `session.yaml` shows `initialized_at: \"\"` -> This is a fresh init"
25
- - rule: "If `session.yaml` shows existing data -> This is a refresh (preserve existing state)"
26
- - rule: "If no project files found -> Warn user this may be an empty project"
27
- - rule: "If multiple languages detected -> Flag as monorepo candidate, identify primary language"
28
- - rule: "If project type is ambiguous -> Prompt for confirmation between top candidates"
29
- - rule: "If existing workspace files found on refresh -> Show diff and confirm before overwrite"
30
- boundaries:
31
- - scope: "analyze requirements"
32
- skill: "/mvt-analyze"
33
- - scope: "analyze existing code"
34
- skill: "/mvt-analyze-code"
35
- - scope: "design architecture"
36
- skill: "/mvt-design"
37
- - scope: "write implementation code"
38
- skill: "/mvt-implement"
39
-
40
- - type: inline
41
- content: |
42
- ## Variants
43
-
44
- | Variant | Description |
45
- |---------|-------------|
46
- | `/mvt-init` | Standard initialization (scan + detect + write index) |
47
- | `/mvt-init --refresh` | Re-scan existing project -- preserve user state, update auto-detectable fields, show diff before writing |
48
-
49
- - type: shared
50
- source: sections/activation-load-context.md
51
- params:
52
- extended_context:
53
- - "Scan project root for config files (package.json, requirements.txt, pom.xml, etc.)"
54
- - "Scan project root for directory structure (src/, lib/, app/, tests/, etc.)"
55
-
56
- - type: shared
57
- source: sections/activation-load-config.md
58
-
59
- - type: shared
60
- source: sections/output-language-constraint.md
61
-
62
- - type: shared
63
- source: sections/activation-preflight.md
64
- params:
65
- checks:
66
- - order: "1"
67
- field: "session and project-context both empty"
68
- level: "INFO"
69
- message: "This is a first-time init, proceed normally."
70
-
71
- - type: file
72
- source: ./business.md
73
-
74
-
75
- - type: shared
76
- source: sections/session-update.md
77
- params:
78
- update_initialized_at: true
79
-
80
- - type: shared
81
- source: sections/footer-next-steps.md
82
- params:
83
- current_skill: mvt-init
84
- conditional_suggestions:
85
- conditions:
86
- - condition: "has_existing_code"
87
- primary: mvt-analyze-code
88
- primary_desc: "Reverse-analyze existing codebase to generate project-context.md"
89
- - condition: "empty_project"
90
- primary: mvt-manage-context
91
- primary_desc: "Manually add project context, requirements, or team conventions"
92
- - condition: "default"
93
- primary: mvt-analyze
94
- primary_desc: "Start analyzing requirements"
95
- alternatives:
96
- - skill: mvt-manage-context
97
- desc: "Manually add team conventions or domain knowledge"
98
- - skill: mvt-analyze
99
- desc: "Start from a requirements document"
100
- - skill: mvt-status
101
- desc: "Inspect current project status"
1
+ name: mvt-init
2
+ output: .claude/skills/mvt-init/SKILL.md
3
+
4
+ frontmatter:
5
+ name: mvt-init
6
+ description: "Initialize or refresh a project by scanning its structure, detecting tech stack, and inferring project type. This skill should be used when starting a new project, re-initializing after structural changes, or setting up the MVTT workspace."
7
+
8
+ sections:
9
+ - type: inline
10
+ content: |
11
+ # MVT Init
12
+
13
+ ## Purpose
14
+
15
+ Initialize a project by scanning its structure, detecting tech stack, inferring project type, and writing the lean project index. This is the entry point for the MVTT framework.
16
+
17
+ - type: shared
18
+ source: sections/role-header.md
19
+ params:
20
+ role: Conductor
21
+ role_desc: "a Workflow Coordinator"
22
+ decision_rules:
23
+ - rule: "If user intent is unclear -> Ask a clarifying question before proceeding"
24
+ - rule: "If `session.yaml` shows `initialized_at: \"\"` -> This is a fresh init"
25
+ - rule: "If `session.yaml` shows existing data -> This is a refresh (preserve existing state)"
26
+ - rule: "If no project files found -> Warn user this may be an empty project"
27
+ - rule: "If multiple languages detected -> Flag as monorepo candidate, identify primary language"
28
+ - rule: "If project type is ambiguous -> Prompt for confirmation between top candidates"
29
+ - rule: "If existing workspace files found on refresh -> Show diff and confirm before overwrite"
30
+ boundaries:
31
+ - scope: "analyze requirements"
32
+ skill: "/mvt-analyze"
33
+ - scope: "analyze existing code"
34
+ skill: "/mvt-analyze-code"
35
+ - scope: "design architecture"
36
+ skill: "/mvt-design"
37
+ - scope: "write implementation code"
38
+ skill: "/mvt-implement"
39
+
40
+ - type: inline
41
+ content: |
42
+ ## Variants
43
+
44
+ | Variant | Description |
45
+ |---------|-------------|
46
+ | `/mvt-init` | Standard initialization (scan + detect + write index) |
47
+ | `/mvt-init --refresh` | Re-scan existing project -- preserve user state, update auto-detectable fields, show diff before writing |
48
+
49
+ - type: shared
50
+ source: sections/activation-load-context.md
51
+ params:
52
+ extended_context:
53
+ - "Scan project root for config files (package.json, requirements.txt, pom.xml, etc.)"
54
+ - "Scan project root for directory structure (src/, lib/, app/, tests/, etc.)"
55
+
56
+ - type: shared
57
+ source: sections/activation-load-config.md
58
+
59
+ - type: shared
60
+ source: sections/output-language-constraint.md
61
+
62
+ - type: shared
63
+ source: sections/activation-preflight.md
64
+ params:
65
+ checks:
66
+ - order: "1"
67
+ field: "session and project-context both empty"
68
+ level: "INFO"
69
+ message: "This is a first-time init, proceed normally."
70
+
71
+ - type: file
72
+ source: ./business.md
73
+
74
+
75
+ - type: shared
76
+ source: sections/session-update.md
77
+ params:
78
+ current_skill: mvt-init
79
+ update_initialized_at: true
80
+
81
+ - type: shared
82
+ source: sections/footer-next-steps.md
83
+ params:
84
+ current_skill: mvt-init
85
+ conditional_suggestions:
86
+ conditions:
87
+ - condition: "has_existing_code"
88
+ primary: mvt-analyze-code
89
+ primary_desc: "Reverse-analyze existing codebase to generate project-context.md"
90
+ - condition: "empty_project"
91
+ primary: mvt-manage-context
92
+ primary_desc: "Manually add project context, requirements, or team conventions"
93
+ - condition: "default"
94
+ primary: mvt-analyze
95
+ primary_desc: "Start analyzing requirements"
96
+ alternatives:
97
+ - skill: mvt-manage-context
98
+ desc: "Manually add team conventions or domain knowledge"
99
+ - skill: mvt-analyze
100
+ desc: "Start from a requirements document"
101
+ - skill: mvt-status
102
+ desc: "Inspect current project status"