omgkit 2.24.0 → 2.24.2
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/README.md +68 -10
- package/bin/omgkit.js +5 -4
- package/lib/cli.js +62 -32
- package/package.json +2 -2
- package/plugin/commands/dev/feature-tested.md +208 -0
- package/plugin/commands/quality/coverage-check.md +165 -0
- package/plugin/commands/quality/test-plan.md +181 -0
- package/plugin/commands/quality/verify-done.md +144 -0
- package/plugin/registry.yaml +2 -2
- package/plugin/skills/devops/workflow-config/SKILL.md +58 -1
- package/plugin/skills/methodology/test-enforcement/SKILL.md +441 -0
- package/plugin/skills/methodology/test-task-generation/SKILL.md +369 -0
- package/plugin/workflows/testing/automated-testing.md +377 -0
- package/templates/omgkit/workflow-gitflow.yaml +27 -0
- package/templates/omgkit/workflow-github.yaml +22 -0
- package/templates/omgkit/workflow-trunk.yaml +22 -0
- package/templates/omgkit/workflow.yaml +33 -0
package/README.md
CHANGED
|
@@ -37,9 +37,9 @@ All coordinated through **Omega-level thinking** - a framework for finding break
|
|
|
37
37
|
| Component | Count | Description |
|
|
38
38
|
|-----------|-------|-------------|
|
|
39
39
|
| **Agents** | 41 | Specialized AI team members with distinct roles |
|
|
40
|
-
| **Commands** |
|
|
41
|
-
| **Workflows** |
|
|
42
|
-
| **Skills** |
|
|
40
|
+
| **Commands** | 160 | Slash commands for every development task |
|
|
41
|
+
| **Workflows** | 69 | Complete development processes from idea to deploy |
|
|
42
|
+
| **Skills** | 161 | Domain expertise modules across 24 categories |
|
|
43
43
|
| **Modes** | 10 | Behavioral configurations for different contexts |
|
|
44
44
|
| **Archetypes** | 14 | Project templates for autonomous development |
|
|
45
45
|
|
|
@@ -88,6 +88,53 @@ OMGKIT brings agile methodology to AI-assisted development:
|
|
|
88
88
|
- **Sprints**: Time-boxed development cycles
|
|
89
89
|
- **AI Team**: Autonomous execution with human oversight
|
|
90
90
|
|
|
91
|
+
### 4. Testing Automation (New)
|
|
92
|
+
|
|
93
|
+
OMGKIT includes a comprehensive testing automation system:
|
|
94
|
+
|
|
95
|
+
#### Auto-Generate Test Tasks
|
|
96
|
+
When you create a feature, OMGKIT automatically generates corresponding test tasks:
|
|
97
|
+
|
|
98
|
+
```yaml
|
|
99
|
+
# workflow.yaml
|
|
100
|
+
testing:
|
|
101
|
+
auto_generate_tasks: true
|
|
102
|
+
required_test_types:
|
|
103
|
+
- unit
|
|
104
|
+
- integration
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Feature tasks automatically spawn test tasks based on feature type (API → Contract tests, UI → Snapshot tests, etc.)
|
|
108
|
+
|
|
109
|
+
#### Enforce Tests Before Done
|
|
110
|
+
No task can be marked "done" without passing tests:
|
|
111
|
+
|
|
112
|
+
```yaml
|
|
113
|
+
testing:
|
|
114
|
+
enforcement:
|
|
115
|
+
level: standard # soft | standard | strict
|
|
116
|
+
blocking:
|
|
117
|
+
on_test_failure: true
|
|
118
|
+
on_coverage_below_minimum: true
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
#### Coverage Gates
|
|
122
|
+
Set minimum and target coverage thresholds:
|
|
123
|
+
|
|
124
|
+
```yaml
|
|
125
|
+
testing:
|
|
126
|
+
coverage_gates:
|
|
127
|
+
unit:
|
|
128
|
+
minimum: 80
|
|
129
|
+
target: 90
|
|
130
|
+
integration:
|
|
131
|
+
minimum: 60
|
|
132
|
+
target: 75
|
|
133
|
+
overall:
|
|
134
|
+
minimum: 75
|
|
135
|
+
target: 85
|
|
136
|
+
```
|
|
137
|
+
|
|
91
138
|
---
|
|
92
139
|
|
|
93
140
|
## Installation
|
|
@@ -222,7 +269,7 @@ Agents are specialized AI team members, each with distinct expertise and respons
|
|
|
222
269
|
|
|
223
270
|
---
|
|
224
271
|
|
|
225
|
-
## Commands (
|
|
272
|
+
## Commands (160)
|
|
226
273
|
|
|
227
274
|
Commands are slash-prefixed actions organized by namespace.
|
|
228
275
|
|
|
@@ -260,10 +307,13 @@ Commands are slash-prefixed actions organized by namespace.
|
|
|
260
307
|
### Quality (`/quality:*`)
|
|
261
308
|
|
|
262
309
|
```bash
|
|
263
|
-
/quality:security-scan
|
|
310
|
+
/quality:security-scan # Scan for vulnerabilities
|
|
264
311
|
/quality:refactor <file> # Improve code structure
|
|
265
312
|
/quality:optimize <file> # Performance optimization
|
|
266
|
-
/quality:lint
|
|
313
|
+
/quality:lint # Run linting
|
|
314
|
+
/quality:verify-done # Verify test requirements before completion
|
|
315
|
+
/quality:coverage-check # Check coverage against gates
|
|
316
|
+
/quality:test-plan # Generate comprehensive test plan
|
|
267
317
|
```
|
|
268
318
|
|
|
269
319
|
### Omega (`/omega:*`)
|
|
@@ -370,7 +420,7 @@ Commands are slash-prefixed actions organized by namespace.
|
|
|
370
420
|
|
|
371
421
|
---
|
|
372
422
|
|
|
373
|
-
## Workflows (
|
|
423
|
+
## Workflows (69)
|
|
374
424
|
|
|
375
425
|
Workflows are orchestrated sequences of agents, commands, and skills.
|
|
376
426
|
|
|
@@ -383,6 +433,12 @@ Workflows are orchestrated sequences of agents, commands, and skills.
|
|
|
383
433
|
| `development/refactor` | Code improvement and restructuring |
|
|
384
434
|
| `development/code-review` | Comprehensive code review |
|
|
385
435
|
|
|
436
|
+
### Testing Automation (New)
|
|
437
|
+
|
|
438
|
+
| Workflow | Description |
|
|
439
|
+
|----------|-------------|
|
|
440
|
+
| `testing/automated-testing` | End-to-end testing automation with task generation, enforcement, and coverage gates |
|
|
441
|
+
|
|
386
442
|
### AI Engineering
|
|
387
443
|
|
|
388
444
|
| Workflow | Description |
|
|
@@ -454,7 +510,7 @@ Workflows are orchestrated sequences of agents, commands, and skills.
|
|
|
454
510
|
|
|
455
511
|
---
|
|
456
512
|
|
|
457
|
-
## Skills (
|
|
513
|
+
## Skills (161)
|
|
458
514
|
|
|
459
515
|
Skills are domain expertise modules organized in 24 categories.
|
|
460
516
|
|
|
@@ -498,7 +554,7 @@ Based on Chip Huyen's "Designing ML Systems" and Stanford CS 329S:
|
|
|
498
554
|
| `ml-systems/robust-ai` | Reliability, monitoring, drift detection |
|
|
499
555
|
| `ml-systems/deployment-paradigms` | Batch vs real-time vs streaming |
|
|
500
556
|
|
|
501
|
-
### Methodology (
|
|
557
|
+
### Methodology (19 skills)
|
|
502
558
|
|
|
503
559
|
| Skill | Description |
|
|
504
560
|
|-------|-------------|
|
|
@@ -507,6 +563,8 @@ Based on Chip Huyen's "Designing ML Systems" and Stanford CS 329S:
|
|
|
507
563
|
| `methodology/debugging` | Systematic debugging approach |
|
|
508
564
|
| `methodology/code-review` | Review standards and checklists |
|
|
509
565
|
| `methodology/tdd` | Test-driven development |
|
|
566
|
+
| `methodology/test-task-generation` | Auto-generate test tasks from features |
|
|
567
|
+
| `methodology/test-enforcement` | Enforce tests before task completion |
|
|
510
568
|
|
|
511
569
|
### Frameworks (10 skills)
|
|
512
570
|
|
|
@@ -735,7 +793,7 @@ If any sync issue is detected (missing pages, wrong counts, broken links), the v
|
|
|
735
793
|
|
|
736
794
|
## Validation & Testing
|
|
737
795
|
|
|
738
|
-
OMGKIT has
|
|
796
|
+
OMGKIT has 7300+ automated tests ensuring system integrity.
|
|
739
797
|
|
|
740
798
|
### Run Tests
|
|
741
799
|
|
package/bin/omgkit.js
CHANGED
|
@@ -56,12 +56,13 @@ ${COLORS.bright}EXAMPLES${COLORS.reset}
|
|
|
56
56
|
${COLORS.bright}AFTER INSTALLATION${COLORS.reset}
|
|
57
57
|
In Claude Code, type / to see all OMGKIT commands:
|
|
58
58
|
|
|
59
|
-
Core: /feature, /fix, /plan, /test, /review
|
|
60
|
-
Omega: /10x, /100x, /1000x, /principles
|
|
61
|
-
Sprint: /vision
|
|
59
|
+
Core: /dev:feature, /dev:fix, /planning:plan, /quality:test, /dev:review
|
|
60
|
+
Omega: /omega:10x, /omega:100x, /omega:1000x, /omega:principles
|
|
61
|
+
Sprint: /sprint:vision-set, /sprint:sprint-new, /sprint:team-run
|
|
62
|
+
Workflow: /workflow:init, /workflow:status, /hooks:setup
|
|
62
63
|
|
|
63
64
|
${COLORS.bright}DOCUMENTATION${COLORS.reset}
|
|
64
|
-
https://
|
|
65
|
+
https://omg.mintlify.app
|
|
65
66
|
`);
|
|
66
67
|
}
|
|
67
68
|
|
package/lib/cli.js
CHANGED
|
@@ -51,7 +51,7 @@ ${COLORS.magenta}╔════════════════════
|
|
|
51
51
|
║ ║
|
|
52
52
|
║ 🔮 OMGKIT - Omega-Level Development Kit ║
|
|
53
53
|
║ ║
|
|
54
|
-
║
|
|
54
|
+
║ 41 Agents • 156 Commands • 159 Skills • 10 Modes ║
|
|
55
55
|
║ "Think Omega. Build Omega. Be Omega." ║
|
|
56
56
|
║ ║
|
|
57
57
|
╚════════════════════════════════════════════════════════════╝${COLORS.reset}
|
|
@@ -499,7 +499,15 @@ export function doctor(options = {}) {
|
|
|
499
499
|
|
|
500
500
|
// Count commands
|
|
501
501
|
if (existsSync(commandsDir)) {
|
|
502
|
-
const commandPrefixes = [
|
|
502
|
+
const commandPrefixes = [
|
|
503
|
+
// All command namespaces
|
|
504
|
+
'alignment:', 'auto:', 'context:', 'data:', 'design:', 'dev:', 'domain:',
|
|
505
|
+
'game:', 'git:', 'hooks:', 'iot:', 'ml:', 'omega:', 'omgdata:', 'omgdeploy:',
|
|
506
|
+
'omgfeature:', 'omgml:', 'omgops:', 'omgoptim:', 'omgtrain:', 'perf:',
|
|
507
|
+
'planning:', 'platform:', 'quality:', 'security:', 'sprint:', 'sre:', 'workflow:',
|
|
508
|
+
// Modes
|
|
509
|
+
'mode:'
|
|
510
|
+
];
|
|
503
511
|
const files = readdirSync(commandsDir).filter(f =>
|
|
504
512
|
f.endsWith('.md') && commandPrefixes.some(p => f.startsWith(p))
|
|
505
513
|
);
|
|
@@ -517,7 +525,14 @@ export function doctor(options = {}) {
|
|
|
517
525
|
|
|
518
526
|
// Count skills
|
|
519
527
|
if (existsSync(skillsDir)) {
|
|
520
|
-
const skillPrefixes = [
|
|
528
|
+
const skillPrefixes = [
|
|
529
|
+
// All skill categories
|
|
530
|
+
'ai-engineering-', 'ai-ml-', 'autonomous-', 'backend-', 'databases-',
|
|
531
|
+
'devops-', 'event-driven-', 'frameworks-', 'frontend-', 'game-',
|
|
532
|
+
'integrations-', 'iot-', 'languages-', 'methodology-', 'microservices-',
|
|
533
|
+
'ml-systems-', 'mobile-', 'mobile-advanced-', 'omega-', 'security-',
|
|
534
|
+
'simulation-', 'testing-', 'tools-'
|
|
535
|
+
];
|
|
521
536
|
const dirs = readdirSync(skillsDir).filter(f => {
|
|
522
537
|
const fullPath = join(skillsDir, f);
|
|
523
538
|
return statSync(fullPath).isDirectory() && skillPrefixes.some(p => f.startsWith(p));
|
|
@@ -537,13 +552,19 @@ export function doctor(options = {}) {
|
|
|
537
552
|
// Count agents
|
|
538
553
|
if (existsSync(agentsDir)) {
|
|
539
554
|
const agentFiles = [
|
|
540
|
-
|
|
541
|
-
'
|
|
542
|
-
'
|
|
543
|
-
'
|
|
544
|
-
'
|
|
545
|
-
'
|
|
546
|
-
'
|
|
555
|
+
// All 41 agents
|
|
556
|
+
'ai-architect-agent.md', 'api-designer.md', 'architect.md', 'brainstormer.md',
|
|
557
|
+
'cicd-manager.md', 'code-reviewer.md', 'copywriter.md', 'data-engineer.md',
|
|
558
|
+
'data-scientist-agent.md', 'database-admin.md', 'debugger.md', 'devsecops.md',
|
|
559
|
+
'docs-manager.md', 'domain-decomposer.md', 'embedded-systems.md',
|
|
560
|
+
'experiment-analyst-agent.md', 'fullstack-developer.md', 'game-systems-designer.md',
|
|
561
|
+
'git-manager.md', 'journal-writer.md', 'ml-engineer-agent.md', 'ml-engineer.md',
|
|
562
|
+
'mlops-engineer-agent.md', 'model-optimizer-agent.md', 'observability-engineer.md',
|
|
563
|
+
'oracle.md', 'performance-engineer.md', 'pipeline-architect.md', 'planner.md',
|
|
564
|
+
'platform-engineer.md', 'production-engineer-agent.md', 'project-manager.md',
|
|
565
|
+
'research-scientist-agent.md', 'researcher.md', 'scientific-computing.md',
|
|
566
|
+
'scout.md', 'security-auditor.md', 'sprint-master.md', 'tester.md',
|
|
567
|
+
'ui-ux-designer.md', 'vulnerability-scanner.md'
|
|
547
568
|
];
|
|
548
569
|
const installed = agentFiles.filter(f => existsSync(join(agentsDir, f)));
|
|
549
570
|
result.claudeCode.agents = installed.length;
|
|
@@ -663,31 +684,40 @@ export function uninstallPlugin(options = {}) {
|
|
|
663
684
|
agents: 0
|
|
664
685
|
};
|
|
665
686
|
|
|
666
|
-
// Command prefixes from our categories
|
|
687
|
+
// Command prefixes from our categories
|
|
667
688
|
const commandPrefixes = [
|
|
668
|
-
|
|
669
|
-
'
|
|
670
|
-
|
|
671
|
-
'
|
|
672
|
-
'
|
|
689
|
+
// All command namespaces
|
|
690
|
+
'alignment:', 'auto:', 'context:', 'data:', 'design:', 'dev:', 'domain:',
|
|
691
|
+
'game:', 'git:', 'hooks:', 'iot:', 'ml:', 'omega:', 'omgdata:', 'omgdeploy:',
|
|
692
|
+
'omgfeature:', 'omgml:', 'omgops:', 'omgoptim:', 'omgtrain:', 'perf:',
|
|
693
|
+
'planning:', 'platform:', 'quality:', 'security:', 'sprint:', 'sre:', 'workflow:',
|
|
694
|
+
// Modes
|
|
695
|
+
'mode:'
|
|
673
696
|
];
|
|
674
697
|
|
|
675
698
|
// Skill prefixes from our categories
|
|
676
699
|
const skillPrefixes = [
|
|
677
|
-
'
|
|
678
|
-
'
|
|
679
|
-
'
|
|
700
|
+
'ai-engineering-', 'ai-ml-', 'autonomous-', 'backend-', 'databases-',
|
|
701
|
+
'devops-', 'event-driven-', 'frameworks-', 'frontend-', 'game-',
|
|
702
|
+
'integrations-', 'iot-', 'languages-', 'methodology-', 'microservices-',
|
|
703
|
+
'ml-systems-', 'mobile-', 'mobile-advanced-', 'omega-', 'security-',
|
|
704
|
+
'simulation-', 'testing-', 'tools-'
|
|
680
705
|
];
|
|
681
706
|
|
|
682
|
-
// Agent files we installed
|
|
707
|
+
// Agent files we installed (all 41 agents)
|
|
683
708
|
const agentFiles = [
|
|
684
|
-
'
|
|
685
|
-
'
|
|
686
|
-
'
|
|
687
|
-
'
|
|
688
|
-
'
|
|
689
|
-
'git-manager.md', '
|
|
690
|
-
'
|
|
709
|
+
'ai-architect-agent.md', 'api-designer.md', 'architect.md', 'brainstormer.md',
|
|
710
|
+
'cicd-manager.md', 'code-reviewer.md', 'copywriter.md', 'data-engineer.md',
|
|
711
|
+
'data-scientist-agent.md', 'database-admin.md', 'debugger.md', 'devsecops.md',
|
|
712
|
+
'docs-manager.md', 'domain-decomposer.md', 'embedded-systems.md',
|
|
713
|
+
'experiment-analyst-agent.md', 'fullstack-developer.md', 'game-systems-designer.md',
|
|
714
|
+
'git-manager.md', 'journal-writer.md', 'ml-engineer-agent.md', 'ml-engineer.md',
|
|
715
|
+
'mlops-engineer-agent.md', 'model-optimizer-agent.md', 'observability-engineer.md',
|
|
716
|
+
'oracle.md', 'performance-engineer.md', 'pipeline-architect.md', 'planner.md',
|
|
717
|
+
'platform-engineer.md', 'production-engineer-agent.md', 'project-manager.md',
|
|
718
|
+
'research-scientist-agent.md', 'researcher.md', 'scientific-computing.md',
|
|
719
|
+
'scout.md', 'security-auditor.md', 'sprint-master.md', 'tester.md',
|
|
720
|
+
'ui-ux-designer.md', 'vulnerability-scanner.md'
|
|
691
721
|
];
|
|
692
722
|
|
|
693
723
|
// Remove backup location
|
|
@@ -805,10 +835,10 @@ export function listComponents(type, options = {}) {
|
|
|
805
835
|
}
|
|
806
836
|
|
|
807
837
|
const componentTypes = {
|
|
808
|
-
commands: { title: 'Commands'
|
|
809
|
-
agents: { title: 'Agents'
|
|
810
|
-
skills: { title: 'Skills'
|
|
811
|
-
modes: { title: 'Modes'
|
|
838
|
+
commands: { title: 'Commands' },
|
|
839
|
+
agents: { title: 'Agents' },
|
|
840
|
+
skills: { title: 'Skills' },
|
|
841
|
+
modes: { title: 'Modes' }
|
|
812
842
|
};
|
|
813
843
|
|
|
814
844
|
const result = { success: true, components: {} };
|
|
@@ -818,7 +848,7 @@ export function listComponents(type, options = {}) {
|
|
|
818
848
|
typesToList.forEach(key => {
|
|
819
849
|
if (!componentTypes[key]) return;
|
|
820
850
|
|
|
821
|
-
const { title
|
|
851
|
+
const { title } = componentTypes[key];
|
|
822
852
|
const dir = join(pluginDir, key);
|
|
823
853
|
|
|
824
854
|
if (existsSync(dir)) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omgkit",
|
|
3
|
-
"version": "2.24.
|
|
4
|
-
"description": "Omega-Level Development Kit - AI Team System for Claude Code. 41 agents,
|
|
3
|
+
"version": "2.24.2",
|
|
4
|
+
"description": "Omega-Level Development Kit - AI Team System for Claude Code. 41 agents, 160 commands, 161 skills, 69 workflows.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude-code",
|
|
7
7
|
"ai",
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature Tested
|
|
3
|
+
description: Create a feature with automatically generated test tasks. Ensures every implementation task has corresponding test coverage before the feature can be marked complete.
|
|
4
|
+
category: dev
|
|
5
|
+
related_skills:
|
|
6
|
+
- methodology/test-task-generation
|
|
7
|
+
- methodology/test-enforcement
|
|
8
|
+
- methodology/executing-plans
|
|
9
|
+
related_commands:
|
|
10
|
+
- /quality:test-plan
|
|
11
|
+
- /quality:verify-done
|
|
12
|
+
- /dev:feature
|
|
13
|
+
- /dev:test
|
|
14
|
+
allowed-tools: Task, Read, Write, Bash, Grep, Glob
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# /dev:feature-tested
|
|
18
|
+
|
|
19
|
+
Build a feature with automatically generated test tasks. This command ensures comprehensive test coverage by creating test tasks alongside implementation tasks.
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
/dev:feature-tested <feature-description>
|
|
25
|
+
/dev:feature-tested "Add user authentication" --coverage 90
|
|
26
|
+
/dev:feature-tested "Payment processing" --test-types unit,integration,e2e
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Options
|
|
30
|
+
|
|
31
|
+
| Option | Description | Default |
|
|
32
|
+
|--------|-------------|---------|
|
|
33
|
+
| `--coverage` | Minimum coverage target | 80% |
|
|
34
|
+
| `--test-types` | Required test types | unit,integration |
|
|
35
|
+
| `--tdd` | Use TDD approach (tests first) | false |
|
|
36
|
+
| `--strict` | Strict enforcement (no overrides) | false |
|
|
37
|
+
|
|
38
|
+
## How It Works
|
|
39
|
+
|
|
40
|
+
### 1. Feature Analysis
|
|
41
|
+
Analyzes the feature description to determine:
|
|
42
|
+
- Feature type (API, UI, business logic, etc.)
|
|
43
|
+
- Required test types
|
|
44
|
+
- Coverage targets
|
|
45
|
+
- Acceptance criteria
|
|
46
|
+
|
|
47
|
+
### 2. Task Generation
|
|
48
|
+
Creates implementation tasks AND corresponding test tasks:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
Feature: Add user profile API
|
|
52
|
+
|
|
53
|
+
Generated Tasks:
|
|
54
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
55
|
+
│ Implementation Tasks │
|
|
56
|
+
├─────────────────────────────────────────────────────────────┤
|
|
57
|
+
│ ☐ TASK-001: Create profile database schema │
|
|
58
|
+
│ ☐ TASK-002: Implement profile service │
|
|
59
|
+
│ ☐ TASK-003: Create profile API endpoints │
|
|
60
|
+
│ ☐ TASK-004: Add input validation │
|
|
61
|
+
└─────────────────────────────────────────────────────────────┘
|
|
62
|
+
|
|
63
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
64
|
+
│ Test Tasks (Auto-Generated) │
|
|
65
|
+
├─────────────────────────────────────────────────────────────┤
|
|
66
|
+
│ ☐ TEST-001: Unit tests for profile service │
|
|
67
|
+
│ ☐ TEST-002: Integration tests for profile API │
|
|
68
|
+
│ ☐ TEST-003: Contract tests for API schema │
|
|
69
|
+
│ ☐ TEST-004: Security tests for profile endpoints │
|
|
70
|
+
└─────────────────────────────────────────────────────────────┘
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 3. Enforcement
|
|
74
|
+
- Cannot mark feature as "done" until all test tasks complete
|
|
75
|
+
- Coverage must meet minimum threshold
|
|
76
|
+
- All tests must pass
|
|
77
|
+
|
|
78
|
+
## Output Format
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
82
|
+
║ FEATURE WITH TESTS CREATED ║
|
|
83
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
84
|
+
|
|
85
|
+
Feature: Add user profile API
|
|
86
|
+
ID: FEAT-042
|
|
87
|
+
Coverage Target: 90%
|
|
88
|
+
|
|
89
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
90
|
+
│ Implementation Tasks (4) │
|
|
91
|
+
├─────────────────────────────────────────────────────────────┤
|
|
92
|
+
│ TASK-001: Create profile database schema [Pending] │
|
|
93
|
+
│ TASK-002: Implement profile service [Pending] │
|
|
94
|
+
│ TASK-003: Create profile API endpoints [Pending] │
|
|
95
|
+
│ TASK-004: Add input validation [Pending] │
|
|
96
|
+
└─────────────────────────────────────────────────────────────┘
|
|
97
|
+
|
|
98
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
99
|
+
│ Test Tasks (4) - Auto-Generated │
|
|
100
|
+
├─────────────────────────────────────────────────────────────┤
|
|
101
|
+
│ TEST-001: Unit tests for profile service [Pending] │
|
|
102
|
+
│ → Coverage target: 90% for src/services/profile.ts │
|
|
103
|
+
│ → Test file: tests/unit/services/profile.test.ts │
|
|
104
|
+
│ │
|
|
105
|
+
│ TEST-002: Integration tests for profile API [Pending] │
|
|
106
|
+
│ → Coverage target: 75% for API endpoints │
|
|
107
|
+
│ → Test file: tests/integration/api/profile.int.test.ts │
|
|
108
|
+
│ │
|
|
109
|
+
│ TEST-003: Contract tests for API schema [Pending] │
|
|
110
|
+
│ → Validates: Request/response schemas │
|
|
111
|
+
│ → Test file: tests/contract/profile.contract.test.ts │
|
|
112
|
+
│ │
|
|
113
|
+
│ TEST-004: Security tests for profile endpoints [Pending] │
|
|
114
|
+
│ → Checks: Auth, injection, XSS │
|
|
115
|
+
│ → Test file: tests/security/profile.security.test.ts │
|
|
116
|
+
└─────────────────────────────────────────────────────────────┘
|
|
117
|
+
|
|
118
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
119
|
+
│ Completion Requirements │
|
|
120
|
+
├─────────────────────────────────────────────────────────────┤
|
|
121
|
+
│ ☐ All implementation tasks complete │
|
|
122
|
+
│ ☐ All test tasks complete │
|
|
123
|
+
│ ☐ Overall coverage ≥ 90% │
|
|
124
|
+
│ ☐ All tests passing │
|
|
125
|
+
│ ☐ No security vulnerabilities │
|
|
126
|
+
│ ☐ Code review approved │
|
|
127
|
+
└─────────────────────────────────────────────────────────────┘
|
|
128
|
+
|
|
129
|
+
Next: Start with TASK-001 or use --tdd to write tests first
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## TDD Mode
|
|
133
|
+
|
|
134
|
+
With `--tdd` flag, tests are created and executed first:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
/dev:feature-tested "Add user profile API" --tdd
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Flow:
|
|
141
|
+
1. Generate test tasks first
|
|
142
|
+
2. Write failing tests (Red)
|
|
143
|
+
3. Implement to pass tests (Green)
|
|
144
|
+
4. Refactor (Refactor)
|
|
145
|
+
5. Verify coverage
|
|
146
|
+
|
|
147
|
+
## Workflow Integration
|
|
148
|
+
|
|
149
|
+
### Sprint Planning
|
|
150
|
+
```bash
|
|
151
|
+
/sprint:sprint-new
|
|
152
|
+
# Add feature with tests
|
|
153
|
+
/dev:feature-tested "User profile management"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Daily Development
|
|
157
|
+
```bash
|
|
158
|
+
# Check what's needed
|
|
159
|
+
/quality:verify-done FEAT-042
|
|
160
|
+
|
|
161
|
+
# Work on implementation
|
|
162
|
+
# Work on tests
|
|
163
|
+
# Verify completion
|
|
164
|
+
/quality:verify-done FEAT-042
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Feature Completion
|
|
168
|
+
```bash
|
|
169
|
+
# Attempt to complete
|
|
170
|
+
/quality:verify-done FEAT-042
|
|
171
|
+
|
|
172
|
+
# If all requirements met:
|
|
173
|
+
# ✅ Feature FEAT-042 marked as DONE
|
|
174
|
+
|
|
175
|
+
# If requirements not met:
|
|
176
|
+
# ❌ Cannot complete: Coverage 75% below 90% minimum
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Examples
|
|
180
|
+
|
|
181
|
+
### Basic feature with tests
|
|
182
|
+
```bash
|
|
183
|
+
/dev:feature-tested "Add user authentication"
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### With strict coverage
|
|
187
|
+
```bash
|
|
188
|
+
/dev:feature-tested "Payment processing" --coverage 95 --strict
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### TDD approach
|
|
192
|
+
```bash
|
|
193
|
+
/dev:feature-tested "Shopping cart" --tdd
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Specific test types
|
|
197
|
+
```bash
|
|
198
|
+
/dev:feature-tested "Admin dashboard" --test-types unit,e2e,security
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Comparison with /dev:feature
|
|
202
|
+
|
|
203
|
+
| Aspect | /dev:feature | /dev:feature-tested |
|
|
204
|
+
|--------|-------------|---------------------|
|
|
205
|
+
| Test tasks | Manual | Auto-generated |
|
|
206
|
+
| Enforcement | Soft | Hard (blocking) |
|
|
207
|
+
| Coverage tracking | Manual | Automatic |
|
|
208
|
+
| Completion check | Manual | Automatic |
|