specweave 0.17.15 → 0.17.17
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/CLAUDE.md +405 -2495
- package/README.md +92 -2
- package/dist/locales/de/.gitkeep +0 -0
- package/dist/locales/de/cli.json +108 -0
- package/dist/locales/en/cli.json +287 -0
- package/dist/locales/en/errors.json +7 -0
- package/dist/locales/en/templates.json +6 -0
- package/dist/locales/es/.gitkeep +0 -0
- package/dist/locales/es/cli.json +41 -0
- package/dist/locales/fr/.gitkeep +0 -0
- package/dist/locales/fr/cli.json +108 -0
- package/dist/locales/ja/.gitkeep +0 -0
- package/dist/locales/ja/cli.json +108 -0
- package/dist/locales/ko/.gitkeep +0 -0
- package/dist/locales/ko/cli.json +108 -0
- package/dist/locales/pt/.gitkeep +0 -0
- package/dist/locales/pt/cli.json +108 -0
- package/dist/locales/ru/.gitkeep +0 -0
- package/dist/locales/ru/cli.json +269 -0
- package/dist/locales/zh/.gitkeep +0 -0
- package/dist/locales/zh/cli.json +108 -0
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -1
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +188 -36
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -1
- package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts +54 -0
- package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-ado/lib/ado-status-sync.js +86 -0
- package/dist/plugins/specweave-ado/lib/ado-status-sync.js.map +1 -0
- package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.d.ts +25 -0
- package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.js +191 -0
- package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.js.map +1 -0
- package/dist/plugins/specweave-github/lib/duplicate-detector.d.ts +139 -0
- package/dist/plugins/specweave-github/lib/duplicate-detector.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/duplicate-detector.js +389 -0
- package/dist/plugins/specweave-github/lib/duplicate-detector.js.map +1 -0
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.d.ts +26 -0
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.js +249 -0
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.js.map +1 -0
- package/dist/plugins/specweave-github/lib/github-client.d.ts +1 -1
- package/dist/plugins/specweave-github/lib/github-client.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-client.js +25 -13
- package/dist/plugins/specweave-github/lib/github-client.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts +83 -0
- package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/github-epic-sync.js +451 -0
- package/dist/plugins/specweave-github/lib/github-epic-sync.js.map +1 -0
- package/dist/plugins/specweave-github/lib/github-status-sync.d.ts +43 -0
- package/dist/plugins/specweave-github/lib/github-status-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/github-status-sync.js +82 -0
- package/dist/plugins/specweave-github/lib/github-status-sync.js.map +1 -0
- package/dist/plugins/specweave-github/lib/task-sync.d.ts +5 -0
- package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/task-sync.js +38 -2
- package/dist/plugins/specweave-github/lib/task-sync.js.map +1 -1
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts +26 -0
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js +195 -0
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js.map +1 -0
- package/dist/plugins/specweave-jira/lib/jira-epic-sync.d.ts +66 -0
- package/dist/plugins/specweave-jira/lib/jira-epic-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-jira/lib/jira-epic-sync.js +274 -0
- package/dist/plugins/specweave-jira/lib/jira-epic-sync.js.map +1 -0
- package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts +56 -0
- package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-jira/lib/jira-status-sync.js +93 -0
- package/dist/plugins/specweave-jira/lib/jira-status-sync.js.map +1 -0
- package/dist/spec-parser.js +629 -0
- package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.js +48 -3
- package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
- package/dist/src/core/living-docs/hierarchy-mapper.d.ts +142 -0
- package/dist/src/core/living-docs/hierarchy-mapper.d.ts.map +1 -0
- package/dist/src/core/living-docs/hierarchy-mapper.js +453 -0
- package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -0
- package/dist/src/core/living-docs/index.d.ts +10 -84
- package/dist/src/core/living-docs/index.d.ts.map +1 -1
- package/dist/src/core/living-docs/index.js +10 -164
- package/dist/src/core/living-docs/index.js.map +1 -1
- package/dist/src/core/living-docs/spec-distributor.d.ts +106 -0
- package/dist/src/core/living-docs/spec-distributor.d.ts.map +1 -0
- package/dist/src/core/living-docs/spec-distributor.js +823 -0
- package/dist/src/core/living-docs/spec-distributor.js.map +1 -0
- package/dist/src/core/living-docs/types.d.ts +201 -0
- package/dist/src/core/living-docs/types.d.ts.map +1 -0
- package/dist/src/core/living-docs/types.js +15 -0
- package/dist/src/core/living-docs/types.js.map +1 -0
- package/dist/src/core/logging/prompt-logger.d.ts +70 -0
- package/dist/src/core/logging/prompt-logger.d.ts.map +1 -0
- package/dist/src/core/logging/prompt-logger.js +247 -0
- package/dist/src/core/logging/prompt-logger.js.map +1 -0
- package/dist/src/core/status-line/status-line-manager.d.ts +15 -24
- package/dist/src/core/status-line/status-line-manager.d.ts.map +1 -1
- package/dist/src/core/status-line/status-line-manager.js +33 -70
- package/dist/src/core/status-line/status-line-manager.js.map +1 -1
- package/dist/src/core/status-line/types.d.ts +19 -31
- package/dist/src/core/status-line/types.d.ts.map +1 -1
- package/dist/src/core/status-line/types.js +5 -9
- package/dist/src/core/status-line/types.js.map +1 -1
- package/dist/src/core/sync/conflict-resolver.d.ts +66 -0
- package/dist/src/core/sync/conflict-resolver.d.ts.map +1 -0
- package/dist/src/core/sync/conflict-resolver.js +108 -0
- package/dist/src/core/sync/conflict-resolver.js.map +1 -0
- package/dist/src/core/sync/enhanced-content-builder.d.ts +77 -0
- package/dist/src/core/sync/enhanced-content-builder.d.ts.map +1 -0
- package/dist/src/core/sync/enhanced-content-builder.js +199 -0
- package/dist/src/core/sync/enhanced-content-builder.js.map +1 -0
- package/dist/src/core/sync/label-detector.d.ts +66 -0
- package/dist/src/core/sync/label-detector.d.ts.map +1 -0
- package/dist/src/core/sync/label-detector.js +211 -0
- package/dist/src/core/sync/label-detector.js.map +1 -0
- package/dist/src/core/sync/retry-logic.d.ts +64 -0
- package/dist/src/core/sync/retry-logic.d.ts.map +1 -0
- package/dist/src/core/sync/retry-logic.js +165 -0
- package/dist/src/core/sync/retry-logic.js.map +1 -0
- package/dist/src/core/sync/spec-content-sync.d.ts +88 -0
- package/dist/src/core/sync/spec-content-sync.d.ts.map +1 -0
- package/dist/src/core/sync/spec-content-sync.js +5 -0
- package/dist/src/core/sync/spec-content-sync.js.map +1 -0
- package/dist/src/core/sync/spec-increment-mapper.d.ts +100 -0
- package/dist/src/core/sync/spec-increment-mapper.d.ts.map +1 -0
- package/dist/src/core/sync/spec-increment-mapper.js +424 -0
- package/dist/src/core/sync/spec-increment-mapper.js.map +1 -0
- package/dist/src/core/sync/status-cache.d.ts +91 -0
- package/dist/src/core/sync/status-cache.d.ts.map +1 -0
- package/dist/src/core/sync/status-cache.js +140 -0
- package/dist/src/core/sync/status-cache.js.map +1 -0
- package/dist/src/core/sync/status-mapper.d.ts +69 -0
- package/dist/src/core/sync/status-mapper.d.ts.map +1 -0
- package/dist/src/core/sync/status-mapper.js +90 -0
- package/dist/src/core/sync/status-mapper.js.map +1 -0
- package/dist/src/core/sync/status-sync-engine.d.ts +162 -0
- package/dist/src/core/sync/status-sync-engine.d.ts.map +1 -0
- package/dist/src/core/sync/status-sync-engine.js +347 -0
- package/dist/src/core/sync/status-sync-engine.js.map +1 -0
- package/dist/src/core/sync/sync-event-logger.d.ts +99 -0
- package/dist/src/core/sync/sync-event-logger.d.ts.map +1 -0
- package/dist/src/core/sync/sync-event-logger.js +103 -0
- package/dist/src/core/sync/sync-event-logger.js.map +1 -0
- package/dist/src/core/sync/workflow-detector.d.ts +95 -0
- package/dist/src/core/sync/workflow-detector.d.ts.map +1 -0
- package/dist/src/core/sync/workflow-detector.js +175 -0
- package/dist/src/core/sync/workflow-detector.js.map +1 -0
- package/dist/src/core/types/config.d.ts.map +1 -1
- package/dist/src/core/types/config.js +31 -0
- package/dist/src/core/types/config.js.map +1 -1
- package/dist/src/utils/github-url.d.ts +53 -0
- package/dist/src/utils/github-url.d.ts.map +1 -0
- package/dist/src/utils/github-url.js +90 -0
- package/dist/src/utils/github-url.js.map +1 -0
- package/dist/src/utils/plugin-validator.d.ts +9 -0
- package/dist/src/utils/plugin-validator.d.ts.map +1 -1
- package/dist/src/utils/plugin-validator.js +86 -19
- package/dist/src/utils/plugin-validator.js.map +1 -1
- package/dist/src/utils/spec-parser.d.ts +145 -0
- package/dist/src/utils/spec-parser.d.ts.map +1 -0
- package/dist/src/utils/spec-parser.js +640 -0
- package/dist/src/utils/spec-parser.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +1 -1
- package/plugins/specweave/agents/pm/AGENT.md +1 -1
- package/plugins/specweave/agents/pm/templates/increment-spec.md +158 -0
- package/plugins/specweave/agents/pm/templates/living-docs-spec.md +113 -0
- package/plugins/specweave/commands/specweave-done.md +163 -0
- package/plugins/specweave/hooks/lib/update-status-line.sh +79 -111
- package/plugins/specweave/hooks/post-increment-planning.sh +107 -35
- package/plugins/specweave/lib/hooks/sync-living-docs.js +139 -34
- package/plugins/specweave/lib/hooks/sync-living-docs.ts +234 -38
- package/plugins/specweave/skills/SKILLS-INDEX.md +4 -24
- package/plugins/specweave/skills/increment-planner/SKILL.md +94 -0
- package/plugins/specweave/skills/increment-work-router/SKILL.md +466 -0
- package/plugins/specweave/skills/plugin-validator/SKILL.md +16 -13
- package/plugins/specweave-ado/lib/ado-status-sync.js +80 -0
- package/plugins/specweave-ado/lib/ado-status-sync.ts +121 -0
- package/plugins/specweave-ado/lib/enhanced-ado-sync.js +170 -0
- package/plugins/specweave-github/commands/specweave-github-cleanup-duplicates.md +205 -0
- package/plugins/specweave-github/commands/specweave-github-sync-epic.md +248 -0
- package/plugins/specweave-github/lib/duplicate-detector.js +370 -0
- package/plugins/specweave-github/lib/duplicate-detector.ts +525 -0
- package/plugins/specweave-github/lib/enhanced-github-sync.js +220 -0
- package/plugins/specweave-github/lib/enhanced-github-sync.ts +322 -0
- package/plugins/specweave-github/lib/github-client.js +21 -10
- package/plugins/specweave-github/lib/github-client.ts +27 -16
- package/plugins/specweave-github/lib/github-epic-sync.js +489 -0
- package/plugins/specweave-github/lib/github-epic-sync.ts +690 -0
- package/plugins/specweave-github/lib/github-status-sync.js +71 -0
- package/plugins/specweave-github/lib/github-status-sync.ts +107 -0
- package/plugins/specweave-github/lib/task-sync.js +33 -2
- package/plugins/specweave-github/lib/task-sync.ts +44 -2
- package/plugins/specweave-jira/commands/specweave-jira-sync-epic.md +267 -0
- package/plugins/specweave-jira/lib/enhanced-jira-sync.ts.disabled +222 -0
- package/plugins/specweave-jira/lib/jira-epic-sync.js +304 -0
- package/plugins/specweave-jira/lib/jira-epic-sync.ts +459 -0
- package/plugins/specweave-jira/lib/jira-status-sync.js +79 -0
- package/plugins/specweave-jira/lib/jira-status-sync.ts +139 -0
- package/src/templates/AGENTS.md.template +88 -1
- package/src/templates/CLAUDE.md.template +49 -0
- package/plugins/specweave/skills/increment-quality-judge/SKILL.md +0 -524
- package/plugins/specweave/skills/plugin-installer/SKILL.md +0 -353
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-distributor.js","sourceRoot":"","sources":["../../../../src/core/living-docs/spec-distributor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Living Docs Distribution Types
|
|
3
|
+
*
|
|
4
|
+
* Defines the structure for distributing increment specs into hierarchical living docs.
|
|
5
|
+
*
|
|
6
|
+
* Hierarchy:
|
|
7
|
+
* - Epic (SPEC-###.md) - High-level summary
|
|
8
|
+
* - User Stories (us-###.md) - Detailed requirements
|
|
9
|
+
* - Tasks (tasks.md) - Implementation details
|
|
10
|
+
*
|
|
11
|
+
* @author SpecWeave Team
|
|
12
|
+
* @version 2.0.0
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Acceptance Criterion
|
|
16
|
+
*/
|
|
17
|
+
export interface AcceptanceCriterion {
|
|
18
|
+
id: string;
|
|
19
|
+
description: string;
|
|
20
|
+
priority?: string;
|
|
21
|
+
testable: boolean;
|
|
22
|
+
completed: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Task Reference (links to tasks.md)
|
|
26
|
+
*/
|
|
27
|
+
export interface TaskReference {
|
|
28
|
+
id: string;
|
|
29
|
+
title: string;
|
|
30
|
+
anchor: string;
|
|
31
|
+
path: string;
|
|
32
|
+
acIds: string[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* User Story (detailed requirements)
|
|
36
|
+
*/
|
|
37
|
+
export interface UserStory {
|
|
38
|
+
id: string;
|
|
39
|
+
epic?: string;
|
|
40
|
+
title: string;
|
|
41
|
+
description: string;
|
|
42
|
+
acceptanceCriteria: AcceptanceCriterion[];
|
|
43
|
+
tasks: TaskReference[];
|
|
44
|
+
businessRationale?: string;
|
|
45
|
+
priority?: string;
|
|
46
|
+
status: 'pending' | 'in-progress' | 'complete';
|
|
47
|
+
phase?: string;
|
|
48
|
+
created?: string;
|
|
49
|
+
completed?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Implementation History Entry
|
|
53
|
+
*/
|
|
54
|
+
export interface ImplementationHistoryEntry {
|
|
55
|
+
increment: string;
|
|
56
|
+
stories: string[];
|
|
57
|
+
status: 'complete' | 'in-progress' | 'planned';
|
|
58
|
+
date?: string;
|
|
59
|
+
notes?: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* External Tool Links
|
|
63
|
+
*/
|
|
64
|
+
export interface ExternalLinks {
|
|
65
|
+
github?: string;
|
|
66
|
+
jira?: string;
|
|
67
|
+
ado?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Epic-level content (SPEC-###.md)
|
|
71
|
+
*
|
|
72
|
+
* High-level summary only, links to user story files.
|
|
73
|
+
*/
|
|
74
|
+
export interface EpicFile {
|
|
75
|
+
id: string;
|
|
76
|
+
title: string;
|
|
77
|
+
type: 'epic';
|
|
78
|
+
status: 'active' | 'complete' | 'archived';
|
|
79
|
+
priority?: string;
|
|
80
|
+
created: string;
|
|
81
|
+
lastUpdated: string;
|
|
82
|
+
overview: string;
|
|
83
|
+
businessValue: string[];
|
|
84
|
+
implementationHistory: ImplementationHistoryEntry[];
|
|
85
|
+
userStories: UserStorySummary[];
|
|
86
|
+
externalLinks: ExternalLinks;
|
|
87
|
+
relatedDocs: string[];
|
|
88
|
+
totalStories: number;
|
|
89
|
+
completedStories: number;
|
|
90
|
+
overallProgress: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* User Story Summary (for epic file)
|
|
94
|
+
*/
|
|
95
|
+
export interface UserStorySummary {
|
|
96
|
+
id: string;
|
|
97
|
+
title: string;
|
|
98
|
+
status: 'pending' | 'in-progress' | 'complete';
|
|
99
|
+
phase?: string;
|
|
100
|
+
filePath: string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* User Story-level content (us-###.md)
|
|
104
|
+
*
|
|
105
|
+
* Detailed requirements, acceptance criteria, and task links.
|
|
106
|
+
*/
|
|
107
|
+
export interface UserStoryFile {
|
|
108
|
+
id: string;
|
|
109
|
+
epic: string;
|
|
110
|
+
title: string;
|
|
111
|
+
status: 'pending' | 'in-progress' | 'complete';
|
|
112
|
+
priority?: string;
|
|
113
|
+
created: string;
|
|
114
|
+
completed?: string;
|
|
115
|
+
description: string;
|
|
116
|
+
acceptanceCriteria: AcceptanceCriterion[];
|
|
117
|
+
implementation: {
|
|
118
|
+
increment: string;
|
|
119
|
+
tasks: TaskReference[];
|
|
120
|
+
};
|
|
121
|
+
businessRationale?: string;
|
|
122
|
+
testCoverage?: {
|
|
123
|
+
unit?: string;
|
|
124
|
+
integration?: string;
|
|
125
|
+
e2e?: string;
|
|
126
|
+
};
|
|
127
|
+
relatedStories: UserStorySummary[];
|
|
128
|
+
phase?: string;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Result of distributing an increment spec into living docs
|
|
132
|
+
*/
|
|
133
|
+
export interface DistributionResult {
|
|
134
|
+
epic: EpicFile;
|
|
135
|
+
userStories: UserStoryFile[];
|
|
136
|
+
incrementId: string;
|
|
137
|
+
specId: string;
|
|
138
|
+
totalStories: number;
|
|
139
|
+
totalFiles: number;
|
|
140
|
+
epicPath: string;
|
|
141
|
+
userStoryPaths: string[];
|
|
142
|
+
success: boolean;
|
|
143
|
+
errors: string[];
|
|
144
|
+
warnings: string[];
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Parsed increment spec (from increments/####/spec.md)
|
|
148
|
+
*/
|
|
149
|
+
export interface ParsedIncrementSpec {
|
|
150
|
+
incrementId: string;
|
|
151
|
+
title: string;
|
|
152
|
+
overview: string;
|
|
153
|
+
businessValue: string[];
|
|
154
|
+
priority?: string;
|
|
155
|
+
status?: string;
|
|
156
|
+
project?: string;
|
|
157
|
+
userStories: UserStory[];
|
|
158
|
+
implementsSpec?: string;
|
|
159
|
+
externalLinks?: ExternalLinks;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Content classified into epic vs user-story level
|
|
163
|
+
*/
|
|
164
|
+
export interface ClassifiedContent {
|
|
165
|
+
epic: {
|
|
166
|
+
id: string;
|
|
167
|
+
title: string;
|
|
168
|
+
overview: string;
|
|
169
|
+
businessValue: string[];
|
|
170
|
+
priority?: string;
|
|
171
|
+
status: string;
|
|
172
|
+
};
|
|
173
|
+
userStories: UserStory[];
|
|
174
|
+
implementationHistory: ImplementationHistoryEntry[];
|
|
175
|
+
externalLinks: ExternalLinks;
|
|
176
|
+
relatedDocs: string[];
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Cross-link between files
|
|
180
|
+
*/
|
|
181
|
+
export interface CrossLink {
|
|
182
|
+
from: string;
|
|
183
|
+
to: string;
|
|
184
|
+
type: 'epic-to-story' | 'story-to-epic' | 'story-to-story' | 'story-to-task';
|
|
185
|
+
label: string;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Distribution configuration
|
|
189
|
+
*/
|
|
190
|
+
export interface DistributionConfig {
|
|
191
|
+
specsDir: string;
|
|
192
|
+
userStoriesSubdir: string;
|
|
193
|
+
epicFilePattern: string;
|
|
194
|
+
userStoryFilePattern: string;
|
|
195
|
+
generateFrontmatter: boolean;
|
|
196
|
+
generateCrossLinks: boolean;
|
|
197
|
+
preserveOriginal: boolean;
|
|
198
|
+
overwriteExisting: boolean;
|
|
199
|
+
createBackups: boolean;
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/living-docs/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Living Docs Distribution Types
|
|
3
|
+
*
|
|
4
|
+
* Defines the structure for distributing increment specs into hierarchical living docs.
|
|
5
|
+
*
|
|
6
|
+
* Hierarchy:
|
|
7
|
+
* - Epic (SPEC-###.md) - High-level summary
|
|
8
|
+
* - User Stories (us-###.md) - Detailed requirements
|
|
9
|
+
* - Tasks (tasks.md) - Implementation details
|
|
10
|
+
*
|
|
11
|
+
* @author SpecWeave Team
|
|
12
|
+
* @version 2.0.0
|
|
13
|
+
*/
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/living-docs/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Attachment interface for files/images passed with prompts
|
|
3
|
+
*/
|
|
4
|
+
export interface Attachment {
|
|
5
|
+
path: string;
|
|
6
|
+
name: string;
|
|
7
|
+
type: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* PromptLogger - Automatic logging of user prompts to increment logs
|
|
11
|
+
*
|
|
12
|
+
* Features:
|
|
13
|
+
* - Logs every user prompt to appropriate increment's logs/ folder
|
|
14
|
+
* - Organized by day (YYYY-MM-DD)
|
|
15
|
+
* - Preserves exact prompt text (character-for-character)
|
|
16
|
+
* - Copies attachments to assets/ subfolder
|
|
17
|
+
* - Smart increment detection (active increments)
|
|
18
|
+
* - Fallback to orphaned logs if no active increment
|
|
19
|
+
*/
|
|
20
|
+
export declare class PromptLogger {
|
|
21
|
+
private workingDir;
|
|
22
|
+
constructor(workingDir: string);
|
|
23
|
+
/**
|
|
24
|
+
* Log a user prompt to the daily session file
|
|
25
|
+
*
|
|
26
|
+
* @param promptText - Exact user prompt text
|
|
27
|
+
* @param attachments - Optional attachments (images, files)
|
|
28
|
+
*/
|
|
29
|
+
logPrompt(promptText: string, attachments?: Attachment[]): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Create session file header
|
|
32
|
+
*/
|
|
33
|
+
private createSessionHeader;
|
|
34
|
+
/**
|
|
35
|
+
* Build a single prompt entry
|
|
36
|
+
*/
|
|
37
|
+
private buildPromptEntry;
|
|
38
|
+
/**
|
|
39
|
+
* Copy attachments to assets folder
|
|
40
|
+
*/
|
|
41
|
+
private copyAttachments;
|
|
42
|
+
/**
|
|
43
|
+
* Generate numbered asset filename
|
|
44
|
+
*/
|
|
45
|
+
private getAssetFilename;
|
|
46
|
+
/**
|
|
47
|
+
* Get prefix based on file type
|
|
48
|
+
*/
|
|
49
|
+
private getTypePrefix;
|
|
50
|
+
/**
|
|
51
|
+
* Find the appropriate increment for logging
|
|
52
|
+
*
|
|
53
|
+
* Priority:
|
|
54
|
+
* 1. Most recently modified active increment (if multiple active)
|
|
55
|
+
* 2. Single active increment
|
|
56
|
+
* 3. null (log to orphaned/)
|
|
57
|
+
*
|
|
58
|
+
* @returns Increment ID or null for orphaned logs
|
|
59
|
+
*/
|
|
60
|
+
private findIncrementForLogging;
|
|
61
|
+
/**
|
|
62
|
+
* Ensure README.md exists in logs/ folder
|
|
63
|
+
*/
|
|
64
|
+
private ensureLogsReadme;
|
|
65
|
+
/**
|
|
66
|
+
* Create README.md content for logs/ folder
|
|
67
|
+
*/
|
|
68
|
+
private createLogsReadme;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=prompt-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-logger.d.ts","sourceRoot":"","sources":["../../../../src/core/logging/prompt-logger.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;GAUG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,MAAM;IAEtC;;;;;OAKG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,WAAW,GAAE,UAAU,EAAO,GAC7B,OAAO,CAAC,IAAI,CAAC;IA2ChB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;OAEG;YACW,eAAe;IAkB7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;;;;OASG;YACW,uBAAuB;IAsDrC;;OAEG;YACW,gBAAgB;IAY9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAqDzB"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* PromptLogger - Automatic logging of user prompts to increment logs
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - Logs every user prompt to appropriate increment's logs/ folder
|
|
8
|
+
* - Organized by day (YYYY-MM-DD)
|
|
9
|
+
* - Preserves exact prompt text (character-for-character)
|
|
10
|
+
* - Copies attachments to assets/ subfolder
|
|
11
|
+
* - Smart increment detection (active increments)
|
|
12
|
+
* - Fallback to orphaned logs if no active increment
|
|
13
|
+
*/
|
|
14
|
+
export class PromptLogger {
|
|
15
|
+
constructor(workingDir) {
|
|
16
|
+
this.workingDir = workingDir;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Log a user prompt to the daily session file
|
|
20
|
+
*
|
|
21
|
+
* @param promptText - Exact user prompt text
|
|
22
|
+
* @param attachments - Optional attachments (images, files)
|
|
23
|
+
*/
|
|
24
|
+
async logPrompt(promptText, attachments = []) {
|
|
25
|
+
// Find appropriate increment for logging
|
|
26
|
+
const incrementId = await this.findIncrementForLogging();
|
|
27
|
+
// Determine log directory
|
|
28
|
+
const logDir = incrementId
|
|
29
|
+
? path.join(this.workingDir, '.specweave/increments', incrementId, 'logs')
|
|
30
|
+
: path.join(this.workingDir, '.specweave/logs/orphaned');
|
|
31
|
+
// Get current date for daily organization
|
|
32
|
+
const now = new Date();
|
|
33
|
+
const dateStr = now.toISOString().slice(0, 10); // YYYY-MM-DD
|
|
34
|
+
const dailyDir = path.join(logDir, dateStr);
|
|
35
|
+
const assetsDir = path.join(dailyDir, 'assets');
|
|
36
|
+
// Ensure directories exist
|
|
37
|
+
await fs.ensureDir(assetsDir);
|
|
38
|
+
// Session file path
|
|
39
|
+
const sessionFile = path.join(dailyDir, 'session.md');
|
|
40
|
+
// Create session file header if new file
|
|
41
|
+
if (!await fs.pathExists(sessionFile)) {
|
|
42
|
+
const header = this.createSessionHeader(dateStr, incrementId);
|
|
43
|
+
await fs.writeFile(sessionFile, header);
|
|
44
|
+
}
|
|
45
|
+
// Build prompt entry
|
|
46
|
+
const time = now.toTimeString().slice(0, 8); // HH:MM:SS
|
|
47
|
+
const entry = this.buildPromptEntry(time, promptText, attachments);
|
|
48
|
+
// Append to session file (atomic operation)
|
|
49
|
+
await fs.appendFile(sessionFile, entry);
|
|
50
|
+
// Copy attachments to assets/
|
|
51
|
+
if (attachments.length > 0) {
|
|
52
|
+
await this.copyAttachments(attachments, assetsDir);
|
|
53
|
+
}
|
|
54
|
+
// Create/update README.md in logs/ folder
|
|
55
|
+
await this.ensureLogsReadme(path.dirname(dailyDir));
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Create session file header
|
|
59
|
+
*/
|
|
60
|
+
createSessionHeader(date, incrementId) {
|
|
61
|
+
const location = incrementId
|
|
62
|
+
? `Increment: ${incrementId}`
|
|
63
|
+
: 'Location: Orphaned logs (no active increment)';
|
|
64
|
+
return `# Session Log - ${date}
|
|
65
|
+
|
|
66
|
+
Generated by SpecWeave automatic prompt logging.
|
|
67
|
+
${location}
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
`;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Build a single prompt entry
|
|
75
|
+
*/
|
|
76
|
+
buildPromptEntry(time, promptText, attachments) {
|
|
77
|
+
let entry = `## ${time} - User Prompt\n\n`;
|
|
78
|
+
entry += `${promptText}\n\n`;
|
|
79
|
+
if (attachments.length > 0) {
|
|
80
|
+
entry += `**Attachments**:\n`;
|
|
81
|
+
attachments.forEach((att, idx) => {
|
|
82
|
+
const assetFilename = this.getAssetFilename(att, idx + 1);
|
|
83
|
+
entry += `- \`assets/${assetFilename}\` - ${att.name}\n`;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
entry += `**Attachments**: None\n`;
|
|
88
|
+
}
|
|
89
|
+
entry += `\n---\n\n`;
|
|
90
|
+
return entry;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Copy attachments to assets folder
|
|
94
|
+
*/
|
|
95
|
+
async copyAttachments(attachments, assetsDir) {
|
|
96
|
+
for (let i = 0; i < attachments.length; i++) {
|
|
97
|
+
const att = attachments[i];
|
|
98
|
+
const destFilename = this.getAssetFilename(att, i + 1);
|
|
99
|
+
const destPath = path.join(assetsDir, destFilename);
|
|
100
|
+
try {
|
|
101
|
+
await fs.copy(att.path, destPath);
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
console.error(`Failed to copy attachment ${att.name}:`, error);
|
|
105
|
+
// Continue with other attachments
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Generate numbered asset filename
|
|
111
|
+
*/
|
|
112
|
+
getAssetFilename(att, index) {
|
|
113
|
+
const ext = path.extname(att.name);
|
|
114
|
+
const typePrefix = this.getTypePrefix(att.type);
|
|
115
|
+
const paddedIndex = String(index).padStart(3, '0');
|
|
116
|
+
return `${typePrefix}-${paddedIndex}${ext}`;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Get prefix based on file type
|
|
120
|
+
*/
|
|
121
|
+
getTypePrefix(type) {
|
|
122
|
+
if (type.startsWith('image/'))
|
|
123
|
+
return 'screenshot';
|
|
124
|
+
if (type === 'application/pdf')
|
|
125
|
+
return 'document';
|
|
126
|
+
if (type.startsWith('text/'))
|
|
127
|
+
return 'text';
|
|
128
|
+
return 'file';
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Find the appropriate increment for logging
|
|
132
|
+
*
|
|
133
|
+
* Priority:
|
|
134
|
+
* 1. Most recently modified active increment (if multiple active)
|
|
135
|
+
* 2. Single active increment
|
|
136
|
+
* 3. null (log to orphaned/)
|
|
137
|
+
*
|
|
138
|
+
* @returns Increment ID or null for orphaned logs
|
|
139
|
+
*/
|
|
140
|
+
async findIncrementForLogging() {
|
|
141
|
+
const incrementsDir = path.join(this.workingDir, '.specweave/increments');
|
|
142
|
+
if (!await fs.pathExists(incrementsDir)) {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
// Find all active increments
|
|
146
|
+
const activeIncrements = [];
|
|
147
|
+
const dirs = await fs.readdir(incrementsDir);
|
|
148
|
+
for (const dir of dirs) {
|
|
149
|
+
const metadataPath = path.join(incrementsDir, dir, 'metadata.json');
|
|
150
|
+
if (await fs.pathExists(metadataPath)) {
|
|
151
|
+
try {
|
|
152
|
+
const metadata = await fs.readJson(metadataPath);
|
|
153
|
+
if (metadata.status === 'active') {
|
|
154
|
+
const lastActivity = new Date(metadata.lastActivity || metadata.created || Date.now());
|
|
155
|
+
activeIncrements.push({
|
|
156
|
+
id: dir,
|
|
157
|
+
lastActivity
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
// Skip invalid metadata files
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// No active increments → orphaned logs
|
|
168
|
+
if (activeIncrements.length === 0) {
|
|
169
|
+
return null;
|
|
170
|
+
}
|
|
171
|
+
// Single active → use it
|
|
172
|
+
if (activeIncrements.length === 1) {
|
|
173
|
+
return activeIncrements[0].id;
|
|
174
|
+
}
|
|
175
|
+
// Multiple active (max 2 allowed) → use most recent
|
|
176
|
+
activeIncrements.sort((a, b) => b.lastActivity.getTime() - a.lastActivity.getTime());
|
|
177
|
+
return activeIncrements[0].id;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Ensure README.md exists in logs/ folder
|
|
181
|
+
*/
|
|
182
|
+
async ensureLogsReadme(logsDir) {
|
|
183
|
+
const readmePath = path.join(logsDir, 'README.md');
|
|
184
|
+
// Only create if doesn't exist
|
|
185
|
+
if (await fs.pathExists(readmePath)) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
const readme = this.createLogsReadme();
|
|
189
|
+
await fs.writeFile(readmePath, readme);
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Create README.md content for logs/ folder
|
|
193
|
+
*/
|
|
194
|
+
createLogsReadme() {
|
|
195
|
+
const now = new Date().toISOString().replace('T', ' ').slice(0, 19);
|
|
196
|
+
return `# Prompt Logs
|
|
197
|
+
|
|
198
|
+
This folder contains automatic logs of all user prompts for this increment.
|
|
199
|
+
|
|
200
|
+
## Structure
|
|
201
|
+
|
|
202
|
+
\`\`\`
|
|
203
|
+
logs/
|
|
204
|
+
├── 2025-11-13/
|
|
205
|
+
│ ├── session.md # All prompts for this day
|
|
206
|
+
│ └── assets/ # Images, screenshots, files
|
|
207
|
+
├── 2025-11-14/
|
|
208
|
+
│ └── session.md
|
|
209
|
+
└── README.md # This file
|
|
210
|
+
\`\`\`
|
|
211
|
+
|
|
212
|
+
## Purpose
|
|
213
|
+
|
|
214
|
+
- **Audit trail**: Review what was asked and when
|
|
215
|
+
- **Context preservation**: Understand past decisions
|
|
216
|
+
- **Debug tool**: Trace where certain implementations came from
|
|
217
|
+
- **Knowledge base**: Search past conversations
|
|
218
|
+
|
|
219
|
+
## Privacy Note
|
|
220
|
+
|
|
221
|
+
These logs contain YOUR prompts exactly as typed. They may include:
|
|
222
|
+
- Code snippets
|
|
223
|
+
- API keys or secrets (review before committing!)
|
|
224
|
+
- Personal information
|
|
225
|
+
- Project-specific details
|
|
226
|
+
|
|
227
|
+
**Recommendation**: Review logs before committing to git.
|
|
228
|
+
|
|
229
|
+
## Configuration
|
|
230
|
+
|
|
231
|
+
To disable logging, edit \`.specweave/config.json\`:
|
|
232
|
+
|
|
233
|
+
\`\`\`json
|
|
234
|
+
{
|
|
235
|
+
"logging": {
|
|
236
|
+
"enabled": false
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
\`\`\`
|
|
240
|
+
|
|
241
|
+
## Generated by SpecWeave
|
|
242
|
+
|
|
243
|
+
Last updated: ${now}
|
|
244
|
+
`;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=prompt-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-logger.js","sourceRoot":"","sources":["../../../../src/core/logging/prompt-logger.ts"],"names":[],"mappings":"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"}
|