@schnick371/devsteps-shared 0.0.1 → 0.5.1
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 +66 -7
- package/dist/core/add.d.ts +23 -0
- package/dist/core/add.d.ts.map +1 -0
- package/dist/core/add.js +102 -0
- package/dist/core/add.js.map +1 -0
- package/dist/core/archive.d.ts +24 -0
- package/dist/core/archive.d.ts.map +1 -0
- package/dist/core/archive.js +109 -0
- package/dist/core/archive.js.map +1 -0
- package/dist/core/bulk-update.d.ts +34 -0
- package/dist/core/bulk-update.d.ts.map +1 -0
- package/dist/core/bulk-update.js +141 -0
- package/dist/core/bulk-update.js.map +1 -0
- package/dist/core/context.d.ts +54 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/context.js +198 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/get.d.ts +10 -0
- package/dist/core/get.d.ts.map +1 -0
- package/dist/core/get.js +28 -0
- package/dist/core/get.js.map +1 -0
- package/dist/core/index.d.ts +9 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +9 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/list.d.ts +19 -0
- package/dist/core/list.d.ts.map +1 -0
- package/dist/core/list.js +64 -0
- package/dist/core/list.js.map +1 -0
- package/dist/core/update.d.ts +23 -0
- package/dist/core/update.d.ts.map +1 -0
- package/dist/core/update.js +118 -0
- package/dist/core/update.js.map +1 -0
- package/dist/core/validation.d.ts +28 -0
- package/dist/core/validation.d.ts.map +1 -0
- package/dist/core/validation.js +205 -0
- package/dist/core/validation.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/index.d.ts +286 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +200 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/project.d.ts +134 -0
- package/dist/schemas/project.d.ts.map +1 -0
- package/dist/schemas/project.js +54 -0
- package/dist/schemas/project.js.map +1 -0
- package/dist/schemas/relationships.d.ts +30 -0
- package/dist/schemas/relationships.d.ts.map +1 -0
- package/dist/schemas/relationships.js +41 -0
- package/dist/schemas/relationships.js.map +1 -0
- package/dist/types/commands.d.ts +92 -0
- package/dist/types/commands.d.ts.map +1 -0
- package/dist/types/commands.js +14 -0
- package/dist/types/commands.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/cache.d.ts +80 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +169 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/index.d.ts +72 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +148 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +47 -15
- package/index.js +0 -6
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
// Re-export project context schemas
|
|
3
|
+
export * from './project.js';
|
|
4
|
+
export * from './relationships.js';
|
|
5
|
+
/**
|
|
6
|
+
* Methodology types
|
|
7
|
+
*/
|
|
8
|
+
export const Methodology = z.enum(['scrum', 'waterfall', 'hybrid']);
|
|
9
|
+
/**
|
|
10
|
+
* Item types in devstepssystem
|
|
11
|
+
* Scrum: epic, story, task, bug, spike, test
|
|
12
|
+
* Waterfall: requirement, feature, task, bug, test
|
|
13
|
+
* Hybrid: all of the above
|
|
14
|
+
*/
|
|
15
|
+
export const ItemType = z.enum([
|
|
16
|
+
'epic',
|
|
17
|
+
'story',
|
|
18
|
+
'task',
|
|
19
|
+
'requirement',
|
|
20
|
+
'feature',
|
|
21
|
+
'bug',
|
|
22
|
+
'spike',
|
|
23
|
+
'test',
|
|
24
|
+
]);
|
|
25
|
+
/**
|
|
26
|
+
* Item status lifecycle
|
|
27
|
+
*/
|
|
28
|
+
export const ItemStatus = z.enum([
|
|
29
|
+
'draft',
|
|
30
|
+
'planned',
|
|
31
|
+
'in-progress',
|
|
32
|
+
'review',
|
|
33
|
+
'done',
|
|
34
|
+
'obsolete',
|
|
35
|
+
'blocked',
|
|
36
|
+
'cancelled',
|
|
37
|
+
]);
|
|
38
|
+
/**
|
|
39
|
+
* Priority levels
|
|
40
|
+
*/
|
|
41
|
+
export const Priority = z.enum(['critical', 'high', 'medium', 'low']);
|
|
42
|
+
/**
|
|
43
|
+
* Eisenhower Matrix quadrants for prioritization
|
|
44
|
+
* Q1: Urgent + Important = Do First
|
|
45
|
+
* Q2: Not Urgent + Important = Schedule/Plan
|
|
46
|
+
* Q3: Urgent + Not Important = Delegate
|
|
47
|
+
* Q4: Not Urgent + Not Important = Eliminate/Later
|
|
48
|
+
*/
|
|
49
|
+
export const EisenhowerQuadrant = z.enum([
|
|
50
|
+
'urgent-important', // Q1: Do First
|
|
51
|
+
'not-urgent-important', // Q2: Schedule
|
|
52
|
+
'urgent-not-important', // Q3: Delegate
|
|
53
|
+
'not-urgent-not-important', // Q4: Eliminate
|
|
54
|
+
]);
|
|
55
|
+
/**
|
|
56
|
+
* Relationship types between items
|
|
57
|
+
*/
|
|
58
|
+
export const RelationType = z.enum([
|
|
59
|
+
'implements',
|
|
60
|
+
'implemented-by',
|
|
61
|
+
'tested-by',
|
|
62
|
+
'tests',
|
|
63
|
+
'blocks',
|
|
64
|
+
'blocked-by',
|
|
65
|
+
'relates-to',
|
|
66
|
+
'depends-on',
|
|
67
|
+
'required-by',
|
|
68
|
+
'supersedes',
|
|
69
|
+
'superseded-by',
|
|
70
|
+
]);
|
|
71
|
+
/**
|
|
72
|
+
* Linked items structure
|
|
73
|
+
*/
|
|
74
|
+
export const LinkedItems = z
|
|
75
|
+
.object({
|
|
76
|
+
implements: z.array(z.string()),
|
|
77
|
+
'implemented-by': z.array(z.string()),
|
|
78
|
+
'tested-by': z.array(z.string()),
|
|
79
|
+
tests: z.array(z.string()),
|
|
80
|
+
blocks: z.array(z.string()),
|
|
81
|
+
'blocked-by': z.array(z.string()),
|
|
82
|
+
'relates-to': z.array(z.string()),
|
|
83
|
+
'depends-on': z.array(z.string()),
|
|
84
|
+
'required-by': z.array(z.string()),
|
|
85
|
+
supersedes: z.array(z.string()),
|
|
86
|
+
'superseded-by': z.array(z.string()),
|
|
87
|
+
})
|
|
88
|
+
.default({
|
|
89
|
+
implements: [],
|
|
90
|
+
'implemented-by': [],
|
|
91
|
+
'tested-by': [],
|
|
92
|
+
tests: [],
|
|
93
|
+
blocks: [],
|
|
94
|
+
'blocked-by': [],
|
|
95
|
+
'relates-to': [],
|
|
96
|
+
'depends-on': [],
|
|
97
|
+
'required-by': [],
|
|
98
|
+
supersedes: [],
|
|
99
|
+
'superseded-by': [],
|
|
100
|
+
});
|
|
101
|
+
/**
|
|
102
|
+
* Git commit reference
|
|
103
|
+
*/
|
|
104
|
+
export const GitCommit = z.object({
|
|
105
|
+
hash: z.string(),
|
|
106
|
+
message: z.string(),
|
|
107
|
+
author: z.string(),
|
|
108
|
+
timestamp: z.string(),
|
|
109
|
+
branch: z.string().optional(),
|
|
110
|
+
});
|
|
111
|
+
/**
|
|
112
|
+
* Core item schema - metadata stored as JSON
|
|
113
|
+
*/
|
|
114
|
+
export const ItemMetadata = z.object({
|
|
115
|
+
id: z.string().regex(/^(EPIC|STORY|TASK|REQ|FEAT|BUG|SPIKE|TEST)-\d{3,}$/),
|
|
116
|
+
type: ItemType,
|
|
117
|
+
category: z.string().default('general'),
|
|
118
|
+
title: z.string().min(1).max(200),
|
|
119
|
+
status: ItemStatus.default('draft'),
|
|
120
|
+
priority: Priority.default('medium'),
|
|
121
|
+
eisenhower: EisenhowerQuadrant.optional(),
|
|
122
|
+
superseded_by: z.string().optional(),
|
|
123
|
+
created: z.string().datetime(),
|
|
124
|
+
updated: z.string().datetime(),
|
|
125
|
+
author: z.string().email().optional(),
|
|
126
|
+
assignee: z.string().email().optional(),
|
|
127
|
+
affected_paths: z.array(z.string()).default([]),
|
|
128
|
+
linked_items: LinkedItems,
|
|
129
|
+
tags: z.array(z.string()).default([]),
|
|
130
|
+
estimated_effort: z.string().optional(),
|
|
131
|
+
actual_effort: z.string().optional(),
|
|
132
|
+
commits: z.array(GitCommit).default([]),
|
|
133
|
+
metadata: z.record(z.string(), z.unknown()).default({}),
|
|
134
|
+
});
|
|
135
|
+
/**
|
|
136
|
+
* Configuration schema for .devsteps/config.json
|
|
137
|
+
*/
|
|
138
|
+
export const DevStepsConfig = z.object({
|
|
139
|
+
version: z.string().default('0.1.0'),
|
|
140
|
+
project_name: z.string(),
|
|
141
|
+
project_id: z.string(),
|
|
142
|
+
created: z.string().datetime(),
|
|
143
|
+
updated: z.string().datetime(),
|
|
144
|
+
settings: z
|
|
145
|
+
.object({
|
|
146
|
+
methodology: Methodology.default('scrum'),
|
|
147
|
+
auto_increment: z.boolean(),
|
|
148
|
+
git_integration: z.boolean(),
|
|
149
|
+
default_author: z.string().email().optional(),
|
|
150
|
+
item_types: z.array(ItemType),
|
|
151
|
+
item_prefixes: z.record(z.string(), z.string()),
|
|
152
|
+
})
|
|
153
|
+
.default({
|
|
154
|
+
methodology: 'scrum',
|
|
155
|
+
auto_increment: true,
|
|
156
|
+
git_integration: true,
|
|
157
|
+
item_types: ['epic', 'story', 'task', 'bug', 'spike', 'test'],
|
|
158
|
+
item_prefixes: {
|
|
159
|
+
epic: 'EPIC',
|
|
160
|
+
story: 'STORY',
|
|
161
|
+
task: 'TASK',
|
|
162
|
+
bug: 'BUG',
|
|
163
|
+
spike: 'SPIKE',
|
|
164
|
+
test: 'TEST',
|
|
165
|
+
},
|
|
166
|
+
}),
|
|
167
|
+
});
|
|
168
|
+
/**
|
|
169
|
+
* Index schema for .devsteps/index.json
|
|
170
|
+
*/
|
|
171
|
+
export const DevStepsIndex = z.object({
|
|
172
|
+
items: z.array(z.object({
|
|
173
|
+
id: z.string(),
|
|
174
|
+
type: ItemType,
|
|
175
|
+
title: z.string(),
|
|
176
|
+
status: ItemStatus,
|
|
177
|
+
priority: Priority,
|
|
178
|
+
updated: z.string().datetime(),
|
|
179
|
+
})),
|
|
180
|
+
last_updated: z.string().datetime(),
|
|
181
|
+
counters: z.record(z.string(), z.number()).default({}),
|
|
182
|
+
archived_items: z
|
|
183
|
+
.array(z.object({
|
|
184
|
+
id: z.string(),
|
|
185
|
+
type: ItemType,
|
|
186
|
+
title: z.string(),
|
|
187
|
+
archived_at: z.string().datetime(),
|
|
188
|
+
original_status: ItemStatus,
|
|
189
|
+
}))
|
|
190
|
+
.default([]),
|
|
191
|
+
stats: z
|
|
192
|
+
.object({
|
|
193
|
+
total: z.number(),
|
|
194
|
+
by_type: z.record(z.string(), z.number()),
|
|
195
|
+
by_status: z.record(z.string(), z.number()),
|
|
196
|
+
archived: z.number().optional(),
|
|
197
|
+
})
|
|
198
|
+
.optional(),
|
|
199
|
+
});
|
|
200
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Schema for PROJECT.md metadata section
|
|
4
|
+
*/
|
|
5
|
+
export declare const ProjectMetadataSchema: z.ZodObject<{
|
|
6
|
+
name: z.ZodString;
|
|
7
|
+
created: z.ZodString;
|
|
8
|
+
last_updated: z.ZodString;
|
|
9
|
+
version: z.ZodString;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
/**
|
|
12
|
+
* Schema for Quick Context (< 5K tokens target)
|
|
13
|
+
*/
|
|
14
|
+
export declare const QuickContextSchema: z.ZodObject<{
|
|
15
|
+
tech_stack: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
16
|
+
packages: z.ZodArray<z.ZodObject<{
|
|
17
|
+
name: z.ZodString;
|
|
18
|
+
purpose: z.ZodString;
|
|
19
|
+
dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
20
|
+
}, z.core.$strip>>;
|
|
21
|
+
project_type: z.ZodString;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
/**
|
|
24
|
+
* Schema for Standard Context (< 20K tokens target)
|
|
25
|
+
*/
|
|
26
|
+
export declare const StandardContextSchema: z.ZodObject<{
|
|
27
|
+
tech_stack: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
28
|
+
packages: z.ZodArray<z.ZodObject<{
|
|
29
|
+
name: z.ZodString;
|
|
30
|
+
purpose: z.ZodString;
|
|
31
|
+
dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
32
|
+
}, z.core.$strip>>;
|
|
33
|
+
project_type: z.ZodString;
|
|
34
|
+
architecture: z.ZodString;
|
|
35
|
+
design_decisions: z.ZodArray<z.ZodObject<{
|
|
36
|
+
title: z.ZodString;
|
|
37
|
+
decision: z.ZodString;
|
|
38
|
+
rationale: z.ZodString;
|
|
39
|
+
tradeoffs: z.ZodOptional<z.ZodString>;
|
|
40
|
+
}, z.core.$strip>>;
|
|
41
|
+
module_responsibilities: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
42
|
+
}, z.core.$strip>;
|
|
43
|
+
/**
|
|
44
|
+
* Schema for Deep Context (< 50K tokens target)
|
|
45
|
+
*/
|
|
46
|
+
export declare const DeepContextSchema: z.ZodObject<{
|
|
47
|
+
tech_stack: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
48
|
+
packages: z.ZodArray<z.ZodObject<{
|
|
49
|
+
name: z.ZodString;
|
|
50
|
+
purpose: z.ZodString;
|
|
51
|
+
dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
52
|
+
}, z.core.$strip>>;
|
|
53
|
+
project_type: z.ZodString;
|
|
54
|
+
architecture: z.ZodString;
|
|
55
|
+
design_decisions: z.ZodArray<z.ZodObject<{
|
|
56
|
+
title: z.ZodString;
|
|
57
|
+
decision: z.ZodString;
|
|
58
|
+
rationale: z.ZodString;
|
|
59
|
+
tradeoffs: z.ZodOptional<z.ZodString>;
|
|
60
|
+
}, z.core.$strip>>;
|
|
61
|
+
module_responsibilities: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
62
|
+
coding_standards: z.ZodString;
|
|
63
|
+
testing_strategy: z.ZodString;
|
|
64
|
+
known_issues: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
65
|
+
technical_debt: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
66
|
+
}, z.core.$strip>;
|
|
67
|
+
/**
|
|
68
|
+
* Complete PROJECT.md structure
|
|
69
|
+
*/
|
|
70
|
+
export declare const ProjectContextSchema: z.ZodObject<{
|
|
71
|
+
metadata: z.ZodObject<{
|
|
72
|
+
name: z.ZodString;
|
|
73
|
+
created: z.ZodString;
|
|
74
|
+
last_updated: z.ZodString;
|
|
75
|
+
version: z.ZodString;
|
|
76
|
+
}, z.core.$strip>;
|
|
77
|
+
quick: z.ZodObject<{
|
|
78
|
+
tech_stack: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
79
|
+
packages: z.ZodArray<z.ZodObject<{
|
|
80
|
+
name: z.ZodString;
|
|
81
|
+
purpose: z.ZodString;
|
|
82
|
+
dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
83
|
+
}, z.core.$strip>>;
|
|
84
|
+
project_type: z.ZodString;
|
|
85
|
+
}, z.core.$strip>;
|
|
86
|
+
standard: z.ZodOptional<z.ZodObject<{
|
|
87
|
+
tech_stack: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
88
|
+
packages: z.ZodArray<z.ZodObject<{
|
|
89
|
+
name: z.ZodString;
|
|
90
|
+
purpose: z.ZodString;
|
|
91
|
+
dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
92
|
+
}, z.core.$strip>>;
|
|
93
|
+
project_type: z.ZodString;
|
|
94
|
+
architecture: z.ZodString;
|
|
95
|
+
design_decisions: z.ZodArray<z.ZodObject<{
|
|
96
|
+
title: z.ZodString;
|
|
97
|
+
decision: z.ZodString;
|
|
98
|
+
rationale: z.ZodString;
|
|
99
|
+
tradeoffs: z.ZodOptional<z.ZodString>;
|
|
100
|
+
}, z.core.$strip>>;
|
|
101
|
+
module_responsibilities: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
102
|
+
}, z.core.$strip>>;
|
|
103
|
+
deep: z.ZodOptional<z.ZodObject<{
|
|
104
|
+
tech_stack: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
105
|
+
packages: z.ZodArray<z.ZodObject<{
|
|
106
|
+
name: z.ZodString;
|
|
107
|
+
purpose: z.ZodString;
|
|
108
|
+
dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
109
|
+
}, z.core.$strip>>;
|
|
110
|
+
project_type: z.ZodString;
|
|
111
|
+
architecture: z.ZodString;
|
|
112
|
+
design_decisions: z.ZodArray<z.ZodObject<{
|
|
113
|
+
title: z.ZodString;
|
|
114
|
+
decision: z.ZodString;
|
|
115
|
+
rationale: z.ZodString;
|
|
116
|
+
tradeoffs: z.ZodOptional<z.ZodString>;
|
|
117
|
+
}, z.core.$strip>>;
|
|
118
|
+
module_responsibilities: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
119
|
+
coding_standards: z.ZodString;
|
|
120
|
+
testing_strategy: z.ZodString;
|
|
121
|
+
known_issues: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
122
|
+
technical_debt: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
123
|
+
}, z.core.$strip>>;
|
|
124
|
+
}, z.core.$strip>;
|
|
125
|
+
export type ProjectMetadata = z.infer<typeof ProjectMetadataSchema>;
|
|
126
|
+
export type QuickContext = z.infer<typeof QuickContextSchema>;
|
|
127
|
+
export type StandardContext = z.infer<typeof StandardContextSchema>;
|
|
128
|
+
export type DeepContext = z.infer<typeof DeepContextSchema>;
|
|
129
|
+
export type ProjectContext = z.infer<typeof ProjectContextSchema>;
|
|
130
|
+
/**
|
|
131
|
+
* Context level type
|
|
132
|
+
*/
|
|
133
|
+
export type ContextLevel = 'quick' | 'standard' | 'deep';
|
|
134
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/schemas/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;iBAU7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;iBAWhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;iBAK5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK/B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Schema for PROJECT.md metadata section
|
|
4
|
+
*/
|
|
5
|
+
export const ProjectMetadataSchema = z.object({
|
|
6
|
+
name: z.string(),
|
|
7
|
+
created: z.string().datetime(),
|
|
8
|
+
last_updated: z.string().datetime(),
|
|
9
|
+
version: z.string(),
|
|
10
|
+
});
|
|
11
|
+
/**
|
|
12
|
+
* Schema for Quick Context (< 5K tokens target)
|
|
13
|
+
*/
|
|
14
|
+
export const QuickContextSchema = z.object({
|
|
15
|
+
tech_stack: z.record(z.string(), z.string()),
|
|
16
|
+
packages: z.array(z.object({
|
|
17
|
+
name: z.string(),
|
|
18
|
+
purpose: z.string(),
|
|
19
|
+
dependencies: z.array(z.string()).optional(),
|
|
20
|
+
})),
|
|
21
|
+
project_type: z.string(),
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Schema for Standard Context (< 20K tokens target)
|
|
25
|
+
*/
|
|
26
|
+
export const StandardContextSchema = QuickContextSchema.extend({
|
|
27
|
+
architecture: z.string(),
|
|
28
|
+
design_decisions: z.array(z.object({
|
|
29
|
+
title: z.string(),
|
|
30
|
+
decision: z.string(),
|
|
31
|
+
rationale: z.string(),
|
|
32
|
+
tradeoffs: z.string().optional(),
|
|
33
|
+
})),
|
|
34
|
+
module_responsibilities: z.record(z.string(), z.string()),
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* Schema for Deep Context (< 50K tokens target)
|
|
38
|
+
*/
|
|
39
|
+
export const DeepContextSchema = StandardContextSchema.extend({
|
|
40
|
+
coding_standards: z.string(),
|
|
41
|
+
testing_strategy: z.string(),
|
|
42
|
+
known_issues: z.array(z.string()).optional(),
|
|
43
|
+
technical_debt: z.array(z.string()).optional(),
|
|
44
|
+
});
|
|
45
|
+
/**
|
|
46
|
+
* Complete PROJECT.md structure
|
|
47
|
+
*/
|
|
48
|
+
export const ProjectContextSchema = z.object({
|
|
49
|
+
metadata: ProjectMetadataSchema,
|
|
50
|
+
quick: QuickContextSchema,
|
|
51
|
+
standard: StandardContextSchema.optional(),
|
|
52
|
+
deep: DeepContextSchema.optional(),
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/schemas/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5C,QAAQ,EAAE,CAAC,CAAC,KAAK,CACf,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC7C,CAAC,CACH;IACD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAC7D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,gBAAgB,EAAE,CAAC,CAAC,KAAK,CACvB,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC,CACH;IACD,uBAAuB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;CAC1D,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,MAAM,CAAC;IAC5D,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,qBAAqB;IAC/B,KAAK,EAAE,kBAAkB;IACzB,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC1C,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Relationship type definitions
|
|
3
|
+
* Separates hierarchy relationships (strict validation) from flexible relationships (no validation)
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Hierarchy relationships enforce parent-child rules
|
|
7
|
+
* - implements/implemented-by: Epic → Story → Task structure
|
|
8
|
+
*/
|
|
9
|
+
export declare const HIERARCHY_RELATIONSHIPS: readonly ["implements", "implemented-by"];
|
|
10
|
+
/**
|
|
11
|
+
* Flexible relationships allow connections between any item types
|
|
12
|
+
* - relates-to: Generic association
|
|
13
|
+
* - blocks/blocked-by: Blocking dependencies
|
|
14
|
+
* - depends-on/required-by: Technical dependencies
|
|
15
|
+
* - tested-by/tests: Testing relationships
|
|
16
|
+
* - supersedes/superseded-by: Version/replacement tracking
|
|
17
|
+
*/
|
|
18
|
+
export declare const FLEXIBLE_RELATIONSHIPS: readonly ["relates-to", "blocks", "blocked-by", "depends-on", "required-by", "tested-by", "tests", "supersedes", "superseded-by"];
|
|
19
|
+
export type HierarchyRelation = (typeof HIERARCHY_RELATIONSHIPS)[number];
|
|
20
|
+
export type FlexibleRelation = (typeof FLEXIBLE_RELATIONSHIPS)[number];
|
|
21
|
+
export type RelationType = HierarchyRelation | FlexibleRelation;
|
|
22
|
+
/**
|
|
23
|
+
* Check if a relation type requires hierarchy validation
|
|
24
|
+
*/
|
|
25
|
+
export declare function isHierarchyRelation(relationType: string): relationType is HierarchyRelation;
|
|
26
|
+
/**
|
|
27
|
+
* Check if a relation type is flexible (no validation)
|
|
28
|
+
*/
|
|
29
|
+
export declare function isFlexibleRelation(relationType: string): relationType is FlexibleRelation;
|
|
30
|
+
//# sourceMappingURL=relationships.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/schemas/relationships.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,eAAO,MAAM,uBAAuB,2CAA4C,CAAC;AAEjF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,mIAUzB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AACzE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAEhE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,IAAI,iBAAiB,CAE3F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,IAAI,gBAAgB,CAEzF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Relationship type definitions
|
|
3
|
+
* Separates hierarchy relationships (strict validation) from flexible relationships (no validation)
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Hierarchy relationships enforce parent-child rules
|
|
7
|
+
* - implements/implemented-by: Epic → Story → Task structure
|
|
8
|
+
*/
|
|
9
|
+
export const HIERARCHY_RELATIONSHIPS = ['implements', 'implemented-by'];
|
|
10
|
+
/**
|
|
11
|
+
* Flexible relationships allow connections between any item types
|
|
12
|
+
* - relates-to: Generic association
|
|
13
|
+
* - blocks/blocked-by: Blocking dependencies
|
|
14
|
+
* - depends-on/required-by: Technical dependencies
|
|
15
|
+
* - tested-by/tests: Testing relationships
|
|
16
|
+
* - supersedes/superseded-by: Version/replacement tracking
|
|
17
|
+
*/
|
|
18
|
+
export const FLEXIBLE_RELATIONSHIPS = [
|
|
19
|
+
'relates-to',
|
|
20
|
+
'blocks',
|
|
21
|
+
'blocked-by',
|
|
22
|
+
'depends-on',
|
|
23
|
+
'required-by',
|
|
24
|
+
'tested-by',
|
|
25
|
+
'tests',
|
|
26
|
+
'supersedes',
|
|
27
|
+
'superseded-by',
|
|
28
|
+
];
|
|
29
|
+
/**
|
|
30
|
+
* Check if a relation type requires hierarchy validation
|
|
31
|
+
*/
|
|
32
|
+
export function isHierarchyRelation(relationType) {
|
|
33
|
+
return HIERARCHY_RELATIONSHIPS.includes(relationType);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Check if a relation type is flexible (no validation)
|
|
37
|
+
*/
|
|
38
|
+
export function isFlexibleRelation(relationType) {
|
|
39
|
+
return FLEXIBLE_RELATIONSHIPS.includes(relationType);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=relationships.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/schemas/relationships.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAU,CAAC;AAEjF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,WAAW;IACX,OAAO;IACP,YAAY;IACZ,eAAe;CACP,CAAC;AAMX;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,OAAO,uBAAuB,CAAC,QAAQ,CAAC,YAAiC,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,OAAO,sBAAsB,CAAC,QAAQ,CAAC,YAAgC,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { ItemType, Priority } from '../schemas/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Central type shortcuts mapping
|
|
4
|
+
*/
|
|
5
|
+
export declare const TYPE_SHORTCUTS: Record<string, ItemType>;
|
|
6
|
+
/**
|
|
7
|
+
* Command argument types - central source of truth
|
|
8
|
+
*/
|
|
9
|
+
export interface AddItemCommandArgs {
|
|
10
|
+
type: string;
|
|
11
|
+
title: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
category?: string;
|
|
14
|
+
priority?: string;
|
|
15
|
+
eisenhower?: string;
|
|
16
|
+
tags?: string[];
|
|
17
|
+
assignee?: string;
|
|
18
|
+
paths?: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface UpdateItemCommandArgs {
|
|
21
|
+
id: string;
|
|
22
|
+
status?: string;
|
|
23
|
+
priority?: string;
|
|
24
|
+
eisenhower?: string;
|
|
25
|
+
superseded_by?: string;
|
|
26
|
+
title?: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
assignee?: string;
|
|
29
|
+
tags?: string[];
|
|
30
|
+
paths?: string[];
|
|
31
|
+
}
|
|
32
|
+
export interface ListItemsCommandArgs {
|
|
33
|
+
type?: string;
|
|
34
|
+
status?: string;
|
|
35
|
+
priority?: string;
|
|
36
|
+
eisenhower?: string;
|
|
37
|
+
assignee?: string;
|
|
38
|
+
tags?: string[];
|
|
39
|
+
archived?: boolean;
|
|
40
|
+
limit?: string;
|
|
41
|
+
}
|
|
42
|
+
export interface SearchItemsCommandArgs {
|
|
43
|
+
query: string;
|
|
44
|
+
type?: string;
|
|
45
|
+
limit?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface StatusCommandArgs {
|
|
48
|
+
detailed?: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface TraceCommandArgs {
|
|
51
|
+
id: string;
|
|
52
|
+
depth?: string;
|
|
53
|
+
}
|
|
54
|
+
export interface ExportCommandArgs {
|
|
55
|
+
format?: string;
|
|
56
|
+
output?: string;
|
|
57
|
+
types?: string[];
|
|
58
|
+
}
|
|
59
|
+
export interface ArchiveCommandArgs {
|
|
60
|
+
id: string;
|
|
61
|
+
}
|
|
62
|
+
export interface PurgeCommandArgs {
|
|
63
|
+
status?: string[];
|
|
64
|
+
type?: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Response types
|
|
68
|
+
*/
|
|
69
|
+
export interface CommandSuccessResponse {
|
|
70
|
+
success: true;
|
|
71
|
+
message: string;
|
|
72
|
+
[key: string]: unknown;
|
|
73
|
+
}
|
|
74
|
+
export interface CommandErrorResponse {
|
|
75
|
+
success: false;
|
|
76
|
+
error: string;
|
|
77
|
+
}
|
|
78
|
+
export type CommandResponse = CommandSuccessResponse | CommandErrorResponse;
|
|
79
|
+
/**
|
|
80
|
+
* Index item summary type (from index.json)
|
|
81
|
+
*/
|
|
82
|
+
export interface IndexItem {
|
|
83
|
+
id: string;
|
|
84
|
+
type: ItemType;
|
|
85
|
+
title: string;
|
|
86
|
+
status: string;
|
|
87
|
+
priority: Priority;
|
|
88
|
+
updated: string;
|
|
89
|
+
tags?: string[];
|
|
90
|
+
category?: string;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/types/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central type shortcuts mapping
|
|
3
|
+
*/
|
|
4
|
+
export const TYPE_SHORTCUTS = {
|
|
5
|
+
epic: 'epic',
|
|
6
|
+
story: 'story',
|
|
7
|
+
task: 'task',
|
|
8
|
+
req: 'requirement',
|
|
9
|
+
feat: 'feature',
|
|
10
|
+
bug: 'bug',
|
|
11
|
+
spike: 'spike',
|
|
12
|
+
test: 'test',
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/types/commands.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAC;AAE7B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAYA,cAAc,eAAe,CAAC"}
|