@ginkoai/cli 1.7.2 → 1.8.0

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 (50) hide show
  1. package/dist/commands/insights/index.d.ts +12 -0
  2. package/dist/commands/insights/index.d.ts.map +1 -0
  3. package/dist/commands/insights/index.js +12 -0
  4. package/dist/commands/insights/index.js.map +1 -0
  5. package/dist/commands/insights/insights-command.d.ts +20 -0
  6. package/dist/commands/insights/insights-command.d.ts.map +1 -0
  7. package/dist/commands/insights/insights-command.js +331 -0
  8. package/dist/commands/insights/insights-command.js.map +1 -0
  9. package/dist/commands/start/start-reflection.d.ts.map +1 -1
  10. package/dist/commands/start/start-reflection.js +50 -13
  11. package/dist/commands/start/start-reflection.js.map +1 -1
  12. package/dist/index.js +30 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/lib/insights/analyzers/anti-patterns.d.ts +32 -0
  15. package/dist/lib/insights/analyzers/anti-patterns.d.ts.map +1 -0
  16. package/dist/lib/insights/analyzers/anti-patterns.js +302 -0
  17. package/dist/lib/insights/analyzers/anti-patterns.js.map +1 -0
  18. package/dist/lib/insights/analyzers/efficiency.d.ts +22 -0
  19. package/dist/lib/insights/analyzers/efficiency.d.ts.map +1 -0
  20. package/dist/lib/insights/analyzers/efficiency.js +311 -0
  21. package/dist/lib/insights/analyzers/efficiency.js.map +1 -0
  22. package/dist/lib/insights/analyzers/index.d.ts +24 -0
  23. package/dist/lib/insights/analyzers/index.d.ts.map +1 -0
  24. package/dist/lib/insights/analyzers/index.js +37 -0
  25. package/dist/lib/insights/analyzers/index.js.map +1 -0
  26. package/dist/lib/insights/analyzers/patterns.d.ts +21 -0
  27. package/dist/lib/insights/analyzers/patterns.d.ts.map +1 -0
  28. package/dist/lib/insights/analyzers/patterns.js +327 -0
  29. package/dist/lib/insights/analyzers/patterns.js.map +1 -0
  30. package/dist/lib/insights/analyzers/quality.d.ts +29 -0
  31. package/dist/lib/insights/analyzers/quality.d.ts.map +1 -0
  32. package/dist/lib/insights/analyzers/quality.js +366 -0
  33. package/dist/lib/insights/analyzers/quality.js.map +1 -0
  34. package/dist/lib/insights/data-collector.d.ts +68 -0
  35. package/dist/lib/insights/data-collector.d.ts.map +1 -0
  36. package/dist/lib/insights/data-collector.js +467 -0
  37. package/dist/lib/insights/data-collector.js.map +1 -0
  38. package/dist/lib/insights/index.d.ts +14 -0
  39. package/dist/lib/insights/index.d.ts.map +1 -0
  40. package/dist/lib/insights/index.js +17 -0
  41. package/dist/lib/insights/index.js.map +1 -0
  42. package/dist/lib/insights/types.d.ts +216 -0
  43. package/dist/lib/insights/types.d.ts.map +1 -0
  44. package/dist/lib/insights/types.js +12 -0
  45. package/dist/lib/insights/types.js.map +1 -0
  46. package/dist/templates/ai-instructions-template.d.ts +1 -0
  47. package/dist/templates/ai-instructions-template.d.ts.map +1 -1
  48. package/dist/templates/ai-instructions-template.js +51 -0
  49. package/dist/templates/ai-instructions-template.js.map +1 -1
  50. package/package.json +1 -1
