@tekdi/coding-analytics
Advanced tools
| export interface PromptAnalysis { | ||
| word_count: number; | ||
| has_success_criteria: boolean; | ||
| has_format_spec: boolean; | ||
| has_test_criteria: boolean; | ||
| has_error_handling_detail: boolean; | ||
| has_context_references: boolean; | ||
| has_scope_definition: boolean; | ||
| specificity_score: number; | ||
| interaction_type: 'brainstorm' | 'plan' | 'execute' | 'correct' | 'accept' | 'question' | 'other'; | ||
| missing_dimensions: string[]; | ||
| } | ||
| export declare class PromptAnalyzer { | ||
| analyze(prompt: string): PromptAnalysis; | ||
| private classifyInteraction; | ||
| } | ||
| //# sourceMappingURL=prompt-analyzer.d.ts.map |
| {"version":3,"file":"prompt-analyzer.d.ts","sourceRoot":"","sources":["../prompt-analyzer.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,yBAAyB,EAAE,OAAO,CAAC;IACnC,sBAAsB,EAAE,OAAO,CAAC;IAChC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAClG,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IA8CvC,OAAO,CAAC,mBAAmB;CA6C5B"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.PromptAnalyzer = void 0; | ||
| class PromptAnalyzer { | ||
| analyze(prompt) { | ||
| const lower = prompt.toLowerCase(); | ||
| const wordCount = prompt.trim().split(/\s+/).filter(Boolean).length; | ||
| const hasSuccessCriteria = /\b(should result|expected output|verify that|acceptance criteria|definition of done|ensure that|outcome should|must produce|result should|output should|the goal is|so that|in order to)\b/i.test(prompt); | ||
| const hasFormatSpec = /\b(format|structure|schema|template|json|xml|yaml|like this|example:|following pattern|following format|response shape|response format|should look like|shaped like)\b/i.test(prompt); | ||
| const hasTestCriteria = /\b(test|unit test|e2e|end.to.end|verify|check that|should pass|spec|test case|assertion|how (to|do) (i |we )?verify|how (to|do) (i |we )?test)\b/i.test(prompt); | ||
| const hasErrorHandlingDetail = /\b(error code|http status|status code|4xx|5xx|error response|error schema|error format|catch block|exception type|error message format|log format|logging format|error body|error object)\b/i.test(prompt); | ||
| const hasContextReferences = /\b(existing|current pattern|follow the pattern|like the other|similar to|as per|consistent with|same as|based on|refer to|our convention|our standard|our approach|as we do|how we|the way we)\b/i.test(prompt); | ||
| const hasScopeDefinition = /\b(only|specifically|just the|limited to|scope|in scope|out of scope|exclude|include only|don'?t touch|leave .+ alone)\b/i.test(prompt) | ||
| || /\b[A-Za-z0-9_-]+\.(ts|js|tsx|jsx|py|java|go|cs|rb|php|kt|swift)\b/.test(prompt); | ||
| const interactionType = this.classifyInteraction(prompt, lower, wordCount); | ||
| let score = 0; | ||
| if (wordCount > 20) | ||
| score += 10; | ||
| if (wordCount > 50) | ||
| score += 10; | ||
| if (hasFormatSpec) | ||
| score += 15; | ||
| if (hasSuccessCriteria) | ||
| score += 20; | ||
| if (hasContextReferences) | ||
| score += 15; | ||
| if (hasScopeDefinition) | ||
| score += 15; | ||
| if (hasErrorHandlingDetail) | ||
| score += 10; | ||
| if (hasTestCriteria) | ||
| score += 10; | ||
| const specificityScore = Math.min(score, 95); | ||
| const missingDimensions = []; | ||
| if (!hasSuccessCriteria) | ||
| missingDimensions.push('success_criteria'); | ||
| if (!hasFormatSpec) | ||
| missingDimensions.push('format_specification'); | ||
| if (!hasTestCriteria) | ||
| missingDimensions.push('test_criteria'); | ||
| if (!hasContextReferences) | ||
| missingDimensions.push('context_references'); | ||
| if (!hasScopeDefinition) | ||
| missingDimensions.push('scope_definition'); | ||
| return { | ||
| word_count: wordCount, | ||
| has_success_criteria: hasSuccessCriteria, | ||
| has_format_spec: hasFormatSpec, | ||
| has_test_criteria: hasTestCriteria, | ||
| has_error_handling_detail: hasErrorHandlingDetail, | ||
| has_context_references: hasContextReferences, | ||
| has_scope_definition: hasScopeDefinition, | ||
| specificity_score: specificityScore, | ||
| interaction_type: interactionType, | ||
| missing_dimensions: missingDimensions, | ||
| }; | ||
| } | ||
| classifyInteraction(prompt, lower, wordCount) { | ||
| // Short acceptances — user approved or rubber-stamped | ||
| if (wordCount <= 6 && | ||
| /\b(ok|okay|yes|yep|proceed|continue|go ahead|looks good|lgtm|done|great|perfect|thanks|sure|sounds good|approved)\b/i.test(lower)) { | ||
| return 'accept'; | ||
| } | ||
| // Corrections — user pushing back on AI output | ||
| if (/\b(that('s| is) wrong|no,|that'?s incorrect|you missed|fix that|undo|revert that|that'?s not (right|what|correct)|you('?re| are) wrong|not what i (asked|wanted|meant)|you didn'?t|you forgot|mistake in your|wrong approach|not quite right)\b/i.test(lower)) { | ||
| return 'correct'; | ||
| } | ||
| // Questions — seeking understanding, not action | ||
| if (wordCount < 25 && | ||
| /\?/.test(prompt) && | ||
| /\b(why|how (does|do|did|is)|what (is|are|does|did)|when|where|explain|describe|can you clarify|could you explain)\b/i.test(lower)) { | ||
| return 'question'; | ||
| } | ||
| // Brainstorm — exploring ideas before committing | ||
| if (/\b(brainstorm|think (through|about)|let'?s explore|what are (the |some )?options|pros and cons|compare|alternatives|considerations|trade.?offs|design options|architecture options|which approach|what'?s the best way)\b/i.test(lower)) { | ||
| return 'brainstorm'; | ||
| } | ||
| // Plan — structuring work before executing | ||
| if (/\b(create a plan|make a plan|let'?s plan|before (we|i|you) (start|begin|code|implement)|outline (the|a)|strategy for|roadmap|step by step|break(down| this| it) down|task list|todo list|first (let'?s|we|i)|plan (this|the|it))\b/i.test(lower)) { | ||
| return 'plan'; | ||
| } | ||
| return 'execute'; | ||
| } | ||
| } | ||
| exports.PromptAnalyzer = PromptAnalyzer; | ||
| //# sourceMappingURL=prompt-analyzer.js.map |
| {"version":3,"file":"prompt-analyzer.js","sourceRoot":"","sources":["../prompt-analyzer.ts"],"names":[],"mappings":"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"} |
| export interface WorkspaceRules { | ||
| has_cursor_rules: boolean; | ||
| has_cursor_rules_dir: boolean; | ||
| cursor_rules_count: number; | ||
| has_claude_md: boolean; | ||
| has_ai_rules: boolean; | ||
| } | ||
| export declare function detectWorkspaceRules(workspacePath: string): WorkspaceRules; | ||
| //# sourceMappingURL=rules-detector.d.ts.map |
| {"version":3,"file":"rules-detector.d.ts","sourceRoot":"","sources":["../rules-detector.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,cAAc,CAmC1E"} |
| "use strict"; | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
| Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
| }) : function(o, v) { | ||
| o["default"] = v; | ||
| }); | ||
| var __importStar = (this && this.__importStar) || (function () { | ||
| var ownKeys = function(o) { | ||
| ownKeys = Object.getOwnPropertyNames || function (o) { | ||
| var ar = []; | ||
| for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; | ||
| return ar; | ||
| }; | ||
| return ownKeys(o); | ||
| }; | ||
| return function (mod) { | ||
| if (mod && mod.__esModule) return mod; | ||
| var result = {}; | ||
| if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); | ||
| __setModuleDefault(result, mod); | ||
| return result; | ||
| }; | ||
| })(); | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.detectWorkspaceRules = detectWorkspaceRules; | ||
| const fs = __importStar(require("fs")); | ||
| const path = __importStar(require("path")); | ||
| function detectWorkspaceRules(workspacePath) { | ||
| try { | ||
| const cursorRulesFile = path.join(workspacePath, '.cursorrules'); | ||
| const cursorRulesDir = path.join(workspacePath, '.cursor', 'rules'); | ||
| const claudeMd = path.join(workspacePath, 'CLAUDE.md'); | ||
| const hasCursorRulesFile = fs.existsSync(cursorRulesFile); | ||
| const hasCursorRulesDir = fs.existsSync(cursorRulesDir) && fs.statSync(cursorRulesDir).isDirectory(); | ||
| let cursorRulesCount = 0; | ||
| if (hasCursorRulesDir) { | ||
| cursorRulesCount = fs.readdirSync(cursorRulesDir) | ||
| .filter(f => f.endsWith('.mdc') || f.endsWith('.md')).length; | ||
| } | ||
| else if (hasCursorRulesFile) { | ||
| cursorRulesCount = 1; | ||
| } | ||
| const hasClaudeMd = fs.existsSync(claudeMd); | ||
| return { | ||
| has_cursor_rules: hasCursorRulesFile || hasCursorRulesDir, | ||
| has_cursor_rules_dir: hasCursorRulesDir, | ||
| cursor_rules_count: cursorRulesCount, | ||
| has_claude_md: hasClaudeMd, | ||
| has_ai_rules: hasCursorRulesFile || hasCursorRulesDir || hasClaudeMd, | ||
| }; | ||
| } | ||
| catch { | ||
| return { | ||
| has_cursor_rules: false, | ||
| has_cursor_rules_dir: false, | ||
| cursor_rules_count: 0, | ||
| has_claude_md: false, | ||
| has_ai_rules: false, | ||
| }; | ||
| } | ||
| } | ||
| //# sourceMappingURL=rules-detector.js.map |
| {"version":3,"file":"rules-detector.js","sourceRoot":"","sources":["../rules-detector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,oDAmCC;AA9CD,uCAAyB;AACzB,2CAA6B;AAU7B,SAAgB,oBAAoB,CAAC,aAAqB;IACxD,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAEvD,MAAM,kBAAkB,GAAG,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QAErG,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,iBAAiB,EAAE,CAAC;YACtB,gBAAgB,GAAG,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC;iBAC9C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACjE,CAAC;aAAM,IAAI,kBAAkB,EAAE,CAAC;YAC9B,gBAAgB,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE5C,OAAO;YACL,gBAAgB,EAAE,kBAAkB,IAAI,iBAAiB;YACzD,oBAAoB,EAAE,iBAAiB;YACvC,kBAAkB,EAAE,gBAAgB;YACpC,aAAa,EAAE,WAAW;YAC1B,YAAY,EAAE,kBAAkB,IAAI,iBAAiB,IAAI,WAAW;SACrE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,gBAAgB,EAAE,KAAK;YACvB,oBAAoB,EAAE,KAAK;YAC3B,kBAAkB,EAAE,CAAC;YACrB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,KAAK;SACpB,CAAC;IACJ,CAAC;AACH,CAAC"} |
+396
| # @tekdi/coding-analytics | ||
| Monitor **Cursor** and **Claude Code** usage in real-time and send analytics to PostHog for team-wide insights and pattern detection. | ||
| ## 🎯 What It Does | ||
| Hooks into Cursor and Claude Code on each developer's machine to capture: | ||
| - **Cursor**: chat sessions, messages, code edits, token usage, agent thinking | ||
| - **Claude Code**: prompts submitted, tool usage, session start/stop, subagent activity | ||
| - **Git context**: repository, branch, last commit, dirty status | ||
| - **System metadata**: OS, Cursor version, Node version | ||
| - **User identity**: resolved from Claude account UUID → Cursor cached email → git config | ||
| Events are written to a local queue and flushed to PostHog every 5 minutes by a cron job, so hooks never block your editor. | ||
| --- | ||
| ## 🚀 Quick Start | ||
| ### Installation | ||
| **Mac/Linux:** | ||
| ```bash | ||
| curl -fsSL https://raw.githubusercontent.com/tekdi/coding-analytics/main/install-scripts/install.sh | bash | ||
| ``` | ||
| **Windows (PowerShell as Administrator):** | ||
| ```powershell | ||
| Invoke-WebRequest -Uri https://raw.githubusercontent.com/tekdi/coding-analytics/main/install-scripts/install.ps1 -OutFile install.ps1 | ||
| .\install.ps1 | ||
| ``` | ||
| **Manual installation:** | ||
| ```bash | ||
| npm install -g @tekdi/coding-analytics | ||
| # Configure PostHog | ||
| coding-analytics config --posthog-key="phc_your_key_here" | ||
| coding-analytics config --posthog-host="https://eu.i.posthog.com" | ||
| # Install hooks for both providers (also sets up the flush cron) | ||
| coding-analytics install-hooks | ||
| ``` | ||
| ### Verification | ||
| ```bash | ||
| coding-analytics status | ||
| ``` | ||
| Expected output: | ||
| ``` | ||
| === Coding Analytics Status === | ||
| Overall: ✓ healthy | ||
| Hooks & Infrastructure: | ||
| Cursor Hooks: ✓ Installed | ||
| Claude Hooks: ✓ Installed | ||
| Flush Cron: ✓ Installed (every 5 min) | ||
| Queue: 0 event(s) pending | ||
| Backend: | ||
| PostHog: ✓ Connected | ||
| Local Storage: ✓ OK | ||
| Last Event: 2026-03-26T10:30:00Z | ||
| Auth IDs: | ||
| Claude: 44c72054-****-****-****-a9743dc0d9bb | ||
| Cursor: a*****@yourorg.com | ||
| ``` | ||
| --- | ||
| ## 📊 Events Captured | ||
| ### Cursor Events | ||
| | PostHog Event | Trigger | | ||
| |---|---| | ||
| | `cursor_chat_started` | New chat opened | | ||
| | `cursor_message_sent` | User sends a message | | ||
| | `cursor_message_received` | AI responds | | ||
| | `cursor_code_edited` | Files changed via AI | | ||
| | `cursor_chat_ended` | Chat session closed | | ||
| | `cursor_agent_thinking` | Agent reasoning (if available) | | ||
| ### Claude Code Events | ||
| | PostHog Event | Trigger | | ||
| |---|---| | ||
| | `claude_session_started` | Claude Code session begins | | ||
| | `claude_prompt_submitted` | User submits a prompt | | ||
| | `claude_tool_used` | Any tool call completes (Bash, Edit, Read, etc.) | | ||
| | `claude_subagent_started` | Subagent spawned | | ||
| | `claude_subagent_stopped` | Subagent completes | | ||
| | `claude_session_stopped` | Session ends | | ||
| ### Enriched Context on Every Event | ||
| - **Git**: repository, branch, last commit hash, dirty/clean status, modified file count | ||
| - **System**: OS, Cursor version, Node version, machine ID | ||
| - **User**: Claude account UUID (preferred) → Cursor cached email → hashed git email | ||
| - **Provider**: `cursor` or `claude` tag on every event | ||
| --- | ||
| ## ⚙️ Configuration | ||
| **Location:** `~/.coding-analytics/config.json` | ||
| ```bash | ||
| coding-analytics config --edit # open in $EDITOR | ||
| coding-analytics config --show # print current config | ||
| ``` | ||
| ```json | ||
| { | ||
| "posthog": { | ||
| "apiKey": "phc_your_key", | ||
| "host": "https://eu.i.posthog.com", | ||
| "batchSize": 100, | ||
| "flushInterval": 5000 | ||
| }, | ||
| "capture": { | ||
| "prompts": true, | ||
| "responses": false, | ||
| "fileContent": false, | ||
| "filePaths": true, | ||
| "agentThinking": true | ||
| }, | ||
| "privacy": { | ||
| "hashUserIds": true, | ||
| "redactSecrets": true, | ||
| "allowedRepos": [ | ||
| "github.com/tekdi/*" | ||
| ] | ||
| }, | ||
| "storage": { | ||
| "fallbackToLocal": true, | ||
| "localDbPath": "~/.coding-analytics/events.json", | ||
| "retryFailedEvents": true, | ||
| "maxRetries": 3 | ||
| } | ||
| } | ||
| ``` | ||
| --- | ||
| ## 🔒 Privacy & Security | ||
| ### Captured by default | ||
| - Event types and metadata (timestamps, token counts, line counts) | ||
| - File paths and types | ||
| - Git context (repo name, branch) | ||
| - Hashed or opaque user IDs | ||
| ### Not captured by default | ||
| - AI response content | ||
| - File diffs or file content | ||
| - Raw email addresses | ||
| - Any value matching secret patterns (auto-redacted) | ||
| ### Secret redaction | ||
| Automatically strips from prompt content before queuing: | ||
| - API keys | ||
| - Bearer tokens | ||
| - JWT tokens | ||
| - Passwords | ||
| - Database connection strings | ||
| - AWS access keys | ||
| ### Repository filtering | ||
| Restrict capture to specific repositories: | ||
| ```json | ||
| { | ||
| "privacy": { | ||
| "allowedRepos": ["github.com/tekdi/*", "github.com/myorg/public-*"] | ||
| } | ||
| } | ||
| ``` | ||
| --- | ||
| ## 🛠️ CLI Reference | ||
| ### Configuration | ||
| ```bash | ||
| coding-analytics config --posthog-key="phc_..." | ||
| coding-analytics config --posthog-host="https://eu.i.posthog.com" | ||
| coding-analytics config --edit | ||
| coding-analytics config --show | ||
| ``` | ||
| ### Hook Management | ||
| ```bash | ||
| # Install hooks for both Cursor and Claude Code + flush cron | ||
| coding-analytics install-hooks | ||
| # Install for a specific provider only | ||
| coding-analytics install-hooks --provider cursor | ||
| coding-analytics install-hooks --provider claude | ||
| # Uninstall | ||
| coding-analytics uninstall-hooks | ||
| coding-analytics uninstall-hooks --provider cursor | ||
| ``` | ||
| ### Monitoring | ||
| ```bash | ||
| coding-analytics status # full health check | ||
| coding-analytics test # test PostHog connection | ||
| coding-analytics events --recent 20 # view sent events (fallback storage) | ||
| coding-analytics events --provider claude # filter by provider | ||
| coding-analytics events --provider cursor | ||
| coding-analytics logs --tail # follow log file | ||
| coding-analytics logs --lines 100 | ||
| ``` | ||
| ### Queue & Retry | ||
| ```bash | ||
| coding-analytics flush # manually flush queue to PostHog (normally run by cron) | ||
| coding-analytics retry # retry events that failed to send (from fallback storage) | ||
| ``` | ||
| --- | ||
| ## ⚡ Architecture | ||
| Events are processed in two stages to avoid any latency impact on your editor: | ||
| ``` | ||
| Hook fires (every tool call / prompt / etc.) | ||
| └─ coding-analytics hook / claude-hook | ||
| → map event type (~1ms) | ||
| → apply privacy filters (~1ms) | ||
| → append to queue.jsonl (~2ms) | ||
| → exit total: ~5ms | ||
| Every 5 minutes (cron) | ||
| └─ coding-analytics flush | ||
| → drain queue.jsonl atomically | ||
| → enrich batch with git + system context | ||
| (git cached per workspace — 1 call per repo, not per event) | ||
| → send to PostHog | ||
| → on failure: store in events.json for retry | ||
| ``` | ||
| The cron is installed automatically by `install-hooks`. To verify: | ||
| ```bash | ||
| crontab -l | grep coding-analytics | ||
| ``` | ||
| --- | ||
| ## 📈 PostHog Query Examples | ||
| **Tool usage breakdown (Claude Code):** | ||
| ```sql | ||
| SELECT | ||
| properties.tool_name, | ||
| COUNT(*) as uses, | ||
| countIf(properties.exit_code != 0) as errors | ||
| FROM events | ||
| WHERE event = 'claude_tool_used' | ||
| AND timestamp > now() - interval '7 days' | ||
| GROUP BY tool_name | ||
| ORDER BY uses DESC | ||
| ``` | ||
| **Most active users across both providers:** | ||
| ```sql | ||
| SELECT | ||
| distinct_id, | ||
| properties.provider, | ||
| COUNT(*) as event_count | ||
| FROM events | ||
| WHERE timestamp > now() - interval '7 days' | ||
| GROUP BY distinct_id, provider | ||
| ORDER BY event_count DESC | ||
| ``` | ||
| **High token sessions (Cursor):** | ||
| ```sql | ||
| SELECT | ||
| properties.chat_id, | ||
| distinct_id, | ||
| SUM(properties.token_count) as total_tokens, | ||
| COUNT(*) as message_count | ||
| FROM events | ||
| WHERE event = 'cursor_message_sent' | ||
| AND timestamp > now() - interval '7 days' | ||
| GROUP BY chat_id, distinct_id | ||
| HAVING total_tokens > 5000 | ||
| ORDER BY total_tokens DESC | ||
| ``` | ||
| --- | ||
| ## 🐛 Troubleshooting | ||
| ### Hooks not firing | ||
| **Cursor:** verify `~/.cursor/hooks.json` exists and restart Cursor. | ||
| **Claude Code:** verify `~/.claude/settings.json` has hook entries and restart Claude Code. | ||
| ```bash | ||
| coding-analytics status # shows which hooks are installed | ||
| coding-analytics logs --tail # watch for errors in real time | ||
| ``` | ||
| ### Events not appearing in PostHog | ||
| ```bash | ||
| coding-analytics test # check PostHog connectivity | ||
| coding-analytics flush # manually trigger a flush | ||
| coding-analytics events # check fallback storage for unsent events | ||
| coding-analytics retry # resend events that previously failed | ||
| ``` | ||
| Check the PostHog host — use your project's ingestion URL: | ||
| ```bash | ||
| coding-analytics config --posthog-host="https://eu.i.posthog.com" # EU cloud | ||
| coding-analytics config --posthog-host="https://us.i.posthog.com" # US cloud | ||
| ``` | ||
| ### Cron not running | ||
| ```bash | ||
| crontab -l # verify cron entry exists | ||
| coding-analytics install-hooks # reinstalls cron if missing | ||
| cat ~/.coding-analytics/logs/flush.log # check flush run history | ||
| ``` | ||
| ### Auth IDs not detected | ||
| `coding-analytics status` shows `(not found)` for an auth ID: | ||
| - **Claude**: ensure you are logged into Claude Code (check `~/.claude.json`) | ||
| - **Cursor**: ensure you are logged into Cursor (check `~/.cursor/` or `~/Library/Application Support/Cursor/`) | ||
| --- | ||
| ## 🔧 Development | ||
| ### Build from Source | ||
| ```bash | ||
| git clone https://github.com/tekdi/coding-analytics.git | ||
| cd coding-analytics/src | ||
| npm install | ||
| npm run build | ||
| npm link | ||
| coding-analytics --version | ||
| ``` | ||
| ### Project Structure | ||
| ``` | ||
| coding-analytics/ | ||
| ├── src/ | ||
| │ ├── cli.ts # CLI entry point & all commands | ||
| │ ├── queue.ts # Append-only JSONL event queue | ||
| │ ├── flusher.ts # Batch enrichment & PostHog send | ||
| │ ├── hooks-listener.ts # Cursor hook event mapper | ||
| │ ├── claude-hooks-receiver.ts # Claude Code hook event mapper | ||
| │ ├── enricher.ts # Git, system & user ID enrichment | ||
| │ ├── batcher.ts # PostHog batch sender | ||
| │ ├── local-storage.ts # JSON fallback for failed sends | ||
| │ ├── install-service.ts # Hook + cron installation | ||
| │ ├── health-monitor.ts # Status checks & auth ID display | ||
| │ ├── config.ts # Configuration management | ||
| │ └── logger.ts # Winston logger | ||
| ├── install-scripts/ | ||
| │ ├── install.sh # Mac/Linux installer | ||
| │ └── install # Windows PowerShell installer | ||
| └── package.json | ||
| ``` | ||
| --- | ||
| ## 📄 License | ||
| MIT — see LICENSE file | ||
| **Author:** Tekdi Technologies | ||
| **Package:** `@tekdi/coding-analytics` | ||
| **Version:** 1.0.0 |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"claude-hooks-receiver.d.ts","sourceRoot":"","sources":["../claude-hooks-receiver.ts"],"names":[],"mappings":"AAOA,qBAAa,mBAAmB;IAE9B,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAS;;IAMvB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,UAAU;IAKlB,0EAA0E;IACpE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB5D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,OAAO,CAAC,QAAQ;IA6EhB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,aAAa;CAStB"} | ||
| {"version":3,"file":"claude-hooks-receiver.d.ts","sourceRoot":"","sources":["../claude-hooks-receiver.ts"],"names":[],"mappings":"AAOA,qBAAa,mBAAmB;IAE9B,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAS;;IAMvB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,UAAU;IAKlB,0EAA0E;IACpE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB5D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,OAAO,CAAC,QAAQ;IA+GhB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,aAAa;CAStB"} |
@@ -70,3 +70,12 @@ "use strict"; | ||
| }; | ||
| case 'UserPromptSubmit': | ||
| case 'UserPromptSubmit': { | ||
| // Claude Code sends transcript as an array; the current user message is the last entry | ||
| const transcript = data.transcript ?? []; | ||
| const lastUserMsg = [...transcript].reverse().find((m) => m.role === 'user'); | ||
| const promptText = lastUserMsg | ||
| ? (typeof lastUserMsg.content === 'string' | ||
| ? lastUserMsg.content | ||
| : lastUserMsg.content?.[0]?.text ?? '') | ||
| : (data.prompt ?? ''); | ||
| const promptsInSession = transcript.filter((m) => m.role === 'user').length; | ||
| return { | ||
@@ -76,4 +85,6 @@ type: 'claude_prompt_submitted', | ||
| session_id: data.session_id, | ||
| prompt: this.config.capture.prompts ? data.prompt : '[redacted]', | ||
| prompt_length: data.prompt?.length ?? 0, | ||
| cwd: data.cwd, | ||
| prompt: this.config.capture.prompts ? promptText : '[redacted]', | ||
| prompt_length: promptText.length, | ||
| prompts_in_session: promptsInSession, | ||
| }, | ||
@@ -83,2 +94,15 @@ timestamp, | ||
| }; | ||
| } | ||
| case 'PreToolUse': | ||
| return { | ||
| type: 'claude_tool_pre_use', | ||
| data: { | ||
| session_id: data.session_id, | ||
| cwd: data.cwd, | ||
| tool_name: data.tool_name, | ||
| tool_input: this.config.capture.prompts ? data.tool_input : undefined, | ||
| }, | ||
| timestamp, | ||
| provider: 'claude', | ||
| }; | ||
| case 'PostToolUse': | ||
@@ -89,2 +113,3 @@ return { | ||
| session_id: data.session_id, | ||
| cwd: data.cwd, | ||
| tool_name: data.tool_name, | ||
@@ -116,3 +141,6 @@ tool_input: this.config.capture.prompts ? data.tool_input : undefined, | ||
| }; | ||
| case 'Stop': | ||
| case 'Stop': { | ||
| const stopTranscript = data.transcript ?? []; | ||
| const totalPrompts = stopTranscript.filter((m) => m.role === 'user').length; | ||
| const totalResponses = stopTranscript.filter((m) => m.role === 'assistant').length; | ||
| return { | ||
@@ -122,3 +150,6 @@ type: 'claude_session_stopped', | ||
| session_id: data.session_id, | ||
| cwd: data.cwd, | ||
| stop_hook_active: data.stop_hook_active ?? false, | ||
| total_prompts: totalPrompts, | ||
| total_responses: totalResponses, | ||
| }, | ||
@@ -128,2 +159,3 @@ timestamp, | ||
| }; | ||
| } | ||
| default: | ||
@@ -130,0 +162,0 @@ return null; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"claude-hooks-receiver.js","sourceRoot":"","sources":["../claude-hooks-receiver.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"claude-hooks-receiver.js","sourceRoot":"","sources":["../claude-hooks-receiver.ts"],"names":[],"mappings":"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"} |
+8
-7
@@ -54,13 +54,14 @@ #!/usr/bin/env node | ||
| program | ||
| .command('hook <event-type>') | ||
| .description('Process a Cursor hook event (called by Cursor, writes to queue)') | ||
| .option('--data <json>', 'Event data as JSON') | ||
| .action(async (eventType, options) => { | ||
| .command('hook <hook-type>') | ||
| .description('Process a Cursor hook event (called by Cursor, reads stdin)') | ||
| .option('--data <json>', 'Event data as JSON (for manual testing only)') | ||
| .action(async (hookType, options) => { | ||
| try { | ||
| const eventData = options.data ? JSON.parse(options.data) : {}; | ||
| const raw = options.data ? options.data : await readStdin(); | ||
| const eventData = raw ? JSON.parse(raw) : {}; | ||
| const listener = new hooks_listener_1.HooksListener(); | ||
| await listener.queueEvent(eventType, eventData); | ||
| await listener.queueEvent(hookType, eventData); | ||
| } | ||
| catch (error) { | ||
| logger_1.logger.error('Failed to queue Cursor hook event', { error, eventType }); | ||
| logger_1.logger.error('Failed to queue Cursor hook event', { error, hookType }); | ||
| process.exit(1); | ||
@@ -67,0 +68,0 @@ } |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"} |
@@ -14,2 +14,4 @@ import { Config } from './config'; | ||
| private gitContextCache; | ||
| private rulesCache; | ||
| private promptAnalyzer; | ||
| constructor(config: Config); | ||
@@ -27,4 +29,5 @@ enrich(hookEvent: HookEvent): Promise<EnrichedEvent>; | ||
| private getMachineId; | ||
| private getGitUserInfo; | ||
| private hash; | ||
| } | ||
| //# sourceMappingURL=enricher.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"enricher.d.ts","sourceRoot":"","sources":["../enricher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQ7C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,eAAe,CAAuB;IAE9C,OAAO,CAAC,eAAe,CAA0C;gBAErD,MAAM,EAAE,MAAM;IAIpB,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;YA+B5C,aAAa;YASb,eAAe;IA2D7B,OAAO,CAAC,eAAe;YAQT,gBAAgB;YAUhB,gBAAgB;YAqBhB,SAAS;IA+BvB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,eAAe;YA0BT,YAAY;IAc1B,OAAO,CAAC,IAAI;CAGb"} | ||
| {"version":3,"file":"enricher.d.ts","sourceRoot":"","sources":["../enricher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAU7C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,eAAe,CAAuB;IAE9C,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,cAAc,CAAwB;gBAElC,MAAM,EAAE,MAAM;IAIpB,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;YA2D5C,aAAa;YASb,eAAe;IA2D7B,OAAO,CAAC,eAAe;YAQT,gBAAgB;YAUhB,gBAAgB;YAqBhB,SAAS;IAqCvB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,eAAe;YA0BT,YAAY;YAcZ,cAAc;IAgB5B,OAAO,CAAC,IAAI;CAGb"} |
+54
-4
@@ -40,2 +40,4 @@ "use strict"; | ||
| exports.Enricher = void 0; | ||
| const prompt_analyzer_1 = require("./prompt-analyzer"); | ||
| const rules_detector_1 = require("./rules-detector"); | ||
| const simple_git_1 = __importDefault(require("simple-git")); | ||
@@ -53,2 +55,4 @@ const os = __importStar(require("os")); | ||
| this.gitContextCache = new Map(); | ||
| this.rulesCache = new Map(); | ||
| this.promptAnalyzer = new prompt_analyzer_1.PromptAnalyzer(); | ||
| this.config = config; | ||
@@ -61,3 +65,3 @@ } | ||
| // Add git context — Claude hooks don't supply workspace_path so fall back to cwd | ||
| const workspacePath = hookEvent.data.workspace_path || | ||
| const workspacePath = hookEvent.data.workspace_path || hookEvent.data.cwd || | ||
| (hookEvent.provider === 'claude' ? process.cwd() : undefined); | ||
@@ -67,2 +71,7 @@ if (workspacePath) { | ||
| Object.assign(properties, gitContext); | ||
| // Add workspace AI rules context (cached per path) | ||
| if (!this.rulesCache.has(workspacePath)) { | ||
| this.rulesCache.set(workspacePath, (0, rules_detector_1.detectWorkspaceRules)(workspacePath)); | ||
| } | ||
| Object.assign(properties, this.rulesCache.get(workspacePath)); | ||
| } | ||
@@ -72,4 +81,24 @@ // Add system context | ||
| Object.assign(properties, systemContext); | ||
| // Get user ID | ||
| const userId = await this.getUserId(); | ||
| // Add git user identity (email + name from global git config) | ||
| const gitUser = await this.getGitUserInfo(); | ||
| Object.assign(properties, gitUser); | ||
| // Add prompt quality analysis | ||
| const promptText = hookEvent.data.prompt; | ||
| if (promptText && typeof promptText === 'string' && promptText !== '[redacted]') { | ||
| const analysis = this.promptAnalyzer.analyze(promptText); | ||
| Object.assign(properties, { | ||
| prompt_word_count: analysis.word_count, | ||
| prompt_specificity_score: analysis.specificity_score, | ||
| prompt_interaction_type: analysis.interaction_type, | ||
| prompt_has_success_criteria: analysis.has_success_criteria, | ||
| prompt_has_format_spec: analysis.has_format_spec, | ||
| prompt_has_test_criteria: analysis.has_test_criteria, | ||
| prompt_has_context_references: analysis.has_context_references, | ||
| prompt_has_scope_definition: analysis.has_scope_definition, | ||
| prompt_has_error_handling_detail: analysis.has_error_handling_detail, | ||
| prompt_missing_dimensions: analysis.missing_dimensions, | ||
| }); | ||
| } | ||
| // Get user ID — use email from hook payload if provided (Cursor sends it directly) | ||
| const userId = await this.getUserId(hookEvent.data?.user_email); | ||
| return { | ||
@@ -178,6 +207,11 @@ event: hookEvent.type, | ||
| } | ||
| async getUserId() { | ||
| async getUserId(emailHint) { | ||
| if (this.cachedUserId) { | ||
| return this.cachedUserId; | ||
| } | ||
| // 0. Email supplied directly by the hook payload (Cursor provides user_email) | ||
| if (emailHint) { | ||
| this.cachedUserId = this.config.privacy.hashUserIds ? this.hash(emailHint) : emailHint; | ||
| return this.cachedUserId; | ||
| } | ||
| // 1. Claude account UUID — stable, already opaque, no hashing needed | ||
@@ -259,2 +293,18 @@ const claudeUuid = this.getClaudeAccountUuid(); | ||
| } | ||
| async getGitUserInfo() { | ||
| try { | ||
| const git = (0, simple_git_1.default)(); | ||
| const [email, name] = await Promise.all([ | ||
| git.raw(['config', '--global', 'user.email']).then(s => s.trim()).catch(() => null), | ||
| git.raw(['config', '--global', 'user.name']).then(s => s.trim()).catch(() => null), | ||
| ]); | ||
| return { | ||
| git_user_email: email && this.config.privacy.hashUserIds ? this.hash(email) : email, | ||
| git_user_name: name, | ||
| }; | ||
| } | ||
| catch { | ||
| return {}; | ||
| } | ||
| } | ||
| hash(input) { | ||
@@ -261,0 +311,0 @@ return crypto.createHash('sha256').update(input).digest('hex').substring(0, 16); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"enricher.js","sourceRoot":"","sources":["../enricher.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"enricher.js","sourceRoot":"","sources":["../enricher.ts"],"names":[],"mappings":"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"} |
@@ -98,4 +98,4 @@ "use strict"; | ||
| try { | ||
| const hooks = JSON.parse(fs.readFileSync(hooksPath, 'utf-8')); | ||
| return !!(hooks.hooks?.onChatStart || hooks.hooks?.onChatMessage); | ||
| const settings = JSON.parse(fs.readFileSync(hooksPath, 'utf-8')); | ||
| return !!(settings.hooks?.postToolUse || settings.hooks?.sessionStart); | ||
| } | ||
@@ -102,0 +102,0 @@ catch { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"health-monitor.js","sourceRoot":"","sources":["../health-monitor.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"health-monitor.js","sourceRoot":"","sources":["../health-monitor.ts"],"names":[],"mappings":"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"} |
@@ -16,9 +16,8 @@ export interface HookEvent { | ||
| /** Fast path: map → filter → queue. Exits in <5ms. No network, no git. */ | ||
| queueEvent(eventType: string, eventData: any): Promise<void>; | ||
| handleEvent(eventType: string, eventData: any): Promise<void>; | ||
| queueEvent(hookType: string, eventData: any): Promise<void>; | ||
| handleEvent(hookType: string, eventData: any): Promise<void>; | ||
| private mapEvent; | ||
| private applyPrivacyFilters; | ||
| private redactSecrets; | ||
| private estimateTokens; | ||
| } | ||
| //# sourceMappingURL=hooks-listener.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"hooks-listener.d.ts","sourceRoot":"","sources":["../hooks-listener.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAChC;AAED,qBAAa,aAAa;IAExB,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAS;;IAMvB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,UAAU;IAKZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,0EAA0E;IACpE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BnE,OAAO,CAAC,QAAQ;IAgFhB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,cAAc;CAIvB"} | ||
| {"version":3,"file":"hooks-listener.d.ts","sourceRoot":"","sources":["../hooks-listener.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAChC;AAED,qBAAa,aAAa;IAExB,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAS;;IAMvB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,UAAU;IAKZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,0EAA0E;IACpE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlE,OAAO,CAAC,QAAQ;IAiIhB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,aAAa;CAStB"} |
+103
-80
@@ -31,30 +31,25 @@ "use strict"; | ||
| /** Fast path: map → filter → queue. Exits in <5ms. No network, no git. */ | ||
| async queueEvent(eventType, eventData) { | ||
| const event = this.mapEvent(eventType, eventData); | ||
| async queueEvent(hookType, eventData) { | ||
| const event = this.mapEvent(hookType, eventData); | ||
| if (!event) { | ||
| logger_1.logger.warn('Unknown Cursor event type', { eventType }); | ||
| logger_1.logger.warn('Unknown Cursor hook type', { hookType }); | ||
| return; | ||
| } | ||
| new queue_1.Queue().append(this.applyPrivacyFilters(event)); | ||
| logger_1.logger.debug('Cursor event queued', { eventType }); | ||
| logger_1.logger.debug('Cursor event queued', { hookType }); | ||
| } | ||
| async handleEvent(eventType, eventData) { | ||
| async handleEvent(hookType, eventData) { | ||
| try { | ||
| logger_1.logger.debug('Received hook event', { eventType, eventData }); | ||
| // Map Cursor hook types to our event types | ||
| const event = this.mapEvent(eventType, eventData); | ||
| const event = this.mapEvent(hookType, eventData); | ||
| if (!event) { | ||
| logger_1.logger.warn('Unknown event type', { eventType }); | ||
| logger_1.logger.warn('Unknown Cursor hook type', { hookType }); | ||
| return; | ||
| } | ||
| // Apply privacy filters before enriching | ||
| const filteredEvent = this.applyPrivacyFilters(event); | ||
| // Enrich with context | ||
| const enrichedEvent = await this.getEnricher().enrich(filteredEvent); | ||
| // Send to batcher | ||
| await this.getBatcher().add(enrichedEvent); | ||
| logger_1.logger.debug('Event processed', { event: enrichedEvent.event }); | ||
| const filtered = this.applyPrivacyFilters(event); | ||
| const enriched = await this.getEnricher().enrich(filtered); | ||
| await this.getBatcher().add(enriched); | ||
| logger_1.logger.debug('Cursor event processed', { event: enriched.event }); | ||
| } | ||
| catch (error) { | ||
| logger_1.logger.error('Failed to handle event', { error, eventType }); | ||
| logger_1.logger.error('Failed to handle Cursor hook event', { error, hookType }); | ||
| } | ||
@@ -64,69 +59,112 @@ } | ||
| const timestamp = new Date().toISOString(); | ||
| // Common fields present on every Cursor hook payload | ||
| const common = { | ||
| session_id: data.conversation_id, | ||
| model: data.model, | ||
| cursor_version: data.cursor_version, | ||
| workspace_roots: data.workspace_roots, | ||
| // user_email is optional but used by enricher for distinct_id resolution | ||
| user_email: data.user_email, | ||
| }; | ||
| switch (hookType) { | ||
| case 'chat-start': | ||
| case 'onChatStart': | ||
| case 'sessionStart': | ||
| return { | ||
| type: 'cursor_chat_started', | ||
| type: 'cursor_session_started', | ||
| data: { ...common }, | ||
| timestamp, | ||
| provider: 'cursor', | ||
| }; | ||
| case 'beforeSubmitPrompt': | ||
| return { | ||
| type: 'cursor_prompt_submitted', | ||
| data: { | ||
| chat_id: data.chatId || data.id, | ||
| workspace_path: data.workspacePath, | ||
| ...common, | ||
| prompt: this.config.capture.prompts ? data.prompt : '[redacted]', | ||
| prompt_length: data.prompt?.length ?? 0, | ||
| }, | ||
| timestamp, | ||
| provider: 'cursor', | ||
| }; | ||
| case 'chat-message': | ||
| case 'onChatMessage': | ||
| case 'postToolUse': | ||
| return { | ||
| type: data.role === 'user' ? 'cursor_message_sent' : 'cursor_message_received', | ||
| type: 'cursor_tool_used', | ||
| data: { | ||
| chat_id: data.chatId, | ||
| message_id: data.messageId || data.id, | ||
| content: this.config.capture.prompts || this.config.capture.responses | ||
| ? data.content | ||
| : '[redacted]', | ||
| role: data.role, | ||
| token_count: data.tokenCount || this.estimateTokens(data.content), | ||
| ...common, | ||
| tool_name: data.tool_name, | ||
| tool_input: this.config.capture.prompts ? data.tool_input : undefined, | ||
| exit_code: data.exit_code ?? null, | ||
| }, | ||
| timestamp: data.timestamp || timestamp, | ||
| timestamp, | ||
| provider: 'cursor', | ||
| }; | ||
| case 'code-edit': | ||
| case 'onCodeEdit': | ||
| case 'afterFileEdit': | ||
| return { | ||
| type: 'cursor_code_edited', | ||
| type: 'cursor_file_edited', | ||
| data: { | ||
| chat_id: data.chatId, | ||
| files: this.config.capture.filePaths ? data.files : data.files?.map((f) => ({ | ||
| lines_added: f.linesAdded, | ||
| lines_removed: f.linesRemoved, | ||
| type: f.type, | ||
| })), | ||
| total_lines_added: data.files?.reduce((sum, f) => sum + (f.linesAdded || 0), 0), | ||
| total_lines_removed: data.files?.reduce((sum, f) => sum + (f.linesRemoved || 0), 0), | ||
| ...common, | ||
| file_path: this.config.capture.filePaths ? data.file_path : undefined, | ||
| }, | ||
| timestamp: data.timestamp || timestamp, | ||
| timestamp, | ||
| provider: 'cursor', | ||
| }; | ||
| case 'chat-end': | ||
| case 'onChatEnd': | ||
| case 'stop': | ||
| return { | ||
| type: 'cursor_chat_ended', | ||
| type: 'cursor_session_stopped', | ||
| data: { ...common }, | ||
| timestamp, | ||
| provider: 'cursor', | ||
| }; | ||
| case 'subagentStart': | ||
| return { | ||
| type: 'cursor_subagent_started', | ||
| data: { ...common }, | ||
| timestamp, | ||
| provider: 'cursor', | ||
| }; | ||
| case 'subagentStop': | ||
| return { | ||
| type: 'cursor_subagent_stopped', | ||
| data: { ...common }, | ||
| timestamp, | ||
| provider: 'cursor', | ||
| }; | ||
| case 'preToolUse': | ||
| return { | ||
| type: 'cursor_tool_pre_use', | ||
| data: { | ||
| chat_id: data.chatId, | ||
| duration: data.duration, | ||
| total_messages: data.totalMessages, | ||
| total_tokens: data.totalTokens, | ||
| ...common, | ||
| tool_name: data.tool_name, | ||
| }, | ||
| timestamp: data.timestamp || timestamp, | ||
| timestamp, | ||
| provider: 'cursor', | ||
| }; | ||
| case 'agent-think': | ||
| case 'onAgentThink': | ||
| if (!this.config.capture.agentThinking) { | ||
| return null; | ||
| } | ||
| case 'afterAgentResponse': | ||
| return { | ||
| type: 'cursor_agent_thinking', | ||
| type: 'cursor_agent_responded', | ||
| data: { | ||
| chat_id: data.chatId, | ||
| thinking: data.thinking, | ||
| ...common, | ||
| response_length: data.response?.length ?? 0, | ||
| response: this.config.capture.responses ? data.response : undefined, | ||
| }, | ||
| timestamp: data.timestamp || timestamp, | ||
| timestamp, | ||
| provider: 'cursor', | ||
| }; | ||
| case 'afterAgentThought': | ||
| return { | ||
| type: 'cursor_agent_thought', | ||
| data: { | ||
| ...common, | ||
| thought_length: data.thought?.length ?? 0, | ||
| thought: this.config.capture.agentThinking ? data.thought : undefined, | ||
| }, | ||
| timestamp, | ||
| provider: 'cursor', | ||
| }; | ||
| case 'preCompact': | ||
| return { | ||
| type: 'cursor_pre_compact', | ||
| data: { ...common }, | ||
| timestamp, | ||
| provider: 'cursor', | ||
| }; | ||
| default: | ||
@@ -137,35 +175,20 @@ return null; | ||
| applyPrivacyFilters(event) { | ||
| if (!this.config.privacy.redactSecrets) { | ||
| if (!this.config.privacy.redactSecrets) | ||
| return event; | ||
| if (event.data.prompt) { | ||
| event.data.prompt = this.redactSecrets(event.data.prompt); | ||
| } | ||
| // Redact secrets from content | ||
| if (event.data.content) { | ||
| event.data.content = this.redactSecrets(event.data.content); | ||
| } | ||
| if (event.data.thinking) { | ||
| event.data.thinking = this.redactSecrets(event.data.thinking); | ||
| } | ||
| return event; | ||
| } | ||
| redactSecrets(text) { | ||
| // API keys | ||
| text = text.replace(/api[_-]?key[s]?['"]?\s*[:=]\s*['"]?([A-Za-z0-9_-]{20,})/gi, 'api_key=[REDACTED]'); | ||
| // Bearer tokens | ||
| text = text.replace(/Bearer\s+([A-Za-z0-9_-]{20,})/gi, 'Bearer [REDACTED]'); | ||
| // JWT tokens | ||
| text = text.replace(/eyJ[A-Za-z0-9_-]+\.eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g, '[JWT_REDACTED]'); | ||
| // Passwords | ||
| text = text.replace(/password['"]?\s*[:=]\s*['"]?([^\s'"]+)/gi, 'password=[REDACTED]'); | ||
| // Connection strings | ||
| text = text.replace(/(postgres|mysql|mongodb):\/\/[^@]+@/g, '$1://[USER]:[PASSWORD]@'); | ||
| // AWS keys | ||
| text = text.replace(/AKIA[0-9A-Z]{16}/g, '[AWS_KEY_REDACTED]'); | ||
| return text; | ||
| } | ||
| estimateTokens(text) { | ||
| // Rough estimate: ~4 characters per token | ||
| return Math.ceil(text.length / 4); | ||
| } | ||
| } | ||
| exports.HooksListener = HooksListener; | ||
| //# sourceMappingURL=hooks-listener.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"hooks-listener.js","sourceRoot":"","sources":["../hooks-listener.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"hooks-listener.js","sourceRoot":"","sources":["../hooks-listener.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"install-service.d.ts","sourceRoot":"","sources":["../install-service.ts"],"names":[],"mappings":"AAoCA,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,kBAAkB,CAAS;;IAU7B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB7B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB/B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCnC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3C,MAAM,CAAC,QAAQ,CAAC,WAAW,8BAA8B;IAEzD,MAAM,CAAC,WAAW,IAAI,IAAI;IAqB1B,MAAM,CAAC,aAAa,IAAI,IAAI;IAmB5B,MAAM,CAAC,eAAe,IAAI,OAAO;CASlC"} | ||
| {"version":3,"file":"install-service.d.ts","sourceRoot":"","sources":["../install-service.ts"],"names":[],"mappings":"AA8BA,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,kBAAkB,CAAS;;IAU7B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B7B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB/B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCnC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3C,MAAM,CAAC,QAAQ,CAAC,WAAW,8BAA8B;IAEzD,MAAM,CAAC,WAAW,IAAI,IAAI;IAyB1B,MAAM,CAAC,aAAa,IAAI,IAAI;IAmB5B,MAAM,CAAC,eAAe,IAAI,OAAO;CASlC"} |
+43
-30
@@ -42,25 +42,19 @@ "use strict"; | ||
| const config_1 = require("./config"); | ||
| const CURSOR_HOOKS_CONFIG = { | ||
| hooks: { | ||
| onChatStart: { | ||
| command: 'coding-analytics', | ||
| args: ['hook', 'chat-start', '--data', '$EVENT_DATA'], | ||
| }, | ||
| onChatMessage: { | ||
| command: 'coding-analytics', | ||
| args: ['hook', 'chat-message', '--data', '$EVENT_DATA'], | ||
| }, | ||
| onCodeEdit: { | ||
| command: 'coding-analytics', | ||
| args: ['hook', 'code-edit', '--data', '$EVENT_DATA'], | ||
| }, | ||
| onChatEnd: { | ||
| command: 'coding-analytics', | ||
| args: ['hook', 'chat-end', '--data', '$EVENT_DATA'], | ||
| }, | ||
| }, | ||
| }; | ||
| const CURSOR_HOOK_TYPES = [ | ||
| 'sessionStart', | ||
| 'beforeSubmitPrompt', | ||
| 'preToolUse', | ||
| 'postToolUse', | ||
| 'afterFileEdit', | ||
| 'afterAgentResponse', | ||
| 'afterAgentThought', | ||
| 'stop', | ||
| 'subagentStart', | ||
| 'subagentStop', | ||
| 'preCompact', | ||
| ]; | ||
| const CLAUDE_HOOK_TYPES = [ | ||
| 'SessionStart', | ||
| 'UserPromptSubmit', | ||
| 'PreToolUse', | ||
| 'PostToolUse', | ||
@@ -82,6 +76,6 @@ 'SubagentStart', | ||
| } | ||
| let existing = {}; | ||
| let settings = {}; | ||
| if (fs.existsSync(this.cursorHooksPath)) { | ||
| try { | ||
| existing = JSON.parse(fs.readFileSync(this.cursorHooksPath, 'utf-8')); | ||
| settings = JSON.parse(fs.readFileSync(this.cursorHooksPath, 'utf-8')); | ||
| } | ||
@@ -92,4 +86,14 @@ catch { | ||
| } | ||
| const merged = { ...existing, ...CURSOR_HOOKS_CONFIG }; | ||
| fs.writeFileSync(this.cursorHooksPath, JSON.stringify(merged, null, 2)); | ||
| settings.version = 1; | ||
| if (!settings.hooks) | ||
| settings.hooks = {}; | ||
| for (const hookType of CURSOR_HOOK_TYPES) { | ||
| const existing = settings.hooks[hookType] ?? []; | ||
| const withoutOurs = existing.filter((h) => !h.command?.startsWith('coding-analytics')); | ||
| settings.hooks[hookType] = [ | ||
| ...withoutOurs, | ||
| { type: 'command', command: `coding-analytics hook ${hookType}` }, | ||
| ]; | ||
| } | ||
| fs.writeFileSync(this.cursorHooksPath, JSON.stringify(settings, null, 2)); | ||
| } | ||
@@ -100,9 +104,14 @@ async uninstallHooks() { | ||
| try { | ||
| const existing = JSON.parse(fs.readFileSync(this.cursorHooksPath, 'utf-8')); | ||
| if (existing.hooks) { | ||
| for (const hook of Object.keys(CURSOR_HOOKS_CONFIG.hooks)) { | ||
| delete existing.hooks[hook]; | ||
| const settings = JSON.parse(fs.readFileSync(this.cursorHooksPath, 'utf-8')); | ||
| if (settings.hooks) { | ||
| for (const hookType of CURSOR_HOOK_TYPES) { | ||
| if (!settings.hooks[hookType]) | ||
| continue; | ||
| settings.hooks[hookType] = settings.hooks[hookType].filter((h) => !h.command?.startsWith('coding-analytics')); | ||
| if (settings.hooks[hookType].length === 0) { | ||
| delete settings.hooks[hookType]; | ||
| } | ||
| } | ||
| } | ||
| fs.writeFileSync(this.cursorHooksPath, JSON.stringify(existing, null, 2)); | ||
| fs.writeFileSync(this.cursorHooksPath, JSON.stringify(settings, null, 2)); | ||
| } | ||
@@ -174,4 +183,8 @@ catch { | ||
| const binPath = (0, child_process_1.execSync)('which coding-analytics').toString().trim(); | ||
| // Cron runs with a bare PATH (/usr/bin:/bin) so `node` is not found. | ||
| // Capture the full node directory at install time and inject it into PATH. | ||
| const nodePath = (0, child_process_1.execSync)('which node').toString().trim(); | ||
| const nodeDir = path.dirname(nodePath); | ||
| const logPath = path.join(config_1.Config.getDataDir(), 'logs', 'flush.log'); | ||
| const cronLine = `*/5 * * * * ${binPath} flush >> ${logPath} 2>&1 ${InstallService.CRON_MARKER}`; | ||
| const cronLine = `*/5 * * * * PATH=${nodeDir}:/usr/local/bin:/usr/bin:/bin ${binPath} flush >> ${logPath} 2>&1 ${InstallService.CRON_MARKER}`; | ||
| let existing = ''; | ||
@@ -178,0 +191,0 @@ try { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"install-service.js","sourceRoot":"","sources":["../install-service.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"install-service.js","sourceRoot":"","sources":["../install-service.ts"],"names":[],"mappings":"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"} |
+2
-2
| { | ||
| "name": "@tekdi/coding-analytics", | ||
| "version": "1.0.0", | ||
| "description": "Monitor Cursor AI usage and send analytics to PostHog", | ||
| "version": "1.0.1", | ||
| "description": "Monitor Cursor & Claude Code usage and send analytics to PostHog. Uses hooks to capture events.", | ||
| "main": "dist/cli.js", | ||
@@ -6,0 +6,0 @@ "bin": { |
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 3 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 3 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
179329
23.41%58
18.37%2418
14.27%0
-100%397
Infinity%17
13.33%