@schnick371/devsteps-shared 1.1.0-next.1 → 1.1.0-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/core/add.d.ts.map +1 -1
  2. package/dist/core/add.js +4 -3
  3. package/dist/core/add.js.map +1 -1
  4. package/dist/core/context.d.ts +44 -0
  5. package/dist/core/context.d.ts.map +1 -1
  6. package/dist/core/context.js +326 -1
  7. package/dist/core/context.js.map +1 -1
  8. package/dist/core/context.test.d.ts +10 -0
  9. package/dist/core/context.test.d.ts.map +1 -0
  10. package/dist/core/context.test.js +239 -0
  11. package/dist/core/context.test.js.map +1 -0
  12. package/dist/core/index.d.ts +1 -1
  13. package/dist/core/index.d.ts.map +1 -1
  14. package/dist/core/index.js +1 -1
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/core/update.js +4 -4
  17. package/dist/core/update.js.map +1 -1
  18. package/dist/utils/backup-github-files.d.ts +34 -0
  19. package/dist/utils/backup-github-files.d.ts.map +1 -0
  20. package/dist/utils/backup-github-files.js +137 -0
  21. package/dist/utils/backup-github-files.js.map +1 -0
  22. package/dist/utils/index.d.ts +25 -1
  23. package/dist/utils/index.d.ts.map +1 -1
  24. package/dist/utils/index.js +36 -1
  25. package/dist/utils/index.js.map +1 -1
  26. package/dist/utils/init-helpers.d.ts +14 -1
  27. package/dist/utils/init-helpers.d.ts.map +1 -1
  28. package/dist/utils/init-helpers.js +37 -2
  29. package/dist/utils/init-helpers.js.map +1 -1
  30. package/dist/utils/normalize.test.d.ts +15 -0
  31. package/dist/utils/normalize.test.d.ts.map +1 -0
  32. package/dist/utils/normalize.test.js +101 -0
  33. package/dist/utils/normalize.test.js.map +1 -0
  34. package/dist/utils/update-copilot-files.d.ts +59 -0
  35. package/dist/utils/update-copilot-files.d.ts.map +1 -0
  36. package/dist/utils/update-copilot-files.js +183 -0
  37. package/dist/utils/update-copilot-files.js.map +1 -0
  38. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/core/add.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAU7B,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CA2E5F"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/core/add.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAW7B,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CA6E5F"}
package/dist/core/add.js CHANGED
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { existsSync, writeFileSync } from 'node:fs';
9
9
  import { join } from 'node:path';
10
- import { generateItemId, getCurrentTimestamp, getTypePrefix, TYPE_TO_DIRECTORY, } from '../utils/index.js';
10
+ import { generateItemId, getCurrentTimestamp, getTypePrefix, normalizeMarkdown, TYPE_TO_DIRECTORY, } from '../utils/index.js';
11
11
  import { getConfig } from './config.js';
12
12
  import { addItemToIndex, loadCounters, updateCounters } from './index-refs.js';
13
13
  /**
@@ -64,8 +64,9 @@ export async function addItem(devstepsDir, args) {
64
64
  const metadataPath = join(itemDir, `${itemId}.json`);
65
65
  const descriptionPath = join(itemDir, `${itemId}.md`);
66
66
  writeFileSync(metadataPath, JSON.stringify(metadata, null, 2));
67
- // Save description
68
- const description = args.description || `# ${args.title}\n\n<!-- Add detailed description here -->\n`;
67
+ // Save description — normalizeMarkdown converts literal \n sequences from MCP clients
68
+ // to real newlines (BUG-056: GitHub Copilot ≥ v1.0.0 sends escape sequences, not real newlines)
69
+ const description = normalizeMarkdown(args.description || `# ${args.title}\n\n<!-- Add detailed description here -->\n`);
69
70
  writeFileSync(descriptionPath, description);
70
71
  // Update index (auto-migration ensures refs-style always available)
71
72
  const currentCounters = loadCounters(devstepsDir);
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/core/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/core/add.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  * Builds structured project context at quick/standard/deep levels.
7
7
  *
8
8
  * @see STORY-085 Context Command
9
+ * @see STORY-121 Layered AI Context Auto-Delivery
9
10
  */
