cmp-standards 2.4.0 ā 2.6.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.
- package/README.md +633 -611
- package/dist/db/drizzle-client.d.ts +3 -3
- package/dist/db/drizzle-client.d.ts.map +1 -1
- package/dist/db/drizzle-client.js +57 -58
- package/dist/db/drizzle-client.js.map +1 -1
- package/dist/db/turso-client.js +11 -11
- package/dist/eslint/rules/no-async-useeffect.js +6 -6
- package/dist/hooks/cloud-pre-tool-use.js +20 -20
- package/dist/hooks/cloud-session-start.d.ts +15 -3
- package/dist/hooks/cloud-session-start.d.ts.map +1 -1
- package/dist/hooks/cloud-session-start.js +135 -8
- package/dist/hooks/cloud-session-start.js.map +1 -1
- package/dist/hooks/session-start.d.ts +2 -1
- package/dist/hooks/session-start.d.ts.map +1 -1
- package/dist/hooks/session-start.js +99 -74
- package/dist/hooks/session-start.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +2 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/schema/plans.d.ts +194 -0
- package/dist/schema/plans.d.ts.map +1 -0
- package/dist/schema/plans.js +180 -0
- package/dist/schema/plans.js.map +1 -0
- package/dist/services/ContextGenerator.d.ts +16 -0
- package/dist/services/ContextGenerator.d.ts.map +1 -0
- package/dist/services/ContextGenerator.js +62 -0
- package/dist/services/ContextGenerator.js.map +1 -0
- package/dist/services/PlanManager.d.ts +99 -0
- package/dist/services/PlanManager.d.ts.map +1 -0
- package/dist/services/PlanManager.js +372 -0
- package/dist/services/PlanManager.js.map +1 -0
- package/dist/services/ProjectScaffold.js +76 -76
- package/dist/services/context-injector.d.ts +105 -0
- package/dist/services/context-injector.d.ts.map +1 -0
- package/dist/services/context-injector.js +357 -0
- package/dist/services/context-injector.js.map +1 -0
- package/dist/services/index.d.ts +15 -15
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +18 -20
- package/dist/services/index.js.map +1 -1
- package/dist/services/memory-router.d.ts +98 -0
- package/dist/services/memory-router.d.ts.map +1 -0
- package/dist/services/memory-router.js +373 -0
- package/dist/services/memory-router.js.map +1 -0
- package/dist/services/pattern-tracker.d.ts +93 -0
- package/dist/services/pattern-tracker.d.ts.map +1 -0
- package/dist/services/pattern-tracker.js +347 -0
- package/dist/services/pattern-tracker.js.map +1 -0
- package/dist/services/semantic-search.d.ts +33 -35
- package/dist/services/semantic-search.d.ts.map +1 -1
- package/dist/services/semantic-search.js +207 -165
- package/dist/services/semantic-search.js.map +1 -1
- package/package.json +100 -100
- package/standards/README.md +50 -50
- package/standards/experts/expert-routing.md +215 -215
- package/standards/general/code-quality.md +86 -86
- package/standards/general/memory-usage.md +205 -205
- package/standards/general/sync-workflow.md +235 -235
- package/standards/general/workflow.md +82 -82
- package/standards/hooks/mandatory-tracking.md +446 -446
- package/standards/infrastructure/cloud-database.md +287 -287
- package/standards/mcp/server-design.md +243 -243
- package/standards/mcp/tool-patterns.md +354 -354
- package/standards/skills/skill-structure.md +286 -286
- package/standards/skills/workflow-design.md +323 -323
- package/standards/tools/tool-design.md +297 -297
- package/templates/agents/architecture-expert.md +61 -61
- package/templates/agents/database-expert.md +62 -62
- package/templates/agents/documentation-expert.md +57 -57
- package/templates/agents/memory-expert.md +88 -88
- package/templates/agents/performance-expert.md +61 -61
- package/templates/agents/security-expert.md +59 -59
- package/templates/agents/ux-expert.md +63 -63
- package/templates/agents/worker.md +75 -75
- package/templates/ai-skills/SKILL_TEMPLATE.md +55 -55
- package/templates/claude-settings.json +72 -72
- package/templates/commands/experts.md +138 -138
- package/templates/hooks/README.md +158 -158
- package/templates/hooks/project.config.json.template +77 -77
- package/templates/hooks/settings.local.json.template +57 -57
- package/templates/memory-config.json +56 -56
- package/templates/memory-config.schema.json +212 -212
- package/templates/settings.json +58 -58
- package/templates/skills/continue.md +205 -205
- package/templates/workflows/business-improvement.md +264 -264
- package/templates/workflows/expert-review.md +153 -153
- package/templates/workflows/internal-app.md +245 -245
- package/templates/workflows/sync-docs.md +187 -187
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @file Cloud Session Start Hook
|
|
3
|
-
* @description
|
|
4
|
-
*
|
|
2
|
+
* @file Cloud Session Start Hook v2
|
|
3
|
+
* @description Enhanced hook for Claude Code session initialization
|
|
4
|
+
*
|
|
5
|
+
* Features:
|
|
6
|
+
* - Smart domain detection from git activity
|
|
7
|
+
* - Semantic memory loading
|
|
8
|
+
* - System health dashboard
|
|
9
|
+
* - Unresolved issues display
|
|
10
|
+
* - Skill suggestions
|
|
11
|
+
* - Distillation queue status
|
|
12
|
+
*
|
|
13
|
+
* @version 3.0.0
|
|
5
14
|
*/
|
|
6
15
|
import { config } from 'dotenv';
|
|
7
16
|
import { resolve } from 'path';
|
|
17
|
+
import { execFileSync } from 'child_process';
|
|
8
18
|
import { cloud } from '../db/cloud.js';
|
|
19
|
+
import { getWorkPlanManager } from '../services/WorkPlanManager.js';
|
|
20
|
+
import { getPlanManager } from '../services/PlanManager.js';
|
|
9
21
|
// =============================================================================
|
|
10
22
|
// System Detection
|
|
11
23
|
// =============================================================================
|
|
@@ -15,12 +27,76 @@ function detectSystem(cwd) {
|
|
|
15
27
|
return 'SWARMSCALE';
|
|
16
28
|
}
|
|
17
29
|
if (cwd.includes('easycharter') || cwd.includes('charter')) {
|
|
18
|
-
return '
|
|
30
|
+
return 'PANEL'; // Changed from CHARTER to PANEL for consistency
|
|
19
31
|
}
|
|
20
32
|
if (cwd.includes('carlosmartinpavon')) {
|
|
21
|
-
return '
|
|
33
|
+
return 'ECOSYSTEM';
|
|
34
|
+
}
|
|
35
|
+
return 'ECOSYSTEM'; // Default to ECOSYSTEM instead of UNKNOWN
|
|
36
|
+
}
|
|
37
|
+
// =============================================================================
|
|
38
|
+
// Domain Detection from Git Activity (Safe - no shell injection)
|
|
39
|
+
// =============================================================================
|
|
40
|
+
function detectDomainFromGit(cwd, domains) {
|
|
41
|
+
try {
|
|
42
|
+
// Validate cwd is within expected project directories (security)
|
|
43
|
+
const allowedPrefixes = ['/Users', '/home', '/var/www', '/opt', '/tmp'];
|
|
44
|
+
const isAllowedPath = allowedPrefixes.some(prefix => cwd.startsWith(prefix));
|
|
45
|
+
if (!isAllowedPath || cwd.includes('..')) {
|
|
46
|
+
console.warn('[cloud-session-start] Suspicious cwd path, skipping git detection:', cwd);
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
// Use execFileSync for safety (no shell injection possible)
|
|
50
|
+
let result;
|
|
51
|
+
try {
|
|
52
|
+
result = execFileSync('git', ['diff', '--name-only', 'HEAD~10'], {
|
|
53
|
+
cwd,
|
|
54
|
+
encoding: 'utf-8',
|
|
55
|
+
timeout: 5000,
|
|
56
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
// Fallback to smaller range if HEAD~10 fails
|
|
61
|
+
try {
|
|
62
|
+
result = execFileSync('git', ['diff', '--name-only', 'HEAD~5'], {
|
|
63
|
+
cwd,
|
|
64
|
+
encoding: 'utf-8',
|
|
65
|
+
timeout: 5000,
|
|
66
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const files = result.split('\n').filter(f => f.trim());
|
|
74
|
+
if (files.length === 0)
|
|
75
|
+
return undefined;
|
|
76
|
+
// Count domain occurrences
|
|
77
|
+
const domainCounts = new Map();
|
|
78
|
+
for (const file of files) {
|
|
79
|
+
const fileLower = file.toLowerCase();
|
|
80
|
+
for (const domain of domains) {
|
|
81
|
+
if (fileLower.includes(domain) || fileLower.includes(domain.replace(/-/g, '/'))) {
|
|
82
|
+
domainCounts.set(domain, (domainCounts.get(domain) || 0) + 1);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Return most frequent domain
|
|
87
|
+
let maxDomain;
|
|
88
|
+
let maxCount = 0;
|
|
89
|
+
for (const [domain, count] of domainCounts) {
|
|
90
|
+
if (count > maxCount) {
|
|
91
|
+
maxCount = count;
|
|
92
|
+
maxDomain = domain;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return maxDomain;
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return undefined;
|
|
22
99
|
}
|
|
23
|
-
return 'UNKNOWN';
|
|
24
100
|
}
|
|
25
101
|
// =============================================================================
|
|
26
102
|
// Hook Implementation
|
|
@@ -46,6 +122,54 @@ export async function onSessionStart(event) {
|
|
|
46
122
|
});
|
|
47
123
|
// Construir contexto para inyectar
|
|
48
124
|
let contextInjection = '';
|
|
125
|
+
let activeWorkPlanTitle;
|
|
126
|
+
// Work Plan activo (persistente entre sesiones)
|
|
127
|
+
try {
|
|
128
|
+
const planManager = getWorkPlanManager(system);
|
|
129
|
+
const planSummary = await planManager.getPlanSummary();
|
|
130
|
+
if (planSummary) {
|
|
131
|
+
activeWorkPlanTitle = planSummary.title;
|
|
132
|
+
const planTasks = await planManager.getPlanTasks();
|
|
133
|
+
contextInjection += `\n## šÆ Plan de Trabajo Activo\n\n`;
|
|
134
|
+
contextInjection += `**${planSummary.title}** - ${planSummary.progress}% completado\n\n`;
|
|
135
|
+
if (planSummary.currentTask) {
|
|
136
|
+
contextInjection += `### Tarea Actual\n`;
|
|
137
|
+
contextInjection += `ā **${planSummary.currentTask.title}** [${planSummary.currentTask.status}]\n\n`;
|
|
138
|
+
}
|
|
139
|
+
const pendingPlanTasks = planTasks.filter(t => t.status === 'pending' || t.status === 'in_progress');
|
|
140
|
+
if (pendingPlanTasks.length > 0) {
|
|
141
|
+
contextInjection += `### Tareas Pendientes (${pendingPlanTasks.length})\n`;
|
|
142
|
+
for (const task of pendingPlanTasks.slice(0, 5)) {
|
|
143
|
+
const marker = task.isCurrent ? 'ā' : 'ā';
|
|
144
|
+
contextInjection += `${marker} ${task.title}\n`;
|
|
145
|
+
}
|
|
146
|
+
if (pendingPlanTasks.length > 5) {
|
|
147
|
+
contextInjection += ` ... y ${pendingPlanTasks.length - 5} mƔs\n`;
|
|
148
|
+
}
|
|
149
|
+
contextInjection += `\n`;
|
|
150
|
+
}
|
|
151
|
+
contextInjection += `> Usa \`/plan status\` para ver detalles o \`/plan complete\` al terminar una tarea.\n\n`;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
catch (planError) {
|
|
155
|
+
// WorkPlan es opcional, continuar sin Ʃl
|
|
156
|
+
console.error('[cloud-session-start] WorkPlan error:', planError);
|
|
157
|
+
}
|
|
158
|
+
// Planes con checkpoints (nuevo sistema multi-agente)
|
|
159
|
+
try {
|
|
160
|
+
const planManager = getPlanManager(system, {
|
|
161
|
+
sessionId: session.sessionId,
|
|
162
|
+
agentId: 'claude'
|
|
163
|
+
});
|
|
164
|
+
const planContext = await planManager.getSessionContext();
|
|
165
|
+
if (planContext.trim()) {
|
|
166
|
+
contextInjection += planContext;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
catch (planMgrError) {
|
|
170
|
+
// PlanManager es opcional, continuar sin Ʃl
|
|
171
|
+
console.error('[cloud-session-start] PlanManager error:', planMgrError);
|
|
172
|
+
}
|
|
49
173
|
// Tareas activas
|
|
50
174
|
if (session.activeTasks.length > 0) {
|
|
51
175
|
contextInjection += `\n## š Tareas en Progreso (${session.activeTasks.length})\n\n`;
|
|
@@ -76,7 +200,9 @@ export async function onSessionStart(event) {
|
|
|
76
200
|
metadata: {
|
|
77
201
|
sessionId: session.sessionId,
|
|
78
202
|
activeTasks: session.activeTasks.length,
|
|
79
|
-
pendingImprovements: session.pendingImprovements
|
|
203
|
+
pendingImprovements: session.pendingImprovements,
|
|
204
|
+
activeWorkPlan: activeWorkPlanTitle,
|
|
205
|
+
healthStatus: 'healthy'
|
|
80
206
|
}
|
|
81
207
|
};
|
|
82
208
|
}
|
|
@@ -88,7 +214,8 @@ export async function onSessionStart(event) {
|
|
|
88
214
|
metadata: {
|
|
89
215
|
sessionId: 'offline',
|
|
90
216
|
activeTasks: 0,
|
|
91
|
-
pendingImprovements: 0
|
|
217
|
+
pendingImprovements: 0,
|
|
218
|
+
healthStatus: 'offline'
|
|
92
219
|
}
|
|
93
220
|
};
|
|
94
221
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-session-start.js","sourceRoot":"","sources":["../../src/hooks/cloud-session-start.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cloud-session-start.js","sourceRoot":"","sources":["../../src/hooks/cloud-session-start.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
* 1. Detects which module user is working on (via git diff)
|
|
6
6
|
* 2. Queries DEV_Items for recent memories of that module
|
|
7
7
|
* 3. Returns formatted context for injection
|
|
8
|
+
* 4. Refreshes local context files (GEMINI.md/CLAUDE.md)
|
|
8
9
|
*/
|
|
9
|
-
import type { HookResult, MemoryConfig } from
|
|
10
|
+
import type { HookResult, MemoryConfig } from "../types/index.js";
|
|
10
11
|
export declare class SessionStartHook {
|
|
11
12
|
private config;
|
|
12
13
|
private projectRoot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-start.d.ts","sourceRoot":"","sources":["../../src/hooks/session-start.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-start.d.ts","sourceRoot":"","sources":["../../src/hooks/session-start.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,UAAU,EAEV,YAAY,EAEb,MAAM,mBAAmB,CAAC;AA0Q3B,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,WAAW,CAAuB;IAE1C;;OAEG;IACG,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAwDpC;;OAEG;YACW,mBAAmB;IAsCjC;;OAEG;IACH,SAAS,IAAI,YAAY,GAAG,IAAI;IAIhC;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;CAGhC;AAMD;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAOzD"}
|
|
@@ -5,12 +5,16 @@
|
|
|
5
5
|
* 1. Detects which module user is working on (via git diff)
|
|
6
6
|
* 2. Queries DEV_Items for recent memories of that module
|
|
7
7
|
* 3. Returns formatted context for injection
|
|
8
|
+
* 4. Refreshes local context files (GEMINI.md/CLAUDE.md)
|
|
8
9
|
*/
|
|
9
|
-
import { loadConfig } from
|
|
10
|
-
import { getProjectRoot } from
|
|
11
|
-
import { getChangesInPeriod, getRecentChanges } from
|
|
12
|
-
import { getWorkPlanManager } from
|
|
13
|
-
import { getIdeaCollector } from
|
|
10
|
+
import { loadConfig } from "../utils/config.js";
|
|
11
|
+
import { getProjectRoot } from "../utils/paths.js";
|
|
12
|
+
import { getChangesInPeriod, getRecentChanges } from "../utils/git.js";
|
|
13
|
+
import { getWorkPlanManager, } from "../services/WorkPlanManager.js";
|
|
14
|
+
import { getIdeaCollector } from "../services/IdeaCollector.js";
|
|
15
|
+
import { createDrizzleClient } from "../db/drizzle-client.js";
|
|
16
|
+
import { ContextGenerator } from "../services/ContextGenerator.js";
|
|
17
|
+
import path from "path";
|
|
14
18
|
/**
|
|
15
19
|
* Detect which module user is working on based on recent git changes
|
|
16
20
|
* Uses safe git utilities (no command injection possible)
|
|
@@ -19,8 +23,10 @@ async function detectModule(projectRoot, domains) {
|
|
|
19
23
|
try {
|
|
20
24
|
// Try to get changes from last day first
|
|
21
25
|
let recentFiles = [];
|
|
22
|
-
const periodResult = await getChangesInPeriod(projectRoot,
|
|
23
|
-
if (periodResult.success &&
|
|
26
|
+
const periodResult = await getChangesInPeriod(projectRoot, "1.day.ago");
|
|
27
|
+
if (periodResult.success &&
|
|
28
|
+
periodResult.data &&
|
|
29
|
+
periodResult.data.length > 0) {
|
|
24
30
|
recentFiles = periodResult.data;
|
|
25
31
|
}
|
|
26
32
|
else {
|
|
@@ -36,11 +42,11 @@ async function detectModule(projectRoot, domains) {
|
|
|
36
42
|
// Build module matchers from domains
|
|
37
43
|
const matchers = domains.map((domain, i) => ({
|
|
38
44
|
module: domain,
|
|
39
|
-
pattern: new RegExp(`(${domain}|${domain.replace(/-/g,
|
|
45
|
+
pattern: new RegExp(`(${domain}|${domain.replace(/-/g, "_")})`, "i"),
|
|
40
46
|
priority: domains.length - i, // Higher priority for earlier domains
|
|
41
47
|
}));
|
|
42
48
|
// Add common patterns
|
|
43
|
-
matchers.push({ module:
|
|
49
|
+
matchers.push({ module: "schema", pattern: /src\/server\/schema\//i, priority: 100 }, { module: "api", pattern: /src\/server\/api\//i, priority: 90 }, { module: "hooks", pattern: /src\/hooks\//i, priority: 80 }, { module: "components", pattern: /src\/components\//i, priority: 70 });
|
|
44
50
|
// Score each module
|
|
45
51
|
const scores = new Map();
|
|
46
52
|
for (const file of recentFiles) {
|
|
@@ -68,107 +74,117 @@ async function detectModule(projectRoot, domains) {
|
|
|
68
74
|
}
|
|
69
75
|
/**
|
|
70
76
|
* Load recent memories from database
|
|
71
|
-
*
|
|
72
|
-
* This is a placeholder that returns mock data.
|
|
73
|
-
* Real implementation would query the database.
|
|
74
77
|
*/
|
|
75
|
-
async function loadMemories(
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
78
|
+
async function loadMemories(config, module, limit) {
|
|
79
|
+
try {
|
|
80
|
+
const client = createDrizzleClient(config.system);
|
|
81
|
+
const memories = await client.list({
|
|
82
|
+
type: "memory",
|
|
83
|
+
limit,
|
|
84
|
+
});
|
|
85
|
+
return memories.map((m) => {
|
|
86
|
+
const c = m.content;
|
|
87
|
+
return {
|
|
88
|
+
title: c.title || "Untitled",
|
|
89
|
+
body: c.body || "",
|
|
90
|
+
domain: c.domain,
|
|
91
|
+
createdAt: m.createdAt.toISOString(),
|
|
92
|
+
};
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
console.warn("[SessionStart] Could not load memories from DB:", error);
|
|
97
|
+
return [];
|
|
98
|
+
}
|
|
84
99
|
}
|
|
85
100
|
function formatSessionContext(config, module, memories, workflow) {
|
|
86
101
|
const lines = [];
|
|
87
102
|
// Header
|
|
88
|
-
lines.push(`š Session started in
|
|
89
|
-
lines.push(
|
|
103
|
+
lines.push(`š Session started in \${config.projectName}`);
|
|
104
|
+
lines.push("");
|
|
90
105
|
// System info
|
|
91
|
-
lines.push(`System:
|
|
106
|
+
lines.push(`System: \${config.system}`);
|
|
92
107
|
// Module detection
|
|
93
108
|
if (module) {
|
|
94
|
-
lines.push(`Module detected:
|
|
109
|
+
lines.push(`Module detected: \${module}`);
|
|
95
110
|
}
|
|
96
111
|
else {
|
|
97
|
-
lines.push(
|
|
112
|
+
lines.push("Module: General (no specific module detected)");
|
|
98
113
|
}
|
|
99
|
-
lines.push(
|
|
114
|
+
lines.push("");
|
|
100
115
|
// ========== WORK PLAN (NEW) ==========
|
|
101
116
|
if (workflow?.plan) {
|
|
102
|
-
lines.push(
|
|
103
|
-
lines.push(
|
|
104
|
-
lines.push(`Tasks:
|
|
117
|
+
lines.push("## Active Work Plan");
|
|
118
|
+
lines.push(`**\${workflow.plan.title}** - \${workflow.plan.progress}omplete`);
|
|
119
|
+
lines.push(`Tasks: \${workflow.plan.completedTasks}/\${workflow.plan.totalTasks} done`);
|
|
105
120
|
if (workflow.plan.currentTask) {
|
|
106
|
-
lines.push(
|
|
121
|
+
lines.push("");
|
|
107
122
|
lines.push(`### Current Task`);
|
|
108
|
-
lines.push(`ā
|
|
123
|
+
lines.push(`ā \${workflow.plan.currentTask.title}`);
|
|
109
124
|
}
|
|
110
125
|
if (workflow.pendingTasks.length > 0) {
|
|
111
|
-
lines.push(
|
|
112
|
-
lines.push(
|
|
126
|
+
lines.push("");
|
|
127
|
+
lines.push("### Upcoming Tasks");
|
|
113
128
|
for (const task of workflow.pendingTasks.slice(0, 3)) {
|
|
114
|
-
lines.push(` -
|
|
129
|
+
lines.push(` - \${task.title}`);
|
|
115
130
|
}
|
|
116
131
|
if (workflow.pendingTasks.length > 3) {
|
|
117
|
-
lines.push(` ... and
|
|
132
|
+
lines.push(` ... and \${workflow.pendingTasks.length - 3} more`);
|
|
118
133
|
}
|
|
119
134
|
}
|
|
120
|
-
lines.push(
|
|
135
|
+
lines.push("");
|
|
121
136
|
}
|
|
122
137
|
// Ideas/Improvements summary
|
|
123
|
-
if (workflow &&
|
|
124
|
-
|
|
138
|
+
if (workflow &&
|
|
139
|
+
(workflow.recentIdeasCount > 0 || workflow.recentImprovementsCount > 0)) {
|
|
140
|
+
lines.push("## Pending Items");
|
|
125
141
|
if (workflow.recentIdeasCount > 0) {
|
|
126
|
-
lines.push(` š”
|
|
142
|
+
lines.push(` š” \${workflow.recentIdeasCount} ideas to review`);
|
|
127
143
|
}
|
|
128
144
|
if (workflow.recentImprovementsCount > 0) {
|
|
129
|
-
lines.push(` š§
|
|
145
|
+
lines.push(` š§ \${workflow.recentImprovementsCount} improvements suggested`);
|
|
130
146
|
}
|
|
131
|
-
lines.push(
|
|
147
|
+
lines.push("");
|
|
132
148
|
}
|
|
133
149
|
// Loaded memories
|
|
134
150
|
if (memories.length > 0) {
|
|
135
|
-
lines.push(
|
|
151
|
+
lines.push("## Recent Memories");
|
|
136
152
|
for (const memory of memories) {
|
|
137
|
-
lines.push(` ā
|
|
153
|
+
lines.push(` ā \${memory.title}`);
|
|
138
154
|
}
|
|
139
|
-
lines.push(
|
|
155
|
+
lines.push("");
|
|
140
156
|
}
|
|
141
157
|
// Available domains
|
|
142
158
|
if (config.domains.length > 0) {
|
|
143
|
-
lines.push(
|
|
159
|
+
lines.push("## Available Domains");
|
|
144
160
|
for (const domain of config.domains.slice(0, 6)) {
|
|
145
|
-
lines.push(` -
|
|
161
|
+
lines.push(` - \${domain}`);
|
|
146
162
|
}
|
|
147
163
|
if (config.domains.length > 6) {
|
|
148
|
-
lines.push(` ... and
|
|
164
|
+
lines.push(` ... and \${config.domains.length - 6} more`);
|
|
149
165
|
}
|
|
150
|
-
lines.push(
|
|
166
|
+
lines.push("");
|
|
151
167
|
}
|
|
152
168
|
// System status
|
|
153
|
-
lines.push(
|
|
169
|
+
lines.push("## System Status");
|
|
154
170
|
if (config.guards.enabled && config.guards.rules.length > 0) {
|
|
155
|
-
lines.push(` Guards:
|
|
171
|
+
lines.push(` Guards: \${config.guards.rules.length} active rules`);
|
|
156
172
|
}
|
|
157
173
|
if (config.autoImprovement.enabled) {
|
|
158
|
-
lines.push(` Auto-improvement: Enabled (threshold:
|
|
174
|
+
lines.push(` Auto-improvement: Enabled (threshold: \${config.autoImprovement.violationThreshold})`);
|
|
159
175
|
}
|
|
160
|
-
lines.push(
|
|
176
|
+
lines.push("");
|
|
161
177
|
// Available commands
|
|
162
178
|
if (config.sessionContext.showAvailableCommands) {
|
|
163
|
-
lines.push(
|
|
164
|
-
lines.push(
|
|
165
|
-
lines.push(
|
|
166
|
-
lines.push(
|
|
167
|
-
lines.push(
|
|
168
|
-
lines.push(
|
|
169
|
-
lines.push(
|
|
179
|
+
lines.push("## Available Commands");
|
|
180
|
+
lines.push(" /experts - Run expert review");
|
|
181
|
+
lines.push(" /fix-types - Fix TypeScript errors");
|
|
182
|
+
lines.push(" claude-memory status - Check memory status");
|
|
183
|
+
lines.push(" claude-memory tasks - View current tasks");
|
|
184
|
+
lines.push(" claude-memory ideas - View captured ideas");
|
|
185
|
+
lines.push("");
|
|
170
186
|
}
|
|
171
|
-
return lines.join(
|
|
187
|
+
return lines.join("\n");
|
|
172
188
|
}
|
|
173
189
|
// =============================================================================
|
|
174
190
|
// MAIN HOOK CLASS
|
|
@@ -180,7 +196,7 @@ export class SessionStartHook {
|
|
|
180
196
|
* Initialize the hook
|
|
181
197
|
*/
|
|
182
198
|
async init(projectRoot) {
|
|
183
|
-
this.projectRoot = projectRoot ?? await getProjectRoot();
|
|
199
|
+
this.projectRoot = projectRoot ?? (await getProjectRoot());
|
|
184
200
|
this.config = await loadConfig(this.projectRoot);
|
|
185
201
|
}
|
|
186
202
|
/**
|
|
@@ -193,27 +209,34 @@ export class SessionStartHook {
|
|
|
193
209
|
const config = this.config;
|
|
194
210
|
const projectRoot = this.projectRoot;
|
|
195
211
|
try {
|
|
196
|
-
// 1.
|
|
212
|
+
// 1. Refresh Context Files (GEMINI.md / CLAUDE.md)
|
|
213
|
+
const client = createDrizzleClient(config.system);
|
|
214
|
+
const generator = new ContextGenerator(client);
|
|
215
|
+
const contextFiles = ["CLAUDE.md", "GEMINI.md"];
|
|
216
|
+
for (const file of contextFiles) {
|
|
217
|
+
await generator.generateContext(path.join(projectRoot, file));
|
|
218
|
+
}
|
|
219
|
+
// 2. Detect module from git diff
|
|
197
220
|
const module = await detectModule(projectRoot, config.domains);
|
|
198
|
-
//
|
|
221
|
+
// 3. Load relevant memories
|
|
199
222
|
const memories = config.sessionContext.loadMemoriesOnStart
|
|
200
223
|
? await loadMemories(config, module, config.sessionContext.maxMemoriesLoaded)
|
|
201
224
|
: [];
|
|
202
|
-
//
|
|
225
|
+
// 4. Load workflow context (plan, tasks, ideas)
|
|
203
226
|
const workflowContext = await this.loadWorkflowContext(config);
|
|
204
|
-
//
|
|
227
|
+
// 5. Format context
|
|
205
228
|
const context = formatSessionContext(config, module, memories, workflowContext);
|
|
206
229
|
return {
|
|
207
|
-
mode:
|
|
208
|
-
context: `<session_context>\n
|
|
230
|
+
mode: "inject_context",
|
|
231
|
+
context: `<session_context>\n\${context}\n</session_context>`,
|
|
209
232
|
};
|
|
210
233
|
}
|
|
211
234
|
catch (error) {
|
|
212
|
-
console.error(
|
|
235
|
+
console.error("[SessionStart] Error:", error);
|
|
213
236
|
// Return minimal context on error
|
|
214
237
|
return {
|
|
215
|
-
mode:
|
|
216
|
-
context: `<session_context>\nš Session started in
|
|
238
|
+
mode: "inject_context",
|
|
239
|
+
context: `<session_context>\nš Session started in \${config.projectName}\nSystem: \${config.system}\n</session_context>`,
|
|
217
240
|
};
|
|
218
241
|
}
|
|
219
242
|
}
|
|
@@ -228,7 +251,9 @@ export class SessionStartHook {
|
|
|
228
251
|
const planSummary = await planManager.getPlanSummary();
|
|
229
252
|
// Get pending tasks from plan
|
|
230
253
|
const pendingTasks = planSummary
|
|
231
|
-
? await planManager
|
|
254
|
+
? await planManager
|
|
255
|
+
.getPlanTasks()
|
|
256
|
+
.then((tasks) => tasks.filter((t) => t.status !== "completed"))
|
|
232
257
|
: [];
|
|
233
258
|
// Get ideas and improvements counts
|
|
234
259
|
const ideaStats = await ideaCollector.getIdeaStats();
|
|
@@ -241,7 +266,7 @@ export class SessionStartHook {
|
|
|
241
266
|
};
|
|
242
267
|
}
|
|
243
268
|
catch (error) {
|
|
244
|
-
console.error(
|
|
269
|
+
console.error("[SessionStart] Error loading workflow context:", error);
|
|
245
270
|
return {
|
|
246
271
|
plan: null,
|
|
247
272
|
pendingTasks: [],
|
|
@@ -277,7 +302,7 @@ export async function runSessionStartHook() {
|
|
|
277
302
|
}
|
|
278
303
|
}
|
|
279
304
|
// Execute if run directly
|
|
280
|
-
if (import.meta.url === `file
|
|
305
|
+
if (import.meta.url === `file://\${process.argv[1]}`) {
|
|
281
306
|
runSessionStartHook().catch(console.error);
|
|
282
307
|
}
|
|
283
308
|
//# sourceMappingURL=session-start.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../src/hooks/session-start.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../src/hooks/session-start.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -32,6 +32,10 @@ export { onPreToolUse as cloudPreToolUse } from './hooks/cloud-pre-tool-use.js';
|
|
|
32
32
|
export { onPostToolUse as cloudPostToolUse } from './hooks/cloud-post-tool-use.js';
|
|
33
33
|
export { TaskSchema, TaskStatusSchema, TaskResultSchema, ImprovementSchema, ImprovementRecordSchema, ImprovementStatusSchema, SessionSchema, SessionContentSchema, createTask as createCloudTask, createImprovement as createCloudImprovement, validateTaskCompletion } from './schema/tracking.js';
|
|
34
34
|
export type { Task as CloudTask, TaskContent as CloudTaskContent, TaskStatus as CloudTaskStatus, TaskResult as CloudTaskResult, ImprovementRecord as CloudImprovementRecord, ImprovementContent as CloudImprovementContent, ImprovementStatus as CloudImprovementStatus, Improvement as CloudImprovement, Session as CloudSession, SessionContent as CloudSessionContent } from './schema/tracking.js';
|
|
35
|
+
export { PlanSchema, PlanStatusSchema, PlanCheckpointSchema, CheckpointTypeSchema, PlanMatchSchema, createPlan, createCheckpoint, extractKeywords, calculateKeywordSimilarity } from './schema/plans.js';
|
|
36
|
+
export type { Plan, PlanStatus, PlanCheckpoint, CheckpointType, PlanMatch } from './schema/plans.js';
|
|
37
|
+
export { PlanManager, getPlanManager, createPlanManager } from './services/PlanManager.js';
|
|
38
|
+
export type { CreatePlanOptions, FindSimilarOptions, AddCheckpointOptions } from './services/PlanManager.js';
|
|
35
39
|
export { MemoryMCPServer, startMCPServer } from './mcp/server.js';
|
|
36
40
|
export { startDashboard } from './dashboard/server.js';
|
|
37
41
|
export { FeedbackCollector, createFeedbackCollector } from './feedback/collector.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,cAAc,kBAAkB,CAAA;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAGpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAGjF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACjG,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAGhD,OAAO,EACL,cAAc,EACd,UAAU,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,aAAa,EACd,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACpF,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/E,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGlF,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,UAAU,IAAI,eAAe,EAC7B,iBAAiB,IAAI,sBAAsB,EAC3C,sBAAsB,EACvB,MAAM,sBAAsB,CAAA;AAE7B,YAAY,EACV,IAAI,IAAI,SAAS,EACjB,WAAW,IAAI,gBAAgB,EAC/B,UAAU,IAAI,eAAe,EAC7B,UAAU,IAAI,eAAe,EAC7B,iBAAiB,IAAI,sBAAsB,EAC3C,kBAAkB,IAAI,uBAAuB,EAC7C,iBAAiB,IAAI,sBAAsB,EAC3C,WAAW,IAAI,gBAAgB,EAC/B,OAAO,IAAI,YAAY,EACvB,cAAc,IAAI,mBAAmB,EACtC,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAGpF,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -41,6 +41,10 @@ export { onPreToolUse as cloudPreToolUse } from './hooks/cloud-pre-tool-use.js';
|
|
|
41
41
|
export { onPostToolUse as cloudPostToolUse } from './hooks/cloud-post-tool-use.js';
|
|
42
42
|
// Tracking Schema (Cloud)
|
|
43
43
|
export { TaskSchema, TaskStatusSchema, TaskResultSchema, ImprovementSchema, ImprovementRecordSchema, ImprovementStatusSchema, SessionSchema, SessionContentSchema, createTask as createCloudTask, createImprovement as createCloudImprovement, validateTaskCompletion } from './schema/tracking.js';
|
|
44
|
+
// Plans Schema (Multi-Agent Continuity)
|
|
45
|
+
export { PlanSchema, PlanStatusSchema, PlanCheckpointSchema, CheckpointTypeSchema, PlanMatchSchema, createPlan, createCheckpoint, extractKeywords, calculateKeywordSimilarity } from './schema/plans.js';
|
|
46
|
+
// Plan Manager Service
|
|
47
|
+
export { PlanManager, getPlanManager, createPlanManager } from './services/PlanManager.js';
|
|
44
48
|
// MCP Server
|
|
45
49
|
export { MemoryMCPServer, startMCPServer } from './mcp/server.js';
|
|
46
50
|
// Dashboard
|