@ginkoai/cli 1.6.0 → 1.6.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.
Files changed (53) hide show
  1. package/README.md +34 -0
  2. package/dist/commands/epic.d.ts +29 -0
  3. package/dist/commands/epic.d.ts.map +1 -0
  4. package/dist/commands/epic.js +322 -0
  5. package/dist/commands/epic.js.map +1 -0
  6. package/dist/commands/graph/api-client.d.ts +230 -0
  7. package/dist/commands/graph/api-client.d.ts.map +1 -1
  8. package/dist/commands/graph/api-client.js +66 -0
  9. package/dist/commands/graph/api-client.js.map +1 -1
  10. package/dist/commands/log.d.ts.map +1 -1
  11. package/dist/commands/log.js +39 -4
  12. package/dist/commands/log.js.map +1 -1
  13. package/dist/commands/start/start-reflection.d.ts +11 -0
  14. package/dist/commands/start/start-reflection.d.ts.map +1 -1
  15. package/dist/commands/start/start-reflection.js +193 -34
  16. package/dist/commands/start/start-reflection.js.map +1 -1
  17. package/dist/core/session-log-manager.d.ts +1 -1
  18. package/dist/core/session-log-manager.d.ts.map +1 -1
  19. package/dist/core/session-log-manager.js +12 -3
  20. package/dist/core/session-log-manager.js.map +1 -1
  21. package/dist/index.js +22 -3
  22. package/dist/index.js.map +1 -1
  23. package/dist/lib/context-loader-events.d.ts.map +1 -1
  24. package/dist/lib/context-loader-events.js +9 -2
  25. package/dist/lib/context-loader-events.js.map +1 -1
  26. package/dist/lib/event-logger.d.ts +1 -1
  27. package/dist/lib/event-logger.d.ts.map +1 -1
  28. package/dist/lib/output-formatter.d.ts +36 -2
  29. package/dist/lib/output-formatter.d.ts.map +1 -1
  30. package/dist/lib/output-formatter.js +93 -29
  31. package/dist/lib/output-formatter.js.map +1 -1
  32. package/dist/lib/sprint-loader.d.ts +8 -3
  33. package/dist/lib/sprint-loader.d.ts.map +1 -1
  34. package/dist/lib/sprint-loader.js +123 -14
  35. package/dist/lib/sprint-loader.js.map +1 -1
  36. package/dist/templates/ai-instructions-template.d.ts +3 -2
  37. package/dist/templates/ai-instructions-template.d.ts.map +1 -1
  38. package/dist/templates/ai-instructions-template.js +104 -2
  39. package/dist/templates/ai-instructions-template.js.map +1 -1
  40. package/dist/templates/epic-template.md +319 -0
  41. package/dist/utils/command-helpers.d.ts +10 -0
  42. package/dist/utils/command-helpers.d.ts.map +1 -1
  43. package/dist/utils/command-helpers.js +52 -1
  44. package/dist/utils/command-helpers.js.map +1 -1
  45. package/dist/utils/pattern-confidence.d.ts +82 -0
  46. package/dist/utils/pattern-confidence.d.ts.map +1 -0
  47. package/dist/utils/pattern-confidence.js +172 -0
  48. package/dist/utils/pattern-confidence.js.map +1 -0
  49. package/dist/utils/synthesis.d.ts +9 -0
  50. package/dist/utils/synthesis.d.ts.map +1 -1
  51. package/dist/utils/synthesis.js +30 -31
  52. package/dist/utils/synthesis.js.map +1 -1
  53. package/package.json +1 -1