10
11
  import type { ContextLevel, QuickContext } from '../schemas/project.js';
11
12
  interface PackageInfo {
@@ -24,6 +25,23 @@ interface RecentUpdate {
24
25
  title: string;
25
26
  updated: string;
26
27
  }
28
+ /**
29
+ * Metadata about the freshness and origin of a context response.
30
+ * Included in all context responses (quick, standard, deep).
31
+ * @see STORY-121 TASK-276
32
+ */
33
+ export interface ContextMeta {
34
+ /** ISO 8601 timestamp when this context was generated */
35
+ generated_at: string;
36
+ /** Age of .devsteps/PROJECT.md in decimal hours; Infinity if file absent */
37
+ project_md_age_hours: number;
38
+ /** True when project_md_age_hours > 24 (or PROJECT.md missing) */
39
+ is_stale: boolean;
40
+ /** Context depth level returned */
41
+ level: ContextLevel;
42
+ /** Whether this response was served from in-memory cache */
43
+ cache_hit: boolean;
44
+ }
27
45
  interface ContextResponse {
28
46
  context_level: ContextLevel;
29
47
  tokens_used: number;
@@ -34,6 +52,7 @@ interface ContextResponse {
34
52
  recent_updates: RecentUpdate[];
35
53
  };
36
54
  suggestions?: string[];
55
+ context_meta?: ContextMeta;
37
56
  }
38
57
  /**
39
58
  * Analyze packages from workspace (with caching)
@@ -59,5 +78,30 @@ export declare function estimateTokens(obj: unknown): number;
59
78
  * Get quick context
60
79
  */
61
80
  export declare function getQuickContext(projectDir: string, devstepsDir: string): Promise<ContextResponse>;
81
+ /**
82
+ * Build context_meta block for any context response.
83
+ * Computes PROJECT.md age from filesystem mtime.
84
+ * @see STORY-121 TASK-276
85
+ */
86
+ export declare function buildContextMeta(devstepsDir: string, level: ContextLevel, cacheHit: boolean): Promise<ContextMeta>;
87
+ /**
88
+ * Get standard context — extended project context for AI (< 20K tokens).
89
+ * Includes all quick fields plus open items, blocked items, in-progress summary,
90
+ * recent changes (7 days), key affected paths, and context_meta.
91
+ * @see STORY-121 TASK-273
92
+ */
93
+ export declare function getStandardContext(projectDir: string, devstepsDir: string): Promise<ContextResponse>;
94
+ /**
95
+ * Format a ContextResponse as readable plain text for embedding in AI prompts
96
+ * (used by MCP resource devsteps://project-context).
97
+ * @see STORY-121 TASK-275
98
+ */
99
+ export declare function formatContextAsText(ctx: ContextResponse): string;
100
+ /**
101
+ * Generate PROJECT.md content from live project state.
102
+ * Used by `devsteps context generate` CLI command.
103
+ * @see STORY-121 TASK-272
104
+ */
105
+ export declare function generateProjectMd(projectDir: string, devstepsDir: string): Promise<string>;
62
106
  export {};
63
107
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGxE,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,eAAe;IACvB,aAAa,EAAE,YAAY,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE;QACf,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,YAAY,EAAE,UAAU,CAAC;QACzB,cAAc,EAAE,YAAY,EAAE,CAAC;KAChC,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAyChF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAmC5E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAwCjG;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAkDrF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGnD;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAoC1B"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGxE,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,4DAA4D;IAC5D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,eAAe;IACvB,aAAa,EAAE,YAAY,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE;QACf,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,YAAY,EAAE,UAAU,CAAC;QACzB,cAAc,EAAE,YAAY,EAAE,CAAC;KAChC,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAcD;;GAEG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAyChF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAmC5E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAwCjG;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAkDrF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGnD;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAuC1B;AACD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,WAAW,CAAC,CAkBtB;AAmDD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAwD1B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAoEhE;AACD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAwIjB"}
@@ -6,7 +6,9 @@
6
6
  * Builds structured project context at quick/standard/deep levels.
