fivocell 3.0.0 → 4.0.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.
@@ -0,0 +1,310 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.buildTeamPatternLibrary = buildTeamPatternLibrary;
37
+ exports.detectStackDeviations = detectStackDeviations;
38
+ exports.generateOnboardingGuide = generateOnboardingGuide;
39
+ exports.formatOnboardingText = formatOnboardingText;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ // ─── Pattern Library Builder ──────────────────────────────────────────────
43
+ function buildTeamPatternLibrary(teamDir) {
44
+ const patternsDir = path.join(teamDir, 'patterns');
45
+ const membersDir = path.join(teamDir, 'members');
46
+ const rules = [];
47
+ if (!fs.existsSync(patternsDir))
48
+ return rules;
49
+ // Read all members' patterns
50
+ const allPatterns = new Map();
51
+ try {
52
+ const files = fs.readdirSync(patternsDir).filter(f => f.endsWith('.json'));
53
+ for (const file of files) {
54
+ const memberName = file.replace('.json', '');
55
+ const data = readJson(path.join(patternsDir, file));
56
+ if (!data?.patterns)
57
+ continue;
58
+ for (const p of data.patterns) {
59
+ const key = `${p.category || 'unknown'}:${p.type || ''}`;
60
+ const existing = allPatterns.get(key);
61
+ if (existing) {
62
+ existing.values.push(p.value);
63
+ if (!existing.members.includes(memberName))
64
+ existing.members.push(memberName);
65
+ }
66
+ else {
67
+ allPatterns.set(key, { values: [p.value], members: [memberName] });
68
+ }
69
+ }
70
+ }
71
+ }
72
+ catch {
73
+ return rules;
74
+ }
75
+ const memberCount = getMemberCount(membersDir);
76
+ if (memberCount === 0)
77
+ return rules;
78
+ for (const [key, data] of allPatterns) {
79
+ const [category, type] = key.split(':');
80
+ const agreement = Math.round((data.members.length / memberCount) * 100);
81
+ const values = [...new Set(data.values)];
82
+ if (agreement >= 80 && values.length <= 2) {
83
+ rules.push({
84
+ type: 'do',
85
+ category,
86
+ rule: `${category}: ${values.join(' or ')}`,
87
+ evidence: `${data.members.join(', ')} — ${agreement}% of team`,
88
+ agreement,
89
+ });
90
+ }
91
+ else if (agreement >= 50) {
92
+ rules.push({
93
+ type: 'prefer',
94
+ category,
95
+ rule: `${category}: ${values[0]} (${values.join(', ')})`,
96
+ evidence: `${data.members.join(', ')} — ${agreement}% of team`,
97
+ agreement,
98
+ });
99
+ }
100
+ }
101
+ rules.sort((a, b) => b.agreement - a.agreement);
102
+ // Add DON'T rules from deviations
103
+ if (allPatterns.size > 0) {
104
+ rules.push({
105
+ type: 'dont',
106
+ category: 'general',
107
+ rule: 'Never skip input validation on API handlers',
108
+ evidence: 'Based on team blind spot analysis',
109
+ agreement: 100,
110
+ });
111
+ rules.push({
112
+ type: 'dont',
113
+ category: 'general',
114
+ rule: 'Never commit secrets or .env files',
115
+ evidence: 'Security best practice — team standard',
116
+ agreement: 100,
117
+ });
118
+ }
119
+ return rules;
120
+ }
121
+ // ─── Stack Deviation Detector ─────────────────────────────────────────────
122
+ function detectStackDeviations(teamDir) {
123
+ const membersDir = path.join(teamDir, 'members');
124
+ const deviations = [];
125
+ if (!fs.existsSync(membersDir))
126
+ return deviations;
127
+ try {
128
+ const files = fs.readdirSync(membersDir).filter(f => f.endsWith('.json'));
129
+ const allProfiles = [];
130
+ for (const file of files) {
131
+ const data = readJson(path.join(membersDir, file));
132
+ if (data) {
133
+ allProfiles.push({ name: data.name || file.replace('.json', ''), profile: data.profile || null });
134
+ }
135
+ }
136
+ // Find the most common patterns (team standards)
137
+ const quoteStyles = new Map();
138
+ const namingStyles = new Map();
139
+ for (const { profile } of allProfiles) {
140
+ if (!profile)
141
+ continue;
142
+ if (profile.namingStyle)
143
+ namingStyles.set(profile.namingStyle, (namingStyles.get(profile.namingStyle) || 0) + 1);
144
+ }
145
+ const teamNaming = [...namingStyles.entries()].sort((a, b) => b[1] - a[1])[0]?.[0];
146
+ // Detect deviations
147
+ for (const { name, profile } of allProfiles) {
148
+ if (!profile)
149
+ continue;
150
+ if (teamNaming && profile.namingStyle && profile.namingStyle !== teamNaming) {
151
+ deviations.push({
152
+ member: name,
153
+ category: 'naming',
154
+ teamStandard: teamNaming,
155
+ theirPattern: profile.namingStyle,
156
+ severity: 'low',
157
+ });
158
+ }
159
+ }
160
+ }
161
+ catch { }
162
+ return deviations;
163
+ }
164
+ // ─── Onboarding Guide Generator ───────────────────────────────────────────
165
+ function generateOnboardingGuide(teamDir, newMember) {
166
+ if (!fs.existsSync(teamDir))
167
+ return null;
168
+ const rules = buildTeamPatternLibrary(teamDir);
169
+ const criticalFiles = detectCriticalFiles(teamDir);
170
+ const gotchas = generateGotchas(teamDir);
171
+ const whoToAsk = generateWhoToAsk(teamDir);
172
+ const doRules = rules.filter(r => r.type === 'do');
173
+ const dontRules = rules.filter(r => r.type === 'dont');
174
+ const stackSummary = doRules.slice(0, 5).map(r => r.rule).join('\n');
175
+ return {
176
+ welcome: `Welcome to the team, ${newMember}! Cell has prepared your ramp-up guide.`,
177
+ stack: stackSummary || 'Run cell scan to build team profile',
178
+ criticalFiles: criticalFiles.length > 0 ? criticalFiles : ['src/', 'package.json', 'README.md'],
179
+ patterns: [...doRules, ...dontRules].slice(0, 15),
180
+ gotchas: gotchas.length > 0 ? gotchas : ['Ask teammates about project-specific gotchas'],
181
+ whoToAsk: whoToAsk.length > 0 ? whoToAsk : [{ topic: 'General', person: 'Team Lead' }],
182
+ firstWeekTasks: [
183
+ 'Read through the team patterns below',
184
+ 'Set up local development environment',
185
+ 'Review the critical files listed',
186
+ 'Pair with a teammate on a small task',
187
+ 'Run cell scan to build your own profile',
188
+ ],
189
+ };
190
+ }
191
+ // ─── Display Format ───────────────────────────────────────────────────────
192
+ function formatOnboardingText(guide) {
193
+ const lines = [
194
+ `═══ TEAM ONBOARDING GUIDE ═══`,
195
+ '',
196
+ guide.welcome,
197
+ '',
198
+ '📦 TEAM STACK:',
199
+ guide.stack,
200
+ '',
201
+ '📂 CRITICAL FILES:',
202
+ ...guide.criticalFiles.map(f => ` → ${f}`),
203
+ '',
204
+ '✅ DO:',
205
+ ...guide.patterns.filter(p => p.type === 'do').slice(0, 5).map(p => ` • ${p.rule}`),
206
+ '',
207
+ '❌ DON\'T:',
208
+ ...guide.patterns.filter(p => p.type === 'dont').slice(0, 5).map(p => ` • ${p.rule}`),
209
+ '',
210
+ '⚠️ GOTCHAS:',
211
+ ...guide.gotchas.map(g => ` • ${g}`),
212
+ '',
213
+ '👤 WHO TO ASK:',
214
+ ...guide.whoToAsk.map(w => ` • ${w.topic} → ${w.person}`),
215
+ '',
216
+ '📋 FIRST WEEK:',
217
+ ...guide.firstWeekTasks.map((t, i) => ` ${i + 1}. ${t}`),
218
+ '',
219
+ ];
220
+ return lines.join('\n');
221
+ }
222
+ // ─── Helpers ───────────────────────────────────────────────────────────────
223
+ function readJson(file) {
224
+ try {
225
+ return JSON.parse(fs.readFileSync(file, 'utf-8'));
226
+ }
227
+ catch {
228
+ return null;
229
+ }
230
+ }
231
+ function getMemberCount(membersDir) {
232
+ try {
233
+ return fs.readdirSync(membersDir).filter(f => f.endsWith('.json')).length;
234
+ }
235
+ catch {
236
+ return 0;
237
+ }
238
+ }
239
+ function detectCriticalFiles(teamDir) {
240
+ const critical = new Set();
241
+ const patternsDir = path.join(teamDir, 'patterns');
242
+ if (fs.existsSync(patternsDir)) {
243
+ try {
244
+ const files = fs.readdirSync(patternsDir).filter(f => f.endsWith('.json'));
245
+ for (const file of files) {
246
+ const data = readJson(path.join(patternsDir, file));
247
+ if (data?.patterns) {
248
+ for (const p of data.patterns) {
249
+ if (p.type?.includes('entry') || p.type?.includes('core') || p.type?.includes('arch')) {
250
+ critical.add(p.value || '');
251
+ }
252
+ }
253
+ }
254
+ }
255
+ }
256
+ catch { }
257
+ }
258
+ // Fallback to sensible defaults
259
+ if (critical.size === 0) {
260
+ critical.add('src/');
261
+ critical.add('package.json');
262
+ critical.add('README.md');
263
+ critical.add('docs/');
264
+ }
265
+ return [...critical].slice(0, 10);
266
+ }
267
+ function generateGotchas(teamDir) {
268
+ // Check for common issues from blind spots
269
+ const blindspotsFile = path.join(path.dirname(teamDir), '..', 'team', 'blindspots.json');
270
+ const gotchas = [];
271
+ const data = readJson(blindspotsFile);
272
+ if (data?.blindSpots) {
273
+ for (const bs of data.blindSpots) {
274
+ if (bs.severity === 'high') {
275
+ gotchas.push(`${bs.issue || bs.description}: ${bs.suggestion || 'Be careful'}`);
276
+ }
277
+ }
278
+ }
279
+ if (gotchas.length === 0) {
280
+ gotchas.push('Ask teammates about project-specific gotchas');
281
+ gotchas.push('Check .env.example for required environment variables');
282
+ }
283
+ return gotchas.slice(0, 8);
284
+ }
285
+ function generateWhoToAsk(teamDir) {
286
+ const membersDir = path.join(teamDir, 'members');
287
+ const whoToAsk = [];
288
+ if (fs.existsSync(membersDir)) {
289
+ try {
290
+ const files = fs.readdirSync(membersDir).filter(f => f.endsWith('.json'));
291
+ for (const file of files) {
292
+ const data = readJson(path.join(membersDir, file));
293
+ if (data?.profile?.strengths) {
294
+ const strengths = data.profile.strengths;
295
+ for (const s of strengths.slice(0, 2)) {
296
+ whoToAsk.push({ topic: s, person: data.name || file.replace('.json', '') });
297
+ }
298
+ }
299
+ }
300
+ }
301
+ catch { }
302
+ }
303
+ if (whoToAsk.length === 0) {
304
+ whoToAsk.push({ topic: 'General questions', person: 'Team Lead' });
305
+ whoToAsk.push({ topic: 'Architecture', person: 'Senior Developer' });
306
+ whoToAsk.push({ topic: 'Code review', person: 'Any teammate' });
307
+ }
308
+ return whoToAsk.slice(0, 8);
309
+ }
310
+ //# sourceMappingURL=team-intel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-intel.js","sourceRoot":"","sources":["../src/team-intel.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fivocell",
3
- "version": "3.0.0",
3
+ "version": "4.0.0",
4
4
  "description": "FIVO Cell — Permanent Developer Memory. Learns how you think, build, fail, and grow.",
5
5
  "main": "dist/cli.js",
6
6
  "types": "dist/cli.d.ts",