@@ -0,0 +1,216 @@
1
+ /**
2
+ * @fileType: types
3
+ * @status: current
4
+ * @updated: 2025-12-15
5
+ * @tags: [insights, coaching, types, cli]
6
+ * @related: [data-collector.ts, analyzers/]
7
+ * @priority: high
8
+ * @complexity: low
9
+ * @dependencies: []
10
+ */
11
+ export type InsightCategory = 'efficiency' | 'patterns' | 'quality' | 'anti-patterns';
12
+ export type InsightSeverity = 'info' | 'suggestion' | 'warning' | 'critical';
13
+ /**
14
+ * Aggregated data for insight analysis.
15
+ */
16
+ export interface InsightData {
17
+ userId: string;
18
+ projectId: string;
19
+ graphId?: string;
20
+ period: {
21
+ start: Date;
22
+ end: Date;
23
+ days: number;
24
+ };
25
+ events: EventData[];
26
+ tasks: TaskData;
27
+ commits: CommitData[];
28
+ sessions: SessionData[];
29
+ patterns: PatternData[];
30
+ gotchas: GotchaData[];
31
+ }
32
+ /**
33
+ * Event data from local JSONL or graph.
34
+ */
35
+ export interface EventData {
36
+ id: string;
37
+ category: string;
38
+ description: string;
39
+ timestamp: Date;
40
+ impact?: 'high' | 'medium' | 'low';
41
+ files?: string[];
42
+ branch?: string;
43
+ adrRefs: string[];
44
+ taskRefs: string[];
45
+ patternRefs: string[];
46
+ }
47
+ /**
48
+ * Task data from sprint files.
49
+ */
50
+ export interface TaskData {
51
+ completed: TaskInfo[];
52
+ inProgress: TaskInfo[];
53
+ abandoned: TaskInfo[];
54
+ paused: TaskInfo[];
55
+ total: number;
56
+ completionRate: number;
57
+ }
58
+ export interface TaskInfo {
59
+ id: string;
60
+ title: string;
61
+ status: 'complete' | 'in_progress' | 'todo' | 'paused';
62
+ sprintId?: string;
63
+ startedAt?: Date;
64
+ completedAt?: Date;
65
+ daysInProgress: number;
66
+ eventCount: number;
67
+ effort?: string;
68
+ priority?: string;
69
+ }
70
+ /**
71
+ * Commit data from git log.
72
+ */
73
+ export interface CommitData {
74
+ hash: string;
75
+ message: string;
76
+ timestamp: Date;
77
+ author: string;
78
+ filesChanged: number;
79
+ linesAdded: number;
80
+ linesRemoved: number;
81
+ adrRefs: string[];
82
+ taskRefs: string[];
83
+ }
84
+ /**
85
+ * Session data from session logs.
86
+ */
87
+ export interface SessionData {
88
+ id: string;
89
+ startedAt: Date;
90
+ endedAt?: Date;
91
+ durationMinutes: number;
92
+ flowState: 'cold' | 'warm' | 'hot';
93
+ eventCount: number;
94
+ hasHandoff: boolean;
95
+ contextLoadTimeMs?: number;
96
+ archiveFile?: string;
97
+ }
98
+ /**
99
+ * Pattern data from graph.
100
+ */
101
+ export interface PatternData {
102
+ id: string;
103
+ name: string;
104
+ description?: string;
105
+ usageCount: number;
106
+ confidence: 'high' | 'medium' | 'low';
107
+ createdAt?: Date;
108
+ lastUsedAt?: Date;
109
+ }
110
+ /**
111
+ * Gotcha data from graph.
112
+ */
113
+ export interface GotchaData {
114
+ id: string;
115
+ title: string;
116
+ description?: string;
117
+ severity: 'critical' | 'high' | 'medium' | 'low';
118
+ encounters: number;
119
+ resolutions: number;
120
+ lastEncounteredAt?: Date;
121
+ }
122
+ /**
123
+ * Evidence supporting an insight.
124
+ */
125
+ export interface InsightEvidence {
126
+ type: 'event' | 'task' | 'commit' | 'session' | 'pattern' | 'gotcha';
127
+ id: string;
128
+ description: string;
129
+ timestamp?: Date;
130
+ }
131
+ /**
132
+ * Raw insight from an analyzer.
133
+ */
134
+ export interface RawInsight {
135
+ category: InsightCategory;
136
+ severity: InsightSeverity;
137
+ title: string;
138
+ description: string;
139
+ metricName?: string;
140
+ metricValue?: number;
141
+ metricTarget?: number;
142
+ metricUnit?: string;
143
+ scoreImpact: number;
144
+ evidence: InsightEvidence[];
145
+ recommendations: string[];
146
+ }
147
+ /**
148
+ * Category score breakdown.
149
+ */
150
+ export interface CategoryScore {
151
+ category: InsightCategory;
152
+ score: number;
153
+ baseScore: number;
154
+ adjustments: number;
155
+ insightCount: number;
156
+ criticalCount: number;
157
+ warningCount: number;
158
+ }
159
+ /**
160
+ * Complete coaching report.
161
+ */
162
+ export interface CoachingReport {
163
+ userId: string;
164
+ projectId: string;
165
+ runAt: Date;
166
+ period: {
167
+ start: Date;
168
+ end: Date;
169
+ days: number;
170
+ };
171
+ overallScore: number;
172
+ previousScore?: number;
173
+ scoreTrend?: 'up' | 'down' | 'stable';
174
+ categoryScores: CategoryScore[];
175
+ insights: RawInsight[];
176
+ summary: string;
177
+ }
178
+ /**
179
+ * Interface for all insight analyzers.
180
+ */
181
+ export interface InsightAnalyzer {
182
+ category: InsightCategory;
183
+ analyze(data: InsightData): Promise<RawInsight[]>;
184
+ }
185
+ export interface InsightIcon {
186
+ info: '○';
187
+ suggestion: '◐';
188
+ warning: '⚠️';
189
+ critical: '🚨';
190
+ }
191
+ export interface FormattedInsight {
192
+ icon: string;
193
+ title: string;
194
+ description: string;
195
+ category: InsightCategory;
196
+ severity: InsightSeverity;
197
+ }
198
+ export interface CLIOutput {
199
+ header: {
200
+ userId: string;
201
+ projectId: string;
202
+ analysisWindow: string;
203
+ };
204
+ categories: {
205
+ name: InsightCategory;
206
+ displayName: string;
207
+ score: number;
208
+ insights: FormattedInsight[];
209
+ }[];
210
+ overall: {
211
+ score: number;
212
+ trend?: string;
213
+ trendDirection?: 'up' | 'down' | 'stable';
214
+ };
215
+ }
216
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/insights/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @fileType: types
3
+ * @status: current
4
+ * @updated: 2025-12-15
5
+ * @tags: [insights, coaching, types, cli]
6
+ * @related: [data-collector.ts, analyzers/]
7
+ * @priority: high
8
+ * @complexity: low
9
+ * @dependencies: []
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/insights/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -30,6 +30,7 @@ export declare class AiInstructionsTemplate {
30
30
  private static readonly ONBOARDING_INSTRUCTIONS;
31
31
  private static readonly FRONTMATTER_SECTION;
32
32
  private static readonly DEVELOPMENT_WORKFLOW;
33
+ private static readonly ENTITY_NAMING_CONVENTION;
33
34
  private static readonly CONTEXT_REFLEXES;
34
35
  private static readonly PROJECT_KNOWLEDGE_QUERIES;
35
36
  static generate(variables: TemplateVariables, modelSpecificContent?: string): string;
@@ -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,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
+ {"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,wBAAwB,CAwChD;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAuCxC;IAEA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CA6DjD;IAEA,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM;IAuDpF,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAqBpC,OAAO,CAAC,MAAM,CAAC,8BAA8B;IA0C7C,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAerC,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAQlC"}
@@ -146,6 +146,47 @@ When feeling lost or sensing misalignment:
146
146
  - Reset: "What are we actually trying to achieve?"
147
147
  - Realign: Agree on clear next steps
148
148
  - Continue: Resume with fresh perspective
149
+ `;
150
+ static ENTITY_NAMING_CONVENTION = `
151
+ ## Entity Naming Convention (ADR-052)
152
+
153
+ All graph entities use a hierarchical, sortable naming convention:
154
+
155
+ ### Standard Format
156
+
157
+ | Entity | Format | Example |
158
+ |--------|--------|---------|
159
+ | Epic | \`e{NNN}\` | \`e005\` |
160
+ | Sprint | \`e{NNN}_s{NN}\` | \`e005_s01\` |
161
+ | Task | \`e{NNN}_s{NN}_t{NN}\` | \`e005_s01_t01\` |
162
+
163
+ ### Ad-hoc Work (unplanned sprints/tasks)
164
+
165
+ \`\`\`
166
+ adhoc_{YYMMDD}_s{NN}_t{NN}
167
+ \`\`\`
168
+
169
+ **Examples:**
170
+ - \`adhoc_251209_s01\` - Ad-hoc sprint created Dec 9, 2025
171
+ - \`adhoc_251209_s01_t01\` - First task in that sprint
172
+
173
+ ### When to Create Ad-hoc Tasks
174
+
175
+ Create ad-hoc tasks for:
176
+ - Bug fixes discovered mid-session
177
+ - System maintenance work
178
+ - Scope creep that needs tracking
179
+ - Exploratory work that produces artifacts
180
+
181
+ **Prompt user:** "This work is outside our current sprint. Shall I create an ad-hoc task to track it?"
182
+
183
+ ### Padding Rules
184
+
185
+ - Epics: 3 digits (max 999)
186
+ - Sprints: 2 digits (max 99 per epic)
187
+ - Tasks: 2 digits (max 99 per sprint)
188
+
189
+ **Soft limits:** Warn if sprint > 20 tasks or epic > 10 sprints.
149
190
  `;
150
191
  static CONTEXT_REFLEXES = `
151
192
  ## 🧠 Context Reflexes - Your Automatic Thought Patterns
@@ -172,6 +213,14 @@ These "mental reflexes" activate naturally without explicit prompting to maintai
172
213
  **Behavior**: Note learnings for future reference
173
214
  **Example**: "Worth remembering that Vercel functions need named exports..."
174
215
 
216
+ ### 5. "Track This Work" Reflex 📊 (ADR-052)
217
+ **Trigger**: Work begins outside current sprint scope, bug fixes emerge, system maintenance needed
218
+ **Detection**: Editing files not referenced in current task, scope expanding beyond sprint
219
+ **Action**: Prompt user to create ad-hoc task for observability
220
+ **Script**: "This work is outside our current sprint. Shall I create an ad-hoc task to track it?"
221
+ **Flow preservation**: Single lightweight question, proceed if declined (note in session log)
222
+ **Anti-pattern**: Untracked work breaks traceability for future collaborators
223
+
175
224
  ### Work Mode Sensitivity
176
225
  - **Hack & Ship**: Reflexes trigger less frequently (focus on speed)
177
226
  - **Think & Build**: Balanced reflex activity
@@ -262,6 +311,8 @@ ${this.FRONTMATTER_SECTION}
262
311
 
263
312
  ${this.DEVELOPMENT_WORKFLOW}
264
313
 
314
+ ${this.ENTITY_NAMING_CONVENTION}
315
+
265
316
  ${this.CONTEXT_REFLEXES}
266
317
 
267
318
  ${this.PROJECT_KNOWLEDGE_QUERIES}
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ginkoai/cli",
3
- "version": "1.7.2",
3
+ "version": "1.8.0",
4
4
  "description": "Git-native session management and cloud context for AI-mediated development. AI Collaboration for Vibe Tribes.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {