@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,78 @@
|
|
|
1
|
+
# React Code Review Checklist
|
|
2
|
+
|
|
3
|
+
## Component Structure
|
|
4
|
+
|
|
5
|
+
- [ ] Component has single responsibility
|
|
6
|
+
- [ ] Component is properly typed (TypeScript)
|
|
7
|
+
- [ ] Props interface is defined and documented
|
|
8
|
+
- [ ] Default values provided where appropriate
|
|
9
|
+
- [ ] Component handles loading states
|
|
10
|
+
- [ ] Component handles error states
|
|
11
|
+
|
|
12
|
+
## React Best Practices
|
|
13
|
+
|
|
14
|
+
- [ ] Keys are used correctly in lists (not index)
|
|
15
|
+
- [ ] useEffect dependencies are complete
|
|
16
|
+
- [ ] Cleanup functions provided in effects
|
|
17
|
+
- [ ] State updates are immutable
|
|
18
|
+
- [ ] useCallback/useMemo used appropriately (not prematurely)
|
|
19
|
+
- [ ] No direct DOM manipulation
|
|
20
|
+
|
|
21
|
+
## Performance
|
|
22
|
+
|
|
23
|
+
- [ ] No unnecessary re-renders
|
|
24
|
+
- [ ] Large lists are virtualized if needed
|
|
25
|
+
- [ ] Images are optimized
|
|
26
|
+
- [ ] Code splitting applied for large features
|
|
27
|
+
- [ ] Lazy loading used where appropriate
|
|
28
|
+
|
|
29
|
+
## State Management
|
|
30
|
+
|
|
31
|
+
- [ ] State is as local as possible
|
|
32
|
+
- [ ] Derived state is computed, not stored
|
|
33
|
+
- [ ] Context is not overused
|
|
34
|
+
- [ ] Server state uses proper solution (React Query/SWR)
|
|
35
|
+
|
|
36
|
+
## Hooks
|
|
37
|
+
|
|
38
|
+
- [ ] Custom hooks follow naming convention (use*)
|
|
39
|
+
- [ ] Hooks are at top level of component
|
|
40
|
+
- [ ] Custom hooks return stable references
|
|
41
|
+
- [ ] Hook dependencies are correct
|
|
42
|
+
|
|
43
|
+
## Accessibility
|
|
44
|
+
|
|
45
|
+
- [ ] Semantic HTML elements used
|
|
46
|
+
- [ ] ARIA attributes where needed
|
|
47
|
+
- [ ] Focus management considered
|
|
48
|
+
- [ ] Keyboard navigation works
|
|
49
|
+
- [ ] Screen reader tested
|
|
50
|
+
|
|
51
|
+
## Error Handling
|
|
52
|
+
|
|
53
|
+
- [ ] Error boundaries used appropriately
|
|
54
|
+
- [ ] API errors are handled
|
|
55
|
+
- [ ] User sees meaningful error messages
|
|
56
|
+
- [ ] Errors are logged appropriately
|
|
57
|
+
|
|
58
|
+
## Code Quality
|
|
59
|
+
|
|
60
|
+
- [ ] No console.log in production code
|
|
61
|
+
- [ ] No commented out code
|
|
62
|
+
- [ ] Consistent formatting
|
|
63
|
+
- [ ] Meaningful variable names
|
|
64
|
+
- [ ] No magic numbers/strings
|
|
65
|
+
|
|
66
|
+
## Testing
|
|
67
|
+
|
|
68
|
+
- [ ] Critical paths are tested
|
|
69
|
+
- [ ] User interactions tested
|
|
70
|
+
- [ ] Edge cases covered
|
|
71
|
+
- [ ] Accessibility tested
|
|
72
|
+
|
|
73
|
+
## Security
|
|
74
|
+
|
|
75
|
+
- [ ] No XSS vulnerabilities (dangerouslySetInnerHTML avoided)
|
|
76
|
+
- [ ] User input is sanitized
|
|
77
|
+
- [ ] Sensitive data not in client bundle
|
|
78
|
+
- [ ] Environment variables used correctly
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
patterns:
|
|
2
|
+
id: patterns
|
|
3
|
+
name: Architecture Patterns
|
|
4
|
+
version: "1.0"
|
|
5
|
+
description: Collection of architecture patterns for software design
|
|
6
|
+
|
|
7
|
+
loading:
|
|
8
|
+
priority: 2
|
|
9
|
+
auto_load: false
|
|
10
|
+
load_rule: "Load patterns/{active}/* based on config.yaml pattern.active"
|
|
11
|
+
|
|
12
|
+
available:
|
|
13
|
+
- id: ddd
|
|
14
|
+
name: Domain-Driven Design
|
|
15
|
+
path: ddd/
|
|
16
|
+
manifest: ddd/manifest.yaml
|
|
17
|
+
description: Tactical and strategic patterns for complex domain modeling
|
|
18
|
+
suitable_for:
|
|
19
|
+
- complex-domain
|
|
20
|
+
- enterprise-application
|
|
21
|
+
- bounded-contexts
|
|
22
|
+
files:
|
|
23
|
+
- tactical-patterns.md
|
|
24
|
+
- review-checklist.md
|
|
25
|
+
|
|
26
|
+
- id: clean-architecture
|
|
27
|
+
name: Clean Architecture
|
|
28
|
+
path: clean-architecture/
|
|
29
|
+
manifest: clean-architecture/manifest.yaml
|
|
30
|
+
description: Dependency inversion and layer separation patterns
|
|
31
|
+
suitable_for:
|
|
32
|
+
- enterprise-application
|
|
33
|
+
- long-term-project
|
|
34
|
+
- multi-interface-system
|
|
35
|
+
files:
|
|
36
|
+
- review-checklist.md
|
|
37
|
+
|
|
38
|
+
- id: frontend-react
|
|
39
|
+
name: Frontend (React)
|
|
40
|
+
path: frontend-react/
|
|
41
|
+
manifest: frontend-react/manifest.yaml
|
|
42
|
+
description: Modern React frontend application patterns
|
|
43
|
+
suitable_for:
|
|
44
|
+
- web-app
|
|
45
|
+
- spa
|
|
46
|
+
- pwa
|
|
47
|
+
- next.js
|
|
48
|
+
frameworks:
|
|
49
|
+
- react
|
|
50
|
+
- next.js
|
|
51
|
+
- remix
|
|
52
|
+
files:
|
|
53
|
+
- overview.md
|
|
54
|
+
- component-patterns.md
|
|
55
|
+
- review-checklist.md
|
|
56
|
+
|
|
57
|
+
# Custom patterns will be added here during #init analyze
|
|
58
|
+
# Example:
|
|
59
|
+
# custom:
|
|
60
|
+
# - id: my-custom-pattern
|
|
61
|
+
# name: My Custom Pattern
|
|
62
|
+
# path: my-custom-pattern/
|
|
63
|
+
# generated: true
|
|
64
|
+
# generated_at: "2026-03-08T12:00:00Z"
|
|
65
|
+
|
|
66
|
+
custom: []
|
|
67
|
+
|
|
68
|
+
discovery:
|
|
69
|
+
description: |
|
|
70
|
+
To discover available patterns:
|
|
71
|
+
1. List subdirectories of knowledge/patterns/
|
|
72
|
+
2. Each subdirectory is a pattern pack
|
|
73
|
+
3. Read {pattern}/manifest.yaml for pattern details
|
|
74
|
+
|
|
75
|
+
to_add_pattern: |
|
|
76
|
+
1. Create knowledge/patterns/{pattern}/ directory
|
|
77
|
+
2. Add manifest.yaml with pattern metadata
|
|
78
|
+
3. Add pattern documentation files
|
|
79
|
+
4. Register in config.yaml under pattern.available
|
|
80
|
+
5. Add to this file's available or custom list
|
|
81
|
+
|
|
82
|
+
pattern_selection_guide:
|
|
83
|
+
description: |
|
|
84
|
+
During #init, analyze project and suggest appropriate pattern:
|
|
85
|
+
|
|
86
|
+
decision_tree: |
|
|
87
|
+
1. Is this a frontend web application?
|
|
88
|
+
→ If React/Next.js/Remix: suggest frontend-react
|
|
89
|
+
→ If Vue/Svelte: suggest generic (or add more patterns)
|
|
90
|
+
|
|
91
|
+
2. Is this a CLI tool, library, or simple service?
|
|
92
|
+
→ Suggest generic
|
|
93
|
+
|
|
94
|
+
3. Does the domain have complex business rules?
|
|
95
|
+
→ Suggest DDD
|
|
96
|
+
|
|
97
|
+
4. Is this a long-term enterprise application?
|
|
98
|
+
→ Suggest Clean Architecture or DDD
|
|
99
|
+
|
|
100
|
+
5. Uncertain or unique architecture?
|
|
101
|
+
→ Offer "analyze" option to create custom pattern
|
|
102
|
+
|
|
103
|
+
user_options:
|
|
104
|
+
- id: yes
|
|
105
|
+
description: Accept recommended pattern
|
|
106
|
+
- id: "{pattern_id}"
|
|
107
|
+
description: Select specific pattern by ID
|
|
108
|
+
- id: analyze
|
|
109
|
+
description: Analyze project and create custom pattern
|
|
110
|
+
- id: generic
|
|
111
|
+
description: Use generic pattern
|
|
112
|
+
- id: none
|
|
113
|
+
description: Proceed without architecture pattern
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
### Step 2: Load Config & Apply Preferences (Config Foundation)
|
|
2
|
+
Read `.ai-agents/config.yaml` and enforce the following throughout this entire session:
|
|
3
|
+
- `preferences.language` → Use this language for ALL output (responses, artifact content, comments)
|
|
4
|
+
- `preferences.output.no_emojis` → If true, never use emojis
|
|
5
|
+
- `preferences.output.data_format` → Use this format for data sections in artifacts
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
## Activation Protocol
|
|
2
|
+
|
|
3
|
+
### Step 1: Load Context (Context Foundation)
|
|
4
|
+
Load the following files as foundational context:
|
|
5
|
+
- `.ai-agents/workspace/session.yaml` -- Current workflow state
|
|
6
|
+
- `.ai-agents/workspace/project-context.yaml` -- Project domain data
|
|
7
|
+
|
|
8
|
+
Extended context for this skill:
|
|
9
|
+
{{#extended_context}}
|
|
10
|
+
- {{.}}
|
|
11
|
+
{{/extended_context}}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
## Execution Flow
|
|
2
|
+
|
|
3
|
+
### Step 1: Assess Current State
|
|
4
|
+
- Read project-context.yaml and evaluate completeness:
|
|
5
|
+
- Project name empty -> Mark as "not initialized"
|
|
6
|
+
- Requirements empty -> Mark as "no requirements"
|
|
7
|
+
- Architecture empty -> Mark as "no architecture"
|
|
8
|
+
- Read config.yaml:
|
|
9
|
+
- Check `pattern.active`
|
|
10
|
+
- Calculate and display context completeness percentage
|
|
11
|
+
|
|
12
|
+
### Step 2: Guided Information Collection
|
|
13
|
+
Based on what is missing, guide the user through relevant sections:
|
|
14
|
+
|
|
15
|
+
**If not initialized** (project basics):
|
|
16
|
+
- Project name, type, description
|
|
17
|
+
- Tech stack (language, framework, build tool, test framework)
|
|
18
|
+
- Suggest running `/mvt-init` for automatic detection
|
|
19
|
+
|
|
20
|
+
**If no requirements** (requirements & background):
|
|
21
|
+
- Main features and goals
|
|
22
|
+
- User roles and use cases
|
|
23
|
+
- Known constraints and limitations
|
|
24
|
+
|
|
25
|
+
**If no architecture** (architecture info):
|
|
26
|
+
- Architecture pattern (DDD / Clean Architecture / etc.)
|
|
27
|
+
- Module structure
|
|
28
|
+
- Key technical decisions
|
|
29
|
+
|
|
30
|
+
**Supplementary information** (always available):
|
|
31
|
+
- Project-specific coding standards
|
|
32
|
+
- Team conventions
|
|
33
|
+
- Third-party integration details
|
|
34
|
+
|
|
35
|
+
### Step 3: Write Context
|
|
36
|
+
Based on information collected:
|
|
37
|
+
1. Update `.ai-agents/workspace/project-context.yaml` (matching fields)
|
|
38
|
+
2. Update `.ai-agents/workspace/session.yaml` (if initialization changed)
|
|
39
|
+
3. If coding standards provided -> Write to `.ai-agents/knowledge/principle/`
|
|
40
|
+
4. If project knowledge provided -> Write to `.ai-agents/knowledge/project/`
|
|
41
|
+
5. Update `config.yaml` `pattern.active` if user confirmed architecture pattern
|
|
42
|
+
|
|
43
|
+
### Step 4: Verification Report
|
|
44
|
+
- Show updated context summary
|
|
45
|
+
- Display completeness change (before vs after)
|
|
46
|
+
- If context is large -> Suggest running `/mvt-check-context`
|
|
47
|
+
- Suggest next steps
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
name: mvt-add-context
|
|
2
|
+
output: .claude/skills/mvt-add-context/SKILL.md
|
|
3
|
+
|
|
4
|
+
frontmatter:
|
|
5
|
+
name: mvt-add-context
|
|
6
|
+
description: "Interactively add or update project context information to the MVTT workspace. Use when user wants to manually add project details, requirements, architecture info, coding standards, or team conventions."
|
|
7
|
+
|
|
8
|
+
sections:
|
|
9
|
+
- type: inline
|
|
10
|
+
content: |
|
|
11
|
+
# MVT Context Add
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Guide users through adding or updating project context information in the MVTT workspace. This is a user-driven, interactive process complementary to `/mvt-sync-context` (which is code-driven and automatic).
|
|
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: "Project not initialized -> Suggest `/mvt-init` first, but allow manual context entry"
|
|
24
|
+
- rule: "Missing project basics -> Guide through project info collection"
|
|
25
|
+
- rule: "Missing requirements -> Guide through requirements entry"
|
|
26
|
+
- rule: "Missing architecture -> Guide through architecture info"
|
|
27
|
+
- rule: "User provides coding standards -> Write to knowledge/principle/"
|
|
28
|
+
- rule: "User provides project knowledge -> Write to knowledge/project/"
|
|
29
|
+
boundaries:
|
|
30
|
+
- scope: "analyze code automatically"
|
|
31
|
+
skill: "/mvt-sync-context or /mvt-analyze-code"
|
|
32
|
+
- scope: "make architecture decisions"
|
|
33
|
+
skill: "/mvt-design"
|
|
34
|
+
- scope: "write implementation code"
|
|
35
|
+
skill: "/mvt-implement"
|
|
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: inline
|
|
44
|
+
content: |
|
|
45
|
+
### Step 3: Pre-flight Checks
|
|
46
|
+
- No blocking checks required.
|
|
47
|
+
|
|
48
|
+
### Step 4: Execute
|
|
49
|
+
Proceed to Execution Flow below.
|
|
50
|
+
|
|
51
|
+
- type: file
|
|
52
|
+
source: ./business.md
|
|
53
|
+
|
|
54
|
+
- type: inline
|
|
55
|
+
content: |
|
|
56
|
+
## Output Format
|
|
57
|
+
|
|
58
|
+
No external template -- output is inline:
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
## Context Updated
|
|
62
|
+
|
|
63
|
+
### Completeness
|
|
64
|
+
- **Before**: {pct_before}%
|
|
65
|
+
- **After**: {pct_after}%
|
|
66
|
+
|
|
67
|
+
### Changes Made
|
|
68
|
+
| Section | Status | Details |
|
|
69
|
+
|---------|--------|---------|
|
|
70
|
+
| Project Info | {Updated/Unchanged} | {summary} |
|
|
71
|
+
| Requirements | {Updated/Unchanged} | {summary} |
|
|
72
|
+
| Architecture | {Updated/Unchanged} | {summary} |
|
|
73
|
+
| Knowledge | {Updated/Unchanged} | {summary} |
|
|
74
|
+
|
|
75
|
+
### Files Modified
|
|
76
|
+
- {list of modified files}
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
**Suggested Next Steps**:
|
|
80
|
+
- `/mvt-check-context` -- Analyze context load if context is large
|
|
81
|
+
- `/mvt-analyze` -- Start requirements analysis
|
|
82
|
+
- `/mvt-status` -- View current project status
|
|
83
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
## Execution Flow
|
|
2
|
+
|
|
3
|
+
### Step 1: Load Requirements
|
|
4
|
+
- If file path provided as argument -> Read that file
|
|
5
|
+
- If requirements exist in `.ai-agents/workspace/requirements/` -> List files, ask user to select
|
|
6
|
+
- Otherwise -> Use requirements text from user message
|
|
7
|
+
|
|
8
|
+
### Step 2: Extract Information
|
|
9
|
+
- Identify features and functionality
|
|
10
|
+
- Identify actors and stakeholders
|
|
11
|
+
- Extract business rules and constraints
|
|
12
|
+
- Note assumptions made
|
|
13
|
+
|
|
14
|
+
### Step 3: Detect Ambiguities
|
|
15
|
+
- Check for unclear requirements
|
|
16
|
+
- Check for missing information
|
|
17
|
+
- Check for conflicting requirements
|
|
18
|
+
|
|
19
|
+
### Step 4: Generate Clarification Questions
|
|
20
|
+
- If ambiguities found -> List each with specific question, prioritized by impact
|
|
21
|
+
- If no ambiguities -> Skip this step
|
|
22
|
+
|
|
23
|
+
### Step 5: Update Workspace
|
|
24
|
+
1. Generate change-id: `{YYYYMMDD}-{slug}` format (e.g., `20260425-user-authentication`)
|
|
25
|
+
2. Update `.ai-agents/workspace/session.yaml`:
|
|
26
|
+
- Set `active_change.id` and `active_change.title`
|
|
27
|
+
- Set `active_change.created_at`
|
|
28
|
+
- Set `progress.analyze: done`
|
|
29
|
+
- Set `session.last_command: "/mvt-analyze"`
|
|
30
|
+
- Append one-line summary to `recent_actions` (keep max 3)
|
|
31
|
+
3. Update `.ai-agents/workspace/project-context.yaml`:
|
|
32
|
+
- Write to `requirements` section (features, actors, business_rules, clarifications)
|
|
33
|
+
4. Write artifact: `.ai-agents/workspace/artifacts/{change-id}/analysis.md`
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
name: mvt-analyze
|
|
2
|
+
output: .claude/skills/mvt-analyze/SKILL.md
|
|
3
|
+
|
|
4
|
+
frontmatter:
|
|
5
|
+
name: mvt-analyze
|
|
6
|
+
description: "Analyze requirements documents and extract domain concepts. Use when user wants to analyze requirements, extract features, or start the analysis phase of development workflow."
|
|
7
|
+
|
|
8
|
+
sections:
|
|
9
|
+
- type: inline
|
|
10
|
+
content: |
|
|
11
|
+
# MVT Analyze
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Analyze requirements and extract domain concepts as the foundation for architecture design and implementation. This is the first phase in the full workflow: analyze -> design -> implement -> review -> test.
|
|
16
|
+
|
|
17
|
+
- type: shared
|
|
18
|
+
source: sections/role-header.md
|
|
19
|
+
params:
|
|
20
|
+
role: Analyst
|
|
21
|
+
role_desc: "a Requirements Analysis Expert"
|
|
22
|
+
decision_rules:
|
|
23
|
+
- rule: "Clear requirements -> Proceed with structured analysis"
|
|
24
|
+
- rule: "Ambiguities found -> Stop and ask clarification first"
|
|
25
|
+
- rule: "Multiple interpretations -> List all, ask user to choose"
|
|
26
|
+
- rule: "Conflicts detected -> Highlight explicitly, ask for resolution"
|
|
27
|
+
- rule: "Vague requirements -> Request specific examples"
|
|
28
|
+
boundaries:
|
|
29
|
+
- scope: "make architecture decisions"
|
|
30
|
+
skill: "/mvt-design"
|
|
31
|
+
- scope: "recommend technologies"
|
|
32
|
+
skill: "/mvt-design"
|
|
33
|
+
- scope: "write implementation code"
|
|
34
|
+
skill: "/mvt-implement"
|
|
35
|
+
|
|
36
|
+
- type: shared
|
|
37
|
+
source: sections/activation-load-context.md
|
|
38
|
+
params:
|
|
39
|
+
extended_context:
|
|
40
|
+
- ".ai-agents/workspace/requirements/ -- Existing requirements files (if exists)"
|
|
41
|
+
|
|
42
|
+
- type: shared
|
|
43
|
+
source: sections/activation-load-config.md
|
|
44
|
+
|
|
45
|
+
- type: shared
|
|
46
|
+
source: sections/activation-preflight.md
|
|
47
|
+
params:
|
|
48
|
+
checks:
|
|
49
|
+
- order: "1"
|
|
50
|
+
field: "session.initialized_at"
|
|
51
|
+
level: "WARN"
|
|
52
|
+
message: 'Session not initialized. Run `/mvt-init` first.'
|
|
53
|
+
- order: "2"
|
|
54
|
+
field: "project.name"
|
|
55
|
+
level: "WARN"
|
|
56
|
+
message: 'Project not initialized. Run `/mvt-init` first.'
|
|
57
|
+
- order: "3"
|
|
58
|
+
field: "pattern.active"
|
|
59
|
+
level: "Continue"
|
|
60
|
+
message: "analysis does not require pattern, but add warning and suggest `/mvt-init`."
|
|
61
|
+
|
|
62
|
+
- type: inline
|
|
63
|
+
content: |
|
|
64
|
+
### Step 4: Execute
|
|
65
|
+
Proceed to Execution Flow below.
|
|
66
|
+
|
|
67
|
+
- type: file
|
|
68
|
+
source: ./business.md
|
|
69
|
+
|
|
70
|
+
- type: inline
|
|
71
|
+
content: |
|
|
72
|
+
## Output Format
|
|
73
|
+
|
|
74
|
+
Read and use the output template from: `.ai-agents/skills/_templates/analyze-output.md`
|
|
75
|
+
|
|
76
|
+
If a custom version exists at `.ai-agents/skills/_templates/custom/analyze-output.md`, use the custom version instead.
|
|
77
|
+
|
|
78
|
+
Fill the template placeholders with the analysis results.
|
|
79
|
+
|
|
80
|
+
Every response MUST end with a Suggested Next Steps section.
|
|
81
|
+
|
|
82
|
+
- type: shared
|
|
83
|
+
source: sections/footer-next-steps.md
|
|
84
|
+
params:
|
|
85
|
+
next_primary: mvt-design
|
|
86
|
+
next_primary_desc: "Create architecture design based on this analysis"
|
|
87
|
+
always_show:
|
|
88
|
+
- skill: mvt-status
|
|
89
|
+
desc: "Check current workflow progress"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
## Execution Flow
|
|
2
|
+
|
|
3
|
+
### Step 1: Scan Codebase
|
|
4
|
+
- Scan source directories (src/, lib/, app/, etc.)
|
|
5
|
+
- Identify entry points
|
|
6
|
+
- Map module/directory structure
|
|
7
|
+
|
|
8
|
+
### Step 2: Extract Entities
|
|
9
|
+
- Find domain entities and models
|
|
10
|
+
- Identify value objects
|
|
11
|
+
- Map relationships between entities
|
|
12
|
+
|
|
13
|
+
### Step 3: Extract Services
|
|
14
|
+
- Find service classes and modules
|
|
15
|
+
- Identify API endpoints
|
|
16
|
+
- Map dependency graph between services
|
|
17
|
+
|
|
18
|
+
### Step 4: Analyze Architecture
|
|
19
|
+
- Detect architecture pattern (DDD, Clean Architecture, MVC, etc.)
|
|
20
|
+
- Assess confidence level
|
|
21
|
+
- Identify layer boundaries
|
|
22
|
+
|
|
23
|
+
### Step 5: Infer Requirements
|
|
24
|
+
- Generate feature list from code functionality
|
|
25
|
+
- Identify business rules from logic
|
|
26
|
+
- Document inferred requirements with confidence levels
|
|
27
|
+
|
|
28
|
+
### Step 6: Update Workspace
|
|
29
|
+
1. Update `.ai-agents/workspace/project-context.yaml`:
|
|
30
|
+
- Write detected architecture to `architecture` section
|
|
31
|
+
- Write discovered modules, entities, services
|
|
32
|
+
2. Write artifact: `.ai-agents/workspace/artifacts/code-analysis/{timestamp}-analysis.md`
|
|
33
|
+
3. Update `.ai-agents/workspace/session.yaml`:
|
|
34
|
+
- Set `session.last_command: "/mvt-analyze-code"`
|
|
35
|
+
- Append one-line summary to `recent_actions` (keep max 3)
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
name: mvt-analyze-code
|
|
2
|
+
output: .claude/skills/mvt-analyze-code/SKILL.md
|
|
3
|
+
|
|
4
|
+
frontmatter:
|
|
5
|
+
name: mvt-analyze-code
|
|
6
|
+
description: "Reverse-analyze existing code to generate context and infer requirements. Use when user wants to understand an existing codebase, generate documentation for legacy code, or onboard to a new project."
|
|
7
|
+
|
|
8
|
+
sections:
|
|
9
|
+
- type: inline
|
|
10
|
+
content: |
|
|
11
|
+
# MVT Analyze Code
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Reverse-analyze existing code to generate context, discover architecture, and infer requirements. Unlike `/mvt-analyze` which works from requirements documents, this skill works from source code. This is an independent operation that does not create a change-id.
|
|
16
|
+
|
|
17
|
+
- type: shared
|
|
18
|
+
source: sections/role-header.md
|
|
19
|
+
params:
|
|
20
|
+
role: Analyst
|
|
21
|
+
role_desc: "a Requirements Analysis Expert"
|
|
22
|
+
decision_rules:
|
|
23
|
+
- rule: "Source code exists -> Proceed with codebase scanning"
|
|
24
|
+
- rule: "No source code found -> Warn user and suggest checking project path"
|
|
25
|
+
- rule: "Ambiguous architecture -> Present detected pattern with confidence level"
|
|
26
|
+
- rule: "Multiple frameworks detected -> List all and ask user to confirm primary"
|
|
27
|
+
boundaries:
|
|
28
|
+
- scope: "make architecture decisions"
|
|
29
|
+
skill: "/mvt-design"
|
|
30
|
+
- scope: "recommend technologies"
|
|
31
|
+
skill: "/mvt-design"
|
|
32
|
+
- scope: "write implementation code"
|
|
33
|
+
skill: "/mvt-implement"
|
|
34
|
+
|
|
35
|
+
- type: shared
|
|
36
|
+
source: sections/activation-load-context.md
|
|
37
|
+
params:
|
|
38
|
+
extended_context:
|
|
39
|
+
- "Scan project source directories for analysis"
|
|
40
|
+
|
|
41
|
+
- type: shared
|
|
42
|
+
source: sections/activation-load-config.md
|
|
43
|
+
|
|
44
|
+
- type: shared
|
|
45
|
+
source: sections/activation-preflight.md
|
|
46
|
+
params:
|
|
47
|
+
checks:
|
|
48
|
+
- order: "1"
|
|
49
|
+
field: "session.initialized_at"
|
|
50
|
+
level: "WARN"
|
|
51
|
+
message: 'Session not initialized. Run `/mvt-init` first.'
|
|
52
|
+
|
|
53
|
+
- type: inline
|
|
54
|
+
content: |
|
|
55
|
+
### Independent Operation Rules
|
|
56
|
+
- This is an independent operation -- no workflow prerequisites required
|
|
57
|
+
- Does NOT create a change-id
|
|
58
|
+
- Artifacts stored under `.ai-agents/workspace/artifacts/code-analysis/` instead of a change-id directory
|
|
59
|
+
|
|
60
|
+
### Step 4: Execute
|
|
61
|
+
Proceed to Execution Flow below.
|
|
62
|
+
|
|
63
|
+
- type: file
|
|
64
|
+
source: ./business.md
|
|
65
|
+
|
|
66
|
+
- type: inline
|
|
67
|
+
content: |
|
|
68
|
+
## Output Format
|
|
69
|
+
|
|
70
|
+
Read and use the output template from: `.ai-agents/skills/_templates/analyze-code-output.md`
|
|
71
|
+
|
|
72
|
+
If a custom version exists at `.ai-agents/skills/_templates/custom/analyze-code-output.md`, use the custom version instead.
|
|
73
|
+
|
|
74
|
+
Fill the template placeholders with the analysis results.
|
|
75
|
+
|
|
76
|
+
Every response MUST end with a Suggested Next Steps section.
|
|
77
|
+
|
|
78
|
+
- type: shared
|
|
79
|
+
source: sections/footer-next-steps.md
|
|
80
|
+
params:
|
|
81
|
+
next_primary: mvt-analyze
|
|
82
|
+
next_primary_desc: "Add requirements on top of discovered structure"
|
|
83
|
+
next_alternatives:
|
|
84
|
+
- skill: mvt-design
|
|
85
|
+
when: "Design new features for existing architecture"
|
|
86
|
+
always_show:
|
|
87
|
+
- skill: mvt-status
|
|
88
|
+
desc: "Check current project state"
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
## Execution Flow
|
|
2
|
+
|
|
3
|
+
### Step 1: Scan Context Files
|
|
4
|
+
Scan all files that MVTT may load during operation:
|
|
5
|
+
|
|
6
|
+
**Core files** (always loaded):
|
|
7
|
+
- `.ai-agents/workspace/session.yaml`
|
|
8
|
+
- `.ai-agents/workspace/project-context.yaml`
|
|
9
|
+
- `.ai-agents/config.yaml`
|
|
10
|
+
|
|
11
|
+
**Knowledge files** (loaded per config):
|
|
12
|
+
- `.ai-agents/knowledge/core/`
|
|
13
|
+
- `.ai-agents/knowledge/patterns/{active}/`
|
|
14
|
+
- `.ai-agents/knowledge/principle/`
|
|
15
|
+
- `.ai-agents/knowledge/project/`
|
|
16
|
+
|
|
17
|
+
**Artifact files**:
|
|
18
|
+
- `.ai-agents/workspace/artifacts/` (all subdirectories)
|
|
19
|
+
|
|
20
|
+
**Skill files**:
|
|
21
|
+
- `.claude/skills/mvt-*/SKILL.md` (all skill definitions)
|
|
22
|
+
|
|
23
|
+
### Step 2: Estimate Token Consumption
|
|
24
|
+
- Calculate approximate tokens for each file: `characters / 4`
|
|
25
|
+
- Group by category:
|
|
26
|
+
- Core (session + context + config)
|
|
27
|
+
- Knowledge (knowledge/)
|
|
28
|
+
- Artifacts (artifacts/)
|
|
29
|
+
- Skills (skills/)
|
|
30
|
+
- Sum totals per category and overall
|
|
31
|
+
|
|
32
|
+
### Step 3: Assess and Recommend
|
|
33
|
+
- Determine health status based on total tokens
|
|
34
|
+
- Identify Top 5 largest files
|
|
35
|
+
- Generate optimization recommendations:
|
|
36
|
+
- Oversized project-context.yaml -> Suggest trimming
|
|
37
|
+
- Too many old artifacts -> Suggest `/mvt-cleanup`
|
|
38
|
+
- Unused knowledge files -> Suggest removal or lazy_load
|
|
39
|
+
- Redundant information -> Suggest consolidation
|
|
40
|
+
- Each recommendation should be specific and actionable
|
|
41
|
+
|
|
42
|
+
### Step 4: Generate Report
|