7
7
  *
8
8
  * @see STORY-085 Context Command
9
+ * @see STORY-121 Layered AI Context Auto-Delivery
9
10
  */
11
+ import { statSync } from 'node:fs';
10
12
  import { promises as fs } from 'node:fs';
11
13
  import path from 'node:path';
12
14
  import { CACHE_CONFIG, getCache } from '../utils/cache.js';
@@ -198,7 +200,7 @@ export async function getQuickContext(projectDir, devstepsDir) {
198
200
  // Add suggestions
199
201
  const suggestions = [];
200
202
  if (!staticContext) {
201
- suggestions.push('Consider creating .devsteps/PROJECT.md for static context');
203
+ suggestions.push('Run `devsteps context generate` to create PROJECT.md for richer AI context');
202
204
  }
203
205
  if (activeItems.by_status.blocked > 0) {
204
206
  suggestions.push(`${activeItems.by_status.blocked} blocked items need attention`);
@@ -206,6 +208,329 @@ export async function getQuickContext(projectDir, devstepsDir) {
206
208
  if (suggestions.length > 0) {
207
209
  response.suggestions = suggestions;
208
210
  }
211
+ // Add context_meta for staleness awareness (TASK-276)
212
+ response.context_meta = await buildContextMeta(devstepsDir, 'quick', false);
209
213
  return response;
210
214
  }
215
+ /**
216
+ * Build context_meta block for any context response.
217
+ * Computes PROJECT.md age from filesystem mtime.
218
+ * @see STORY-121 TASK-276
219
+ */
220
+ export async function buildContextMeta(devstepsDir, level, cacheHit) {
221
+ const projectPath = path.join(devstepsDir, 'PROJECT.md');
222
+ let projectMdAgeHours = Number.POSITIVE_INFINITY;
223
+ try {
224
+ const stat = statSync(projectPath);
225
+ projectMdAgeHours = (Date.now() - stat.mtimeMs) / (1000 * 60 * 60);
226
+ }
227
+ catch {
228
+ // File doesn't exist — treat as infinitely stale
229
+ }
230
+ return {
231
+ generated_at: new Date().toISOString(),
232
+ project_md_age_hours: projectMdAgeHours,
233
+ is_stale: projectMdAgeHours > 24,
234
+ level,
235
+ cache_hit: cacheHit,
236
+ };
237
+ }
238
+ /**
239
+ * Get active items list from index (non-done, non-cancelled, non-obsolete)
240
+ */
241
+ async function getActiveItemsSummary(devstepsDir) {
242
+ const indexPath = path.join(devstepsDir, 'index.json');
243
+ const TERMINAL_STATUSES = new Set(['done', 'cancelled', 'obsolete']);
244
+ try {
245
+ const content = await fs.readFile(indexPath, 'utf-8');
246
+ const index = JSON.parse(content);
247
+ return index.items
248
+ .filter((item) => !TERMINAL_STATUSES.has(item.status))
249
+ .sort((a, b) => new Date(b.updated).getTime() - new Date(a.updated).getTime())
250
+ .slice(0, 30)
251
+ .map((item) => ({
252
+ id: item.id,
253
+ type: item.type,
254
+ title: item.title,
255
+ status: item.status,
256
+ updated: item.updated,
257
+ affected_paths: item.affected_paths,
258
+ }));
259
+ }
260
+ catch {
261
+ return [];
262
+ }
263
+ }
264
+ /**
265
+ * Collect unique affected_paths from in-progress items (top 10).
266
+ */
267
+ function collectKeyPaths(items) {
268
+ const seen = new Set();
269
+ const result = [];
270
+ for (const item of items) {
271
+ if (item.status !== 'in-progress')
272
+ continue;
273
+ for (const p of item.affected_paths ?? []) {
274
+ if (!seen.has(p)) {
275
+ seen.add(p);
276
+ result.push(p);
277
+ if (result.length >= 10)
278
+ return result;
279
+ }
280
+ }
281
+ }
282
+ return result;
283
+ }
284
+ /**
285
+ * Get standard context — extended project context for AI (< 20K tokens).
286
+ * Includes all quick fields plus open items, blocked items, in-progress summary,
287
+ * recent changes (7 days), key affected paths, and context_meta.
288
+ * @see STORY-121 TASK-273
289
+ */
290
+ export async function getStandardContext(projectDir, devstepsDir) {
291
+ const [packages, activeItems, recentUpdates, staticContext, allActiveItems] = await Promise.all([
292
+ analyzePackages(projectDir),
293
+ getItemCounts(devstepsDir),
294
+ getRecentUpdates(devstepsDir, 7),
295
+ readProjectMd(devstepsDir),
296
+ getActiveItemsSummary(devstepsDir),
297
+ ]);
298
+ const inProgress = allActiveItems.filter((i) => i.status === 'in-progress');
299
+ const blocked = allActiveItems.filter((i) => i.status === 'blocked');
300
+ const keyPaths = collectKeyPaths(allActiveItems);
301
+ const response = {
302
+ context_level: 'standard',
303
+ tokens_used: 0,
304
+ dynamic_context: {
305
+ packages,
306
+ active_items: activeItems,
307
+ recent_updates: recentUpdates,
308
+ },
309
+ };
310
+ if (staticContext) {
311
+ response.static_context = staticContext;
312
+ }
313
+ // Extended fields for standard level (stored as additional dynamic context)
314
+ const extendedContext = {
315
+ ...response.dynamic_context,
316
+ open_items_count: allActiveItems.length,
317
+ in_progress: inProgress.map((i) => ({ id: i.id, type: i.type, title: i.title, updated: i.updated })),
318
+ blocking_items: blocked.map((i) => ({ id: i.id, type: i.type, title: i.title })),
319
+ key_paths: keyPaths,
320
+ };
321
+ response.dynamic_context = extendedContext;
322
+ // Add suggestions
323
+ const suggestions = [];
324
+ if (!staticContext) {
325
+ suggestions.push('Run `devsteps context generate` to create PROJECT.md for richer AI context');
326
+ }
327
+ if (blocked.length > 0) {
328
+ suggestions.push(`${blocked.length} blocked item(s) need attention`);
329
+ }
330
+ if (inProgress.length > 5) {
331
+ suggestions.push(`${inProgress.length} items in-progress — consider focusing`);
332
+ }
333
+ if (suggestions.length > 0) {
334
+ response.suggestions = suggestions;
335
+ }
336
+ response.tokens_used = estimateTokens(response);
337
+ response.context_meta = await buildContextMeta(devstepsDir, 'standard', false);
338
+ return response;
339
+ }
340
+ /**
341
+ * Format a ContextResponse as readable plain text for embedding in AI prompts
342
+ * (used by MCP resource devsteps://project-context).
343
+ * @see STORY-121 TASK-275
344
+ */
345
+ export function formatContextAsText(ctx) {
346
+ const lines = [];
347
+ lines.push('# DevSteps Project Context');
348
+ lines.push('');
349
+ if (ctx.static_context) {
350
+ const sc = ctx.static_context;
351
+ if (sc.project_type) {
352
+ lines.push(`**Project Type:** ${sc.project_type}`);
353
+ lines.push('');
354
+ }
355
+ if (sc.tech_stack && Object.keys(sc.tech_stack).length > 0) {
356
+ lines.push('## Tech Stack');
357
+ for (const [key, val] of Object.entries(sc.tech_stack)) {
358
+ lines.push(`- **${key}:** ${val}`);
359
+ }
360
+ lines.push('');
361
+ }
362
+ }
363
+ // Packages
364
+ if (ctx.dynamic_context.packages.length > 0) {
365
+ lines.push('## Packages');
366
+ for (const pkg of ctx.dynamic_context.packages) {
367
+ lines.push(`- **${pkg.name}:** ${pkg.purpose}`);
368
+ }
369
+ lines.push('');
370
+ }
371
+ // Item summary
372
+ const counts = ctx.dynamic_context.active_items;
373
+ lines.push('## Project Status');
374
+ lines.push(`Total items: ${counts.total}`);
375
+ if (counts.by_status) {
376
+ const statusParts = Object.entries(counts.by_status)
377
+ .filter(([, n]) => n > 0)
378
+ .map(([s, n]) => `${s}: ${n}`)
379
+ .join(', ');
380
+ if (statusParts)
381
+ lines.push(`By status: ${statusParts}`);
382
+ }
383
+ lines.push('');
384
+ // Recent updates
385
+ if (ctx.dynamic_context.recent_updates.length > 0) {
386
+ lines.push('## Recent Activity (last 7 days)');
387
+ for (const u of ctx.dynamic_context.recent_updates.slice(0, 5)) {
388
+ lines.push(`- [${u.id}] ${u.title} (${u.type}, updated ${u.updated.slice(0, 10)})`);
389
+ }
390
+ lines.push('');
391
+ }
392
+ // Staleness warning
393
+ if (ctx.context_meta?.is_stale) {
394
+ lines.push(`⚠️ Context may be stale (PROJECT.md is ${ctx.context_meta.project_md_age_hours.toFixed(1)}h old). Run \`devsteps context generate\` to refresh.`);
395
+ lines.push('');
396
+ }
397
+ // Conventions
398
+ lines.push('## DevSteps Conventions');
399
+ lines.push('- Never edit .devsteps/ directly — use MCP tools or CLI');
400
+ lines.push('- Item hierarchy: Epic → Story|Spike → Task|Bug');
401
+ lines.push('- Status flow: draft → planned → in-progress → review → done');
402
+ lines.push('- Git: `type(scope): subject` + footer `Implements: ID`');
403
+ return lines.join('\n');
404
+ }
405
+ /**
406
+ * Generate PROJECT.md content from live project state.
407
+ * Used by `devsteps context generate` CLI command.
408
+ * @see STORY-121 TASK-272
409
+ */
410
+ export async function generateProjectMd(projectDir, devstepsDir) {
411
+ const [packages, counts, recentUpdates] = await Promise.all([
412
+ analyzePackages(projectDir),
413
+ getItemCounts(devstepsDir),
414
+ getRecentUpdates(devstepsDir, 14),
415
+ ]);
416
+ let projectName = path.basename(projectDir);
417
+ let methodology = 'scrum';
418
+ let projectDescription = '';
419
+ try {
420
+ const configRaw = await fs.readFile(path.join(devstepsDir, 'config.json'), 'utf-8');
421
+ const config = JSON.parse(configRaw);
422
+ projectName = config.project_name || projectName;
423
+ methodology = config.settings?.methodology || methodology;
424
+ projectDescription = config.description || '';
425
+ }
426
+ catch {
427
+ // config missing - use defaults
428
+ }
429
+ if (!projectDescription) {
430
+ try {
431
+ const readme = await fs.readFile(path.join(projectDir, 'README.md'), 'utf-8');
432
+ const firstPara = readme
433
+ .split('\n\n')
434
+ .find((p) => p.trim() && !p.startsWith('#') && !p.startsWith('<!--'));
435
+ projectDescription = firstPara?.trim().replace(/\n/g, ' ').slice(0, 300) || '';
436
+ }
437
+ catch {
438
+ // No README
439
+ }
440
+ }
441
+ const techLines = [];
442
+ try {
443
+ const rootPkg = await fs.readFile(path.join(projectDir, 'package.json'), 'utf-8');
444
+ const root = JSON.parse(rootPkg);
445
+ const allDeps = { ...root.dependencies, ...root.devDependencies };
446
+ const knownStack = [
447
+ [/@modelcontextprotocol\/sdk/, 'MCP SDK (@modelcontextprotocol/sdk)'],
448
+ [/\bzod\b/, 'Zod (schema validation)'],
449
+ [/\bcommander\b/, 'Commander (CLI framework)'],
450
+ [/\bchalk\b/, 'Chalk (terminal styling)'],
451
+ [/\bora\b/, 'Ora (spinners)'],
452
+ [/\bpino\b/, 'Pino (structured logging)'],
453
+ [/\bprom-client\b/, 'prom-client (Prometheus metrics)'],
454
+ [/@biomejs\/biome/, 'Biome (lint + format)'],
455
+ [/\bvitest\b/, 'Vitest (unit testing)'],
456
+ [/\besbuild\b/, 'esbuild (bundler)'],
457
+ [/\btypescript\b/, 'TypeScript'],
458
+ ];
459
+ for (const [pattern, label] of knownStack) {
460
+ if (Object.keys(allDeps).some((k) => pattern.test(k))) {
461
+ techLines.push(`- ${label}`);
462
+ }
463
+ }
464
+ }
465
+ catch {
466
+ // No root package.json
467
+ }
468
+ const inProgressCount = counts.by_status['in-progress'] || 0;
469
+ const openCount = counts.total -
470
+ (counts.by_status.done || 0) -
471
+ (counts.by_status.cancelled || 0) -
472
+ (counts.by_status.obsolete || 0);
473
+ const lines = [];
474
+ lines.push(`# ${projectName}`);
475
+ lines.push('');
476
+ if (projectDescription) {
477
+ lines.push('## Description');
478
+ lines.push('');
479
+ lines.push(projectDescription);
480
+ lines.push('');
481
+ }
482
+ if (techLines.length > 0) {
483
+ lines.push('## Tech Stack');
484
+ lines.push('');
485
+ lines.push('- **Runtime:** Node.js 22+, TypeScript ESM');
486
+ lines.push('- **Monorepo:** npm workspaces, esbuild per-package');
487
+ lines.push(`- **Methodology:** ${methodology}`);
488
+ for (const t of techLines) {
489
+ lines.push(t);
490
+ }
491
+ lines.push('');
492
+ }
493
+ lines.push('## Project Type');
494
+ lines.push('');
495
+ lines.push(methodology.charAt(0).toUpperCase() + methodology.slice(1));
496
+ lines.push('');
497
+ if (packages.length > 0) {
498
+ lines.push('## Package Structure');
499
+ lines.push('');
500
+ for (const pkg of packages) {
501
+ lines.push(`- **${pkg.name}:** ${pkg.purpose}`);
502
+ }
503
+ lines.push('');
504
+ }
505
+ lines.push('## Status');
506
+ lines.push('');
507
+ lines.push(`Total items: ${counts.total} | Open: ${openCount} | In-progress: ${inProgressCount}`);
508
+ if (counts.by_type) {
509
+ const typeSummary = Object.entries(counts.by_type)
510
+ .filter(([, n]) => n > 0)
511
+ .map(([t, n]) => `${t}: ${n}`)
512
+ .join(', ');
513
+ if (typeSummary)
514
+ lines.push(`By type: ${typeSummary}`);
515
+ }
516
+ lines.push('');
517
+ if (recentUpdates.length > 0) {
518
+ lines.push('## Active Work');
519
+ lines.push('');
520
+ for (const u of recentUpdates.slice(0, 10)) {
521
+ lines.push(`- [${u.id}] ${u.title} (${u.type})`);
522
+ }
523
+ lines.push('');
524
+ }
525
+ lines.push('## Conventions');
526
+ lines.push('');
527
+ lines.push('- **WorkDir:** `.devsteps/` -- managed by DevSteps tools only');
528
+ lines.push('- **Hierarchy:** Epic -> Story|Spike -> Task|Bug');
529
+ lines.push('- **Status flow:** draft -> planned -> in-progress -> review -> done');
530
+ lines.push('- **Commits:** `type(scope): subject` + footer `Implements: ID`');
531
+ lines.push('- **Quality:** Build + tests must pass before marking done');
532
+ lines.push('');
533
+ lines.push(`_Generated by \`devsteps context generate\` at ${new Date().toISOString()}_`);
534
+ return lines.join('\n');
535
+ }
211
536
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright © 2025 Thomas Hertel (the@devsteps.dev)
3
+ * Licensed under the Apache License, Version 2.0
4
+ *
5
+ * Tests for context generation — quick/standard levels, context_meta, generateProjectMd
6
+ *
7
+ * @see STORY-121 TASK-273, TASK-276
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=context.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.test.d.ts","sourceRoot":"","sources":["../../src/core/context.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}