@teamlens/core 0.1.2 → 0.1.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.
|
@@ -11,6 +11,17 @@ export declare class Distributor {
|
|
|
11
11
|
generated: string[];
|
|
12
12
|
warnings: string[];
|
|
13
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* Build the TeamLens section content (used by CLAUDE.md, AGENTS.md, etc.)
|
|
16
|
+
*/
|
|
17
|
+
private buildTeamLensSection;
|
|
18
|
+
/**
|
|
19
|
+
* Merge a TeamLens section into an existing file.
|
|
20
|
+
* - If the file has TEAMLENS markers, replace only that section.
|
|
21
|
+
* - If the file exists but has no markers, append the section at the end.
|
|
22
|
+
* - If the file doesn't exist, create it with just the section.
|
|
23
|
+
*/
|
|
24
|
+
private mergeSection;
|
|
14
25
|
private generateClaudeMd;
|
|
15
26
|
private generateCursorRules;
|
|
16
27
|
private generateAgentsMd;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distributor.d.ts","sourceRoot":"","sources":["../../src/distribution/distributor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAU,kBAAkB,EAAgB,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"distributor.d.ts","sourceRoot":"","sources":["../../src/distribution/distributor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAU,kBAAkB,EAAgB,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAsB3D,qBAAa,WAAW;IAEpB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ;gBADR,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM;IAG1B,mFAAmF;IACnF,aAAa,IAAI,kBAAkB,EAAE;IAarC,kFAAkF;IAClF,UAAU,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,GAAG;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE;IAiCvF;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsE5B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,mBAAmB;IAoD3B,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,2BAA2B;CAapC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
const
|
|
3
|
+
const SECTION_START = '<!-- TEAMLENS:START -->';
|
|
4
|
+
const SECTION_END = '<!-- TEAMLENS:END -->';
|
|
4
5
|
const PRIORITY_ORDER = ['critical', 'high', 'normal', 'low'];
|
|
5
6
|
function priorityLabel(p) {
|
|
6
7
|
return p ?? 'normal';
|
|
@@ -63,19 +64,12 @@ export class Distributor {
|
|
|
63
64
|
return { generated, warnings };
|
|
64
65
|
}
|
|
65
66
|
// ── CLAUDE.md ──
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const backupPath = path.join(this.repoPath, 'CLAUDE.md.backup');
|
|
73
|
-
fs.writeFileSync(backupPath, existing);
|
|
74
|
-
warnings.push(`Existing CLAUDE.md backed up to CLAUDE.md.backup`);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
let content = HEADER + '\n';
|
|
78
|
-
// Session protocol instructions — strong directives
|
|
67
|
+
/**
|
|
68
|
+
* Build the TeamLens section content (used by CLAUDE.md, AGENTS.md, etc.)
|
|
69
|
+
*/
|
|
70
|
+
buildTeamLensSection(rules, recentInsights) {
|
|
71
|
+
let content = '';
|
|
72
|
+
// Session protocol instructions
|
|
79
73
|
content += '## TeamLens — REQUIRED Protocol\n\n';
|
|
80
74
|
content += 'This project uses TeamLens for team AI intelligence. You MUST follow this protocol:\n\n';
|
|
81
75
|
content += '### Sharing Insights (MANDATORY)\n\n';
|
|
@@ -133,7 +127,43 @@ export class Distributor {
|
|
|
133
127
|
}
|
|
134
128
|
}
|
|
135
129
|
}
|
|
136
|
-
|
|
130
|
+
return content;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Merge a TeamLens section into an existing file.
|
|
134
|
+
* - If the file has TEAMLENS markers, replace only that section.
|
|
135
|
+
* - If the file exists but has no markers, append the section at the end.
|
|
136
|
+
* - If the file doesn't exist, create it with just the section.
|
|
137
|
+
*/
|
|
138
|
+
mergeSection(filePath, sectionContent) {
|
|
139
|
+
const wrappedSection = `${SECTION_START}\n${sectionContent}${SECTION_END}\n`;
|
|
140
|
+
if (!fs.existsSync(filePath)) {
|
|
141
|
+
fs.writeFileSync(filePath, wrappedSection);
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const existing = fs.readFileSync(filePath, 'utf-8');
|
|
145
|
+
// If file has our markers, replace only that section
|
|
146
|
+
const startIdx = existing.indexOf(SECTION_START);
|
|
147
|
+
const endIdx = existing.indexOf(SECTION_END);
|
|
148
|
+
if (startIdx !== -1 && endIdx !== -1) {
|
|
149
|
+
const before = existing.slice(0, startIdx);
|
|
150
|
+
const after = existing.slice(endIdx + SECTION_END.length + 1); // +1 for trailing \n
|
|
151
|
+
fs.writeFileSync(filePath, before + wrappedSection + after);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
// If file was previously generated by TeamLens (old format), replace entirely
|
|
155
|
+
if (existing.startsWith('# Generated by TeamLens') || existing.startsWith('# Generated by CodeMemory')) {
|
|
156
|
+
fs.writeFileSync(filePath, wrappedSection);
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
// Otherwise append to the end with a blank line separator
|
|
160
|
+
const separator = existing.endsWith('\n') ? '\n' : '\n\n';
|
|
161
|
+
fs.writeFileSync(filePath, existing + separator + wrappedSection);
|
|
162
|
+
}
|
|
163
|
+
generateClaudeMd(rules, recentInsights, _warnings) {
|
|
164
|
+
const filePath = path.join(this.repoPath, 'CLAUDE.md');
|
|
165
|
+
const section = this.buildTeamLensSection(rules, recentInsights);
|
|
166
|
+
this.mergeSection(filePath, section);
|
|
137
167
|
}
|
|
138
168
|
// ── .cursor/rules/ ──
|
|
139
169
|
generateCursorRules(rules) {
|
|
@@ -148,7 +178,7 @@ export class Distributor {
|
|
|
148
178
|
content += 'description: Global project rules from TeamLens\n';
|
|
149
179
|
content += 'alwaysApply: true\n';
|
|
150
180
|
content += '---\n\n';
|
|
151
|
-
content +=
|
|
181
|
+
content += '# Generated by TeamLens\n\n';
|
|
152
182
|
for (const rule of globalRules) {
|
|
153
183
|
content += `- ${rule.content}\n`;
|
|
154
184
|
if (rule.examples) {
|
|
@@ -184,7 +214,7 @@ export class Distributor {
|
|
|
184
214
|
// ── AGENTS.md ──
|
|
185
215
|
generateAgentsMd(rules) {
|
|
186
216
|
const filePath = path.join(this.repoPath, 'AGENTS.md');
|
|
187
|
-
let content =
|
|
217
|
+
let content = '';
|
|
188
218
|
const byCategory = groupBy(rules, (r) => r.category);
|
|
189
219
|
for (const [category, categoryRules] of byCategory) {
|
|
190
220
|
content += `## ${category.charAt(0).toUpperCase() + category.slice(1)}\n\n`;
|
|
@@ -203,18 +233,18 @@ export class Distributor {
|
|
|
203
233
|
}
|
|
204
234
|
content += '\n';
|
|
205
235
|
}
|
|
206
|
-
|
|
236
|
+
this.mergeSection(filePath, content);
|
|
207
237
|
}
|
|
208
238
|
// ── .github/copilot-instructions.md ──
|
|
209
239
|
generateCopilotInstructions(rules) {
|
|
210
240
|
const dir = path.join(this.repoPath, '.github');
|
|
211
241
|
fs.mkdirSync(dir, { recursive: true });
|
|
212
242
|
const filePath = path.join(dir, 'copilot-instructions.md');
|
|
213
|
-
let content =
|
|
243
|
+
let content = '';
|
|
214
244
|
for (const rule of rules) {
|
|
215
245
|
content += `- ${rule.content}\n`;
|
|
216
246
|
}
|
|
217
|
-
|
|
247
|
+
this.mergeSection(filePath, content);
|
|
218
248
|
}
|
|
219
249
|
}
|
|
220
250
|
//# sourceMappingURL=distributor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distributor.js","sourceRoot":"","sources":["../../src/distribution/distributor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"distributor.js","sourceRoot":"","sources":["../../src/distribution/distributor.ts"],"names":[],"mappings":"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"}
|