@@ -41,11 +41,13 @@ async function findGitRoot() {
41
41
  /**
42
42
  * Find active sprint file
43
43
  *
44
- * Looks for most recent SPRINT-*.md file in docs/sprints/
45
- * that is not marked as "Complete" in its status
44
+ * Priority:
45
+ * 1. Check CURRENT-SPRINT.md for "Between Sprints" status return null
46
+ * 2. Check CURRENT-SPRINT.md for sprint reference → return that file
47
+ * 3. Fall back to scanning SPRINT-*.md files for first incomplete one
46
48
  *
47
49
  * @param projectRoot - Project root directory
48
- * @returns Path to active sprint file or null
50
+ * @returns Path to active sprint file or null (if between sprints)
49
51
  */
50
52
  export async function findActiveSprint(projectRoot) {
51
53
  try {
@@ -54,32 +56,68 @@ export async function findActiveSprint(projectRoot) {
54
56
  if (!fs.existsSync(sprintsDir)) {
55
57
  return null;
56
58
  }
57
- // Get all sprint files sorted by date (newest first)
59
+ // Check CURRENT-SPRINT.md first (source of truth)
60
+ const currentSprintPath = path.join(sprintsDir, 'CURRENT-SPRINT.md');
61
+ if (fs.existsSync(currentSprintPath)) {
62
+ const currentContent = await fs.readFile(currentSprintPath, 'utf-8');
63
+ // Check for "Between Sprints" or "No active sprint" status
64
+ if (currentContent.includes('Between Sprints') ||
65
+ currentContent.includes('No active sprint') ||
66
+ currentContent.match(/\*\*Status\*\*:\s*Between Sprints/i)) {
67
+ return null; // Explicitly between sprints
68
+ }
69
+ // Look for sprint reference: See: SPRINT-YYYY-MM-DD-name.md
70
+ const sprintRefMatch = currentContent.match(/See:\s*(SPRINT-[\w-]+\.md)/i);
71
+ if (sprintRefMatch) {
72
+ const referencedPath = path.join(sprintsDir, sprintRefMatch[1]);
73
+ if (fs.existsSync(referencedPath)) {
74
+ return referencedPath;
75
+ }
76
+ }
77
+ // Look for **Last Completed**: SPRINT-XXX pattern (means between sprints)
78
+ if (currentContent.match(/\*\*Last Completed\*\*:/)) {
79
+ return null;
80
+ }
81
+ }
82
+ // Fall back: Get all sprint files sorted by date (newest first)
58
83
  const sprintFiles = (await fs.readdir(sprintsDir))
59
- .filter(f => f.startsWith('SPRINT-') && f.endsWith('.md'))
84
+ .filter(f => f.startsWith('SPRINT-') && f.endsWith('.md') && f !== 'CURRENT-SPRINT.md')
60
85
  .sort()
61
86
  .reverse();
62
- // Find first sprint that's not complete
87
+ const candidates = [];
63
88
  for (const file of sprintFiles) {
64
89
  const filePath = path.join(sprintsDir, file);
65
90
  const content = await fs.readFile(filePath, 'utf-8');
66
91
  // Check if sprint is marked complete
67
- const statusMatch = content.match(/\*\*Sprint Status\*\*:\s*(.+)/);
68
- const progressMatch = content.match(/\*\*Progress\*\*:\s*(\d+)%/);
92
+ // Note: Support both **Progress:** and **Progress**: formats
93
+ const statusMatch = content.match(/\*\*Sprint Status:?\*\*:?\s*(.+)/);
94
+ const progressMatch = content.match(/\*\*Progress:?\*\*:?\s*(\d+)%/);
69
95
  // Skip if explicitly marked complete or 100% progress
70
96
  if (statusMatch && statusMatch[1].toLowerCase().includes('complete') &&
71
97
  !statusMatch[1].includes('[@]')) {
72
98
  continue;
73
99
  }
74
- if (progressMatch && parseInt(progressMatch[1]) === 100) {
100
+ const progress = progressMatch ? parseInt(progressMatch[1]) : 0;
101
+ if (progress === 100) {
75
102
  continue;
76
103
  }
77
- return filePath;
104
+ // Check for in-progress tasks ([@] markers)
105
+ const hasInProgress = content.includes('[@]') || (progress > 0 && progress < 100);
106
+ candidates.push({ file: filePath, progress, hasInProgress });
107
+ }
108
+ // Prioritize in-progress sprints over not-started ones
109
+ const inProgressSprints = candidates.filter(c => c.hasInProgress);
110
+ if (inProgressSprints.length > 0) {
111
+ // Return the one with highest progress (closest to completion)
112
+ inProgressSprints.sort((a, b) => b.progress - a.progress);
113
+ return inProgressSprints[0].file;
78
114
  }
79
- // If no active sprint found, return most recent
80
- return sprintFiles.length > 0
81
- ? path.join(sprintsDir, sprintFiles[0])
82
- : null;
115
+ // Fall back to first not-started sprint
116
+ if (candidates.length > 0) {
117
+ return candidates[0].file;
118
+ }
119
+ // No active sprint found
120
+ return null;
83
121
  }
84
122
  catch (error) {
85
123
  console.error('Failed to find active sprint:', error.message);
@@ -165,6 +203,69 @@ export function parseSprintChecklist(markdown, filePath) {
165
203
  }
166
204
  continue;
167
205
  }
206
+ // Extract ADR references from any line in task section (EPIC-002 Sprint 1)
207
+ if (parsingTask) {
208
+ const adrMatches = line.matchAll(/ADR-(\d+)/gi);
209
+ for (const match of adrMatches) {
210
+ const adrId = `ADR-${match[1].padStart(3, '0')}`;
211
+ parsingTask.relatedADRs = parsingTask.relatedADRs || [];
212
+ if (!parsingTask.relatedADRs.includes(adrId)) {
213
+ parsingTask.relatedADRs.push(adrId);
214
+ }
215
+ }
216
+ // Extract pattern references from any line in task section (EPIC-002 Sprint 2)
217
+ // Patterns can be referenced as:
218
+ // - "Use pattern from file.ts" or "pattern in file.ts"
219
+ // - "See file.ts for example"
220
+ // - Explicit pattern names like "retry-pattern", "event-queue-pattern"
221
+ const patternFromFileMatches = line.matchAll(/(?:use|apply|see|follow)\s+(?:the\s+)?(?:pattern|example)\s+(?:from|in)\s+[`"]?([a-zA-Z0-9_\-./]+\.[a-zA-Z]+)[`"]?/gi);
222
+ for (const match of patternFromFileMatches) {
223
+ const patternId = match[1];
224
+ parsingTask.relatedPatterns = parsingTask.relatedPatterns || [];
225
+ if (!parsingTask.relatedPatterns.includes(patternId)) {
226
+ parsingTask.relatedPatterns.push(patternId);
227
+ }
228
+ }
229
+ // Match explicit pattern names (kebab-case with -pattern suffix)
230
+ const explicitPatternMatches = line.matchAll(/\b([a-z][a-z0-9]*(?:-[a-z0-9]+)*-pattern)\b/gi);
231
+ for (const match of explicitPatternMatches) {
232
+ const patternId = match[1].toLowerCase();
233
+ parsingTask.relatedPatterns = parsingTask.relatedPatterns || [];
234
+ if (!parsingTask.relatedPatterns.includes(patternId)) {
235
+ parsingTask.relatedPatterns.push(patternId);
236
+ }
237
+ }
238
+ // Extract gotcha references from any line in task section (EPIC-002 Sprint 2)
239
+ // Priority: explicit kebab-case gotcha names like "timer-gotcha", "async-gotcha"
240
+ const explicitGotchaMatches = line.matchAll(/\b([a-z][a-z0-9]*(?:-[a-z0-9]+)*-gotcha)\b/gi);
241
+ for (const match of explicitGotchaMatches) {
242
+ const gotchaId = match[1].toLowerCase();
243
+ parsingTask.relatedGotchas = parsingTask.relatedGotchas || [];
244
+ if (!parsingTask.relatedGotchas.includes(gotchaId)) {
245
+ parsingTask.relatedGotchas.push(gotchaId);
246
+ }
247
+ }
248
+ // Fallback: extract from warning phrases only if no explicit gotcha found on this line
249
+ // - "Avoid gotcha: timer keeps process alive"
250
+ // - "Watch out for X"
251
+ // - "Beware of Y"
252
+ if (!line.match(/[a-z][a-z0-9]*(?:-[a-z0-9]+)*-gotcha/i)) {
253
+ const gotchaWarningMatches = line.matchAll(/(?:avoid|watch out for|beware of|gotcha:)\s+[`"]?([^`".\n]+)[`"]?/gi);
254
+ for (const match of gotchaWarningMatches) {
255
+ // Skip if the phrase contains "gotcha" - it's likely referring to an explicit gotcha
256
+ if (match[1].toLowerCase().includes('gotcha'))
257
+ continue;
258
+ const gotchaId = match[1].trim().toLowerCase().replace(/\s+/g, '-');
259
+ // Only add if reasonably short (likely a gotcha name, not a sentence)
260
+ if (gotchaId.length <= 40) {
261
+ parsingTask.relatedGotchas = parsingTask.relatedGotchas || [];
262
+ if (!parsingTask.relatedGotchas.includes(gotchaId)) {
263
+ parsingTask.relatedGotchas.push(gotchaId);
264
+ }
265
+ }
266
+ }
267
+ }
268
+ }
168
269
  }
169
270
  // Save last task
170
271
  if (parsingTask?.id && parsingTask?.title) {
@@ -291,6 +392,14 @@ export function formatCurrentTaskDetails(task) {
291
392
  if (task.effort) {
292
393
  output += ` Effort: ${task.effort}\n`;
293
394
  }
395
+ // EPIC-002 Sprint 3: Show pattern guidance (TASK-1)
396
+ if (task.relatedPatterns && task.relatedPatterns.length > 0) {
397
+ output += ` Apply: ${task.relatedPatterns.join(', ')}\n`;
398
+ }
399
+ // EPIC-002 Sprint 3: Show gotcha warnings (TASK-1)
400
+ if (task.relatedGotchas && task.relatedGotchas.length > 0) {
401
+ output += ` Avoid: ${task.relatedGotchas.join(', ')}\n`;
402
+ }
294
403
  return output;
295
404
  }
296
405
  //# sourceMappingURL=sprint-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sprint-loader.js","sourceRoot":"","sources":["../../src/lib/sprint-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sprint-loader.js","sourceRoot":"","sources":["../../src/lib/sprint-loader.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @fileType: utility
3
3
  * @status: current
4
- * @updated: 2025-08-28
5
- * @tags: [template, ai-instructions, frontmatter, ai-optimization, model-agnostic]
4
+ * @updated: 2025-11-25
5
+ * @tags: [template, ai-instructions, frontmatter, ai-optimization, model-agnostic, graph-queries, epic-003]
6
6
  * @related: [init.ts, project-analyzer.ts, ai-adapter.ts]
7
7
  * @priority: high
8
8
  * @complexity: medium
@@ -31,6 +31,7 @@ export declare class AiInstructionsTemplate {
31
31
  private static readonly FRONTMATTER_SECTION;
32
32
  private static readonly DEVELOPMENT_WORKFLOW;
33
33
  private static readonly CONTEXT_REFLEXES;
34
+ private static readonly PROJECT_KNOWLEDGE_QUERIES;
34
35
  static generate(variables: TemplateVariables, modelSpecificContent?: string): string;
35
36
  private static generateQuickCommands;
36
37
  private static generateProjectSpecificSection;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-instructions-template.d.ts","sourceRoot":"","sources":["../../src/templates/ai-instructions-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3E,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IAC5D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CA4C/C;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAmC3C;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAkB5C;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CA+BxC;IAEA,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM;IAmDpF,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAqBpC,OAAO,CAAC,MAAM,CAAC,8BAA8B;IA0C7C,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAerC,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAQlC"}
1
+ {"version":3,"file":"ai-instructions-template.d.ts","sourceRoot":"","sources":["../../src/templates/ai-instructions-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3E,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IAC5D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAkF/C;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAmC3C;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAkB5C;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CA+BxC;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CA6DjD;IAEA,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM;IAqDpF,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAqBpC,OAAO,CAAC,MAAM,CAAC,8BAA8B;IA0C7C,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAerC,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAQlC"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @fileType: utility
3
3
  * @status: current
4
- * @updated: 2025-08-28
5
- * @tags: [template, ai-instructions, frontmatter, ai-optimization, model-agnostic]
4
+ * @updated: 2025-11-25
5
+ * @tags: [template, ai-instructions, frontmatter, ai-optimization, model-agnostic, graph-queries, epic-003]
6
6
  * @related: [init.ts, project-analyzer.ts, ai-adapter.ts]
7
7
  * @priority: high
8
8
  * @complexity: medium
@@ -30,6 +30,44 @@ When the user types a **single word** that matches a ginko command, **IMMEDIATEL
30
30
 
31
31
  **Why:** Eliminates 9+ seconds of response latency (28s → <2s startup)
32
32
 
33
+ ### After Execution: Concise Readiness Message
34
+
35
+ After \`ginko start\` completes, provide a brief readiness message (6-10 lines):
36
+
37
+ **Template:**
38
+ \`\`\`
39
+ Ready | [Flow State] | [Work Mode]
40
+ Last session: [What was done/in progress last time]
41
+ Next up: [TASK-ID] - [Task title] (start|continue)
42
+
43
+ Sprint: [Sprint Name] [Progress]%
44
+ Follow: [ADR constraints]
45
+ Apply: [Pattern guidance with confidence icons]
46
+ Avoid: [Gotcha warnings]
47
+ Branch: [branch] ([uncommitted count] uncommitted files)
48
+ \`\`\`
49
+
50
+ **Example:**
51
+ \`\`\`
52
+ Ready | Hot (10/10) | Think & Build mode
53
+ Last session: EPIC-003 Sprint 2 TASK-1 complete (Blog infrastructure)
54
+ Next up: TASK-2 - Verify human output format (start)
55
+
56
+ Sprint: Enrichment Test 50%
57
+ Follow: ADR-002, ADR-033
58
+ Apply: retry-pattern ◐, output-formatter-pattern ◐
59
+ Avoid: 💡 timer-unref-gotcha
60
+ Branch: main (12 uncommitted files)
61
+ \`\`\`
62
+
63
+ **Guidelines:**
64
+ - Line 1: Flow state and work mode
65
+ - Line 2: "Last session:" - what happened before
66
+ - Line 3: "Next up:" - what to work on now (start/continue)
67
+ - Sprint block: Progress + cognitive scaffolding (Follow/Apply/Avoid)
68
+ - Confidence icons: ★ high, ◐ medium, ○ low
69
+ - Severity icons: 🚨 critical, ⚠️ high, 💡 medium/low
70
+
33
71
  ### New Project Onboarding
34
72
 
35
73
  **After first \`ginko start\`**, check for charter (\`docs/PROJECT-CHARTER.md\`):
@@ -140,6 +178,68 @@ These "mental reflexes" activate naturally without explicit prompting to maintai
140
178
  - **Full Planning**: Frequent reflex triggers for maximum rigor
141
179
 
142
180
  These reflexes maintain continuous context awareness while preserving natural workflow.
181
+ `;
182
+ static PROJECT_KNOWLEDGE_QUERIES = `
183
+ ## 🔍 Answering Project Questions (EPIC-003)
184
+
185
+ When users ask factual questions about the project, query available data sources directly.
186
+
187
+ ### Graph API - Requires \`GINKO_BEARER_TOKEN\` and \`GINKO_GRAPH_ID\`
188
+
189
+ **Setup credentials:**
190
+ 1. Run \`ginko login\` to authenticate (stores token in ~/.ginko/auth.json)
191
+ 2. Run \`ginko graph init\` to create graph (stores ID in .ginko/graph/config.json)
192
+ 3. Export for shell use: \`export GINKO_BEARER_TOKEN=$(cat ~/.ginko/auth.json | jq -r .api_key)\`
193
+ 4. Export graph ID: \`export GINKO_GRAPH_ID=$(cat .ginko/graph/config.json | jq -r .graphId)\`
194
+
195
+ **Semantic search** - finds content similar to query:
196
+ \`\`\`bash
197
+ curl -X POST https://app.ginkoai.com/api/v1/graph/query \\
198
+ -H "Authorization: Bearer $GINKO_BEARER_TOKEN" \\
199
+ -H "Content-Type: application/json" \\
200
+ -d '{"graphId": "'"$GINKO_GRAPH_ID"'", "query": "YOUR_SEARCH_TERM", "limit": 5}'
201
+ \`\`\`
202
+
203
+ **List nodes by type** (ADR, PRD, Pattern, Gotcha, Event, Sprint, Task):
204
+ \`\`\`bash
205
+ curl "https://app.ginkoai.com/api/v1/graph/nodes?graphId=$GINKO_GRAPH_ID&labels=ADR&limit=10" \\
206
+ -H "Authorization: Bearer $GINKO_BEARER_TOKEN"
207
+ \`\`\`
208
+
209
+ **Filter by property** (e.g., events by user):
210
+ \`\`\`bash
211
+ curl "https://app.ginkoai.com/api/v1/graph/nodes?graphId=$GINKO_GRAPH_ID&labels=Event&user_id=USER_EMAIL&limit=20" \\
212
+ -H "Authorization: Bearer $GINKO_BEARER_TOKEN"
213
+ \`\`\`
214
+
215
+ ### Local Files (Fallback when graph unavailable)
216
+
217
+ | Question Type | File Location |
218
+ |--------------|---------------|
219
+ | Sprint progress | \`docs/sprints/CURRENT-SPRINT.md\` |
220
+ | Architecture decisions | \`docs/adr/ADR-*.md\` |
221
+ | Project goals | \`docs/PROJECT-CHARTER.md\` |
222
+ | Recent activity | \`.ginko/sessions/[user]/current-events.jsonl\` |
223
+ | Session logs | \`.ginko/sessions/[user]/current-session-log.md\` |
224
+
225
+ ### Common Query Recipes
226
+
227
+ **"What's our sprint progress?"**
228
+ → Read \`docs/sprints/CURRENT-SPRINT.md\`, count checkboxes:
229
+ \`\`\`bash
230
+ grep -c "\\[x\\]" docs/sprints/CURRENT-SPRINT.md # complete
231
+ grep -c "\\[@\\]" docs/sprints/CURRENT-SPRINT.md # in progress
232
+ grep -c "\\[ \\]" docs/sprints/CURRENT-SPRINT.md # pending
233
+ \`\`\`
234
+
235
+ **"How do we handle X?" / "What's our approach to X?"**
236
+ → Semantic search: \`{"query": "X"}\` OR local: \`grep -l -i "X" docs/adr/*.md\`
237
+
238
+ **"What is [person] working on?"**
239
+ → Query events by user_id OR: \`grep -i "person" .ginko/sessions/*/current-session-log.md\`
240
+
241
+ **"Show me ADRs about [topic]"**
242
+ → Semantic search with \`labels=ADR\` filter OR: \`grep -l -i "topic" docs/adr/*.md\`
143
243
  `;
144
244
  static generate(variables, modelSpecificContent) {
145
245
  const aiName = variables.aiModel || 'AI Assistant';
@@ -164,6 +264,8 @@ ${this.DEVELOPMENT_WORKFLOW}
164
264
 
165
265
  ${this.CONTEXT_REFLEXES}
166
266
 
267
+ ${this.PROJECT_KNOWLEDGE_QUERIES}
268
+
167
269
  ${this.generateProjectSpecificSection(variables)}
168
270
 
169
271
  ${this.generateTestingSection(variables)}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-instructions-template.js","sourceRoot":"","sources":["../../src/templates/ai-instructions-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-instructions-template.js","sourceRoot":"","sources":["../../src/templates/ai-instructions-template.ts"],"names":[],"mappings":"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"}