@code-insights/cli 1.2.0 ā 2.1.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/CHANGELOG.md +26 -0
- package/README.md +101 -9
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +130 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +7 -1
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +52 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install-hook.d.ts.map +1 -1
- package/dist/commands/install-hook.js +16 -3
- package/dist/commands/install-hook.js.map +1 -1
- package/dist/commands/open.d.ts +9 -0
- package/dist/commands/open.d.ts.map +1 -0
- package/dist/commands/open.js +59 -0
- package/dist/commands/open.js.map +1 -0
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +14 -1
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/stats/actions/cost.d.ts +3 -0
- package/dist/commands/stats/actions/cost.d.ts.map +1 -0
- package/dist/commands/stats/actions/cost.js +139 -0
- package/dist/commands/stats/actions/cost.js.map +1 -0
- package/dist/commands/stats/actions/error-handler.d.ts +6 -0
- package/dist/commands/stats/actions/error-handler.d.ts.map +1 -0
- package/dist/commands/stats/actions/error-handler.js +42 -0
- package/dist/commands/stats/actions/error-handler.js.map +1 -0
- package/dist/commands/stats/actions/models.d.ts +3 -0
- package/dist/commands/stats/actions/models.d.ts.map +1 -0
- package/dist/commands/stats/actions/models.js +101 -0
- package/dist/commands/stats/actions/models.js.map +1 -0
- package/dist/commands/stats/actions/overview.d.ts +3 -0
- package/dist/commands/stats/actions/overview.d.ts.map +1 -0
- package/dist/commands/stats/actions/overview.js +147 -0
- package/dist/commands/stats/actions/overview.js.map +1 -0
- package/dist/commands/stats/actions/projects.d.ts +3 -0
- package/dist/commands/stats/actions/projects.d.ts.map +1 -0
- package/dist/commands/stats/actions/projects.js +90 -0
- package/dist/commands/stats/actions/projects.js.map +1 -0
- package/dist/commands/stats/actions/today.d.ts +3 -0
- package/dist/commands/stats/actions/today.d.ts.map +1 -0
- package/dist/commands/stats/actions/today.js +118 -0
- package/dist/commands/stats/actions/today.js.map +1 -0
- package/dist/commands/stats/data/aggregation.d.ts +60 -0
- package/dist/commands/stats/data/aggregation.d.ts.map +1 -0
- package/dist/commands/stats/data/aggregation.js +614 -0
- package/dist/commands/stats/data/aggregation.js.map +1 -0
- package/dist/commands/stats/data/cache.d.ts +29 -0
- package/dist/commands/stats/data/cache.d.ts.map +1 -0
- package/dist/commands/stats/data/cache.js +197 -0
- package/dist/commands/stats/data/cache.js.map +1 -0
- package/dist/commands/stats/data/firestore.d.ts +13 -0
- package/dist/commands/stats/data/firestore.d.ts.map +1 -0
- package/dist/commands/stats/data/firestore.js +170 -0
- package/dist/commands/stats/data/firestore.js.map +1 -0
- package/dist/commands/stats/data/fuzzy-match.d.ts +5 -0
- package/dist/commands/stats/data/fuzzy-match.d.ts.map +1 -0
- package/dist/commands/stats/data/fuzzy-match.js +36 -0
- package/dist/commands/stats/data/fuzzy-match.js.map +1 -0
- package/dist/commands/stats/data/local.d.ts +12 -0
- package/dist/commands/stats/data/local.d.ts.map +1 -0
- package/dist/commands/stats/data/local.js +81 -0
- package/dist/commands/stats/data/local.js.map +1 -0
- package/dist/commands/stats/data/source.d.ts +13 -0
- package/dist/commands/stats/data/source.d.ts.map +1 -0
- package/dist/commands/stats/data/source.js +41 -0
- package/dist/commands/stats/data/source.js.map +1 -0
- package/dist/commands/stats/data/types.d.ts +229 -0
- package/dist/commands/stats/data/types.d.ts.map +1 -0
- package/dist/commands/stats/data/types.js +50 -0
- package/dist/commands/stats/data/types.js.map +1 -0
- package/dist/commands/stats/index.d.ts +3 -0
- package/dist/commands/stats/index.d.ts.map +1 -0
- package/dist/commands/stats/index.js +41 -0
- package/dist/commands/stats/index.js.map +1 -0
- package/dist/commands/stats/render/charts.d.ts +9 -0
- package/dist/commands/stats/render/charts.d.ts.map +1 -0
- package/dist/commands/stats/render/charts.js +45 -0
- package/dist/commands/stats/render/charts.js.map +1 -0
- package/dist/commands/stats/render/colors.d.ts +21 -0
- package/dist/commands/stats/render/colors.d.ts.map +1 -0
- package/dist/commands/stats/render/colors.js +47 -0
- package/dist/commands/stats/render/colors.js.map +1 -0
- package/dist/commands/stats/render/format.d.ts +10 -0
- package/dist/commands/stats/render/format.d.ts.map +1 -0
- package/dist/commands/stats/render/format.js +57 -0
- package/dist/commands/stats/render/format.js.map +1 -0
- package/dist/commands/stats/render/layout.d.ts +10 -0
- package/dist/commands/stats/render/layout.d.ts.map +1 -0
- package/dist/commands/stats/render/layout.js +48 -0
- package/dist/commands/stats/render/layout.js.map +1 -0
- package/dist/commands/stats/shared.d.ts +6 -0
- package/dist/commands/stats/shared.d.ts.map +1 -0
- package/dist/commands/stats/shared.js +26 -0
- package/dist/commands/stats/shared.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +50 -37
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/sync.d.ts +16 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +196 -79
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/telemetry.d.ts +3 -0
- package/dist/commands/telemetry.d.ts.map +1 -0
- package/dist/commands/telemetry.js +106 -0
- package/dist/commands/telemetry.js.map +1 -0
- package/dist/firebase/client.d.ts +5 -0
- package/dist/firebase/client.d.ts.map +1 -1
- package/dist/firebase/client.js +5 -2
- package/dist/firebase/client.js.map +1 -1
- package/dist/index.js +21 -4
- package/dist/index.js.map +1 -1
- package/dist/parser/jsonl.js +3 -2
- package/dist/parser/jsonl.js.map +1 -1
- package/dist/providers/claude-code.d.ts.map +1 -1
- package/dist/providers/claude-code.js +5 -1
- package/dist/providers/claude-code.js.map +1 -1
- package/dist/providers/codex.d.ts +14 -0
- package/dist/providers/codex.d.ts.map +1 -0
- package/dist/providers/codex.js +364 -0
- package/dist/providers/codex.js.map +1 -0
- package/dist/providers/copilot-cli.d.ts +14 -0
- package/dist/providers/copilot-cli.d.ts.map +1 -0
- package/dist/providers/copilot-cli.js +363 -0
- package/dist/providers/copilot-cli.js.map +1 -0
- package/dist/providers/cursor.d.ts +27 -0
- package/dist/providers/cursor.d.ts.map +1 -0
- package/dist/providers/cursor.js +446 -0
- package/dist/providers/cursor.js.map +1 -0
- package/dist/providers/registry.d.ts +0 -4
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +9 -6
- package/dist/providers/registry.js.map +1 -1
- package/dist/types.d.ts +5 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/config.d.ts +10 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +21 -0
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/paths.d.ts +10 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +16 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/telemetry.d.ts +52 -0
- package/dist/utils/telemetry.d.ts.map +1 -0
- package/dist/utils/telemetry.js +304 -0
- package/dist/utils/telemetry.js.map +1 -0
- package/dist/utils/tips.d.ts +11 -0
- package/dist/utils/tips.d.ts.map +1 -0
- package/dist/utils/tips.js +106 -0
- package/dist/utils/tips.js.map +1 -0
- package/dist/utils/welcome.d.ts +11 -0
- package/dist/utils/welcome.d.ts.map +1 -0
- package/dist/utils/welcome.js +72 -0
- package/dist/utils/welcome.js.map +1 -0
- package/package.json +9 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@code-insights/cli` will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [2.0.0] - 2026-02-26
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **Terminal analytics suite** ā `stats`, `stats cost`, `stats projects`, `stats today`, `stats models` commands
|
|
9
|
+
- **Multi-tool support** ā Cursor, Codex CLI, and Copilot CLI session providers
|
|
10
|
+
- **Zero-config mode** ā Local-first stats without Firebase setup
|
|
11
|
+
- **`open` command** ā Launch web dashboard from terminal
|
|
12
|
+
- **Anonymous telemetry** ā Opt-out usage analytics (`telemetry` command)
|
|
13
|
+
- **Contextual tips** ā Post-command suggestions and one-time welcome message
|
|
14
|
+
- **Fuzzy project matching** ā `--project` flag uses Levenshtein distance matching
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
- Improved error messages for unconfigured commands
|
|
18
|
+
- Cross-platform path handling (experimental Windows support)
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
- `init` defaults to local data source (Firebase optional)
|
|
22
|
+
- `firebase` config field is now optional for backward compatibility
|
|
23
|
+
|
|
24
|
+
## [1.0.2] - 2026-02-20
|
|
25
|
+
|
|
26
|
+
Initial public release with Claude Code session parsing, Firestore sync, and web dashboard integration.
|
package/README.md
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
# Code Insights CLI
|
|
2
2
|
|
|
3
|
-
Command-line tool that parses
|
|
3
|
+
Command-line tool that parses AI coding session history and provides terminal analytics. Optionally syncs to your own Firebase Firestore for the web dashboard.
|
|
4
4
|
|
|
5
5
|
Full documentation: [docs.code-insights.app](https://docs.code-insights.app)
|
|
6
6
|
|
|
7
7
|
## Prerequisites
|
|
8
8
|
|
|
9
9
|
- **Node.js** 18 or later
|
|
10
|
-
-
|
|
10
|
+
- **For local-only stats:** No additional setup required
|
|
11
|
+
- **For Firebase sync + web dashboard:** A Firebase project with Firestore enabled (see [Quick Start](https://docs.code-insights.app/getting-started/quick-start/))
|
|
11
12
|
|
|
12
13
|
## Installation
|
|
13
14
|
|
|
@@ -25,7 +26,7 @@ code-insights --version
|
|
|
25
26
|
|
|
26
27
|
### `code-insights init`
|
|
27
28
|
|
|
28
|
-
Configure Code Insights with your Firebase credentials.
|
|
29
|
+
Configure Code Insights with your data source preference and optional Firebase credentials.
|
|
29
30
|
|
|
30
31
|
```bash
|
|
31
32
|
# Quick setup ā import directly from files (recommended)
|
|
@@ -33,18 +34,65 @@ code-insights init \
|
|
|
33
34
|
--from-json ~/Downloads/serviceAccountKey.json \
|
|
34
35
|
--web-config ~/Downloads/firebase-web-config.js
|
|
35
36
|
|
|
36
|
-
# Interactive setup ā prompts for
|
|
37
|
+
# Interactive setup ā prompts for data source + credentials
|
|
37
38
|
code-insights init
|
|
38
39
|
```
|
|
39
40
|
|
|
40
41
|
**Flags:**
|
|
41
|
-
- `--from-json <path>` ā Path to the Firebase service account key (
|
|
42
|
-
- `--web-config <path>` ā Path to the Firebase web SDK config (
|
|
42
|
+
- `--from-json <path>` ā Path to the Firebase service account key (auto-sets data source to Firebase)
|
|
43
|
+
- `--web-config <path>` ā Path to the Firebase web SDK config (JSON or JS snippet)
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
During interactive setup, the CLI first asks for your preferred data source:
|
|
46
|
+
- **Local** (recommended) ā Stats read from local session files. No Firebase required.
|
|
47
|
+
- **Firebase** ā Stats read from Firestore. Requires Firebase credentials.
|
|
45
48
|
|
|
46
49
|
Configuration is stored in `~/.code-insights/config.json`. Web config is stored separately in `~/.code-insights/web-config.json`.
|
|
47
50
|
|
|
51
|
+
### `code-insights stats`
|
|
52
|
+
|
|
53
|
+
Terminal analytics for your AI coding sessions. Works without Firebase.
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Dashboard overview (default: last 7 days)
|
|
57
|
+
code-insights stats
|
|
58
|
+
|
|
59
|
+
# Cost breakdown by project and model
|
|
60
|
+
code-insights stats cost
|
|
61
|
+
|
|
62
|
+
# Per-project detail cards with sparklines
|
|
63
|
+
code-insights stats projects
|
|
64
|
+
|
|
65
|
+
# Today's sessions with time, cost, model details
|
|
66
|
+
code-insights stats today
|
|
67
|
+
|
|
68
|
+
# Model usage distribution and cost chart
|
|
69
|
+
code-insights stats models
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Shared flags:**
|
|
73
|
+
|
|
74
|
+
| Flag | Short | Description |
|
|
75
|
+
|------|-------|-------------|
|
|
76
|
+
| `--local` | | Force local data source (no Firebase) |
|
|
77
|
+
| `--remote` | | Force Firestore data source |
|
|
78
|
+
| `--period <range>` | | Time range: `7d`, `30d`, `90d`, or `all` (default: `7d`) |
|
|
79
|
+
| `--project <name>` | `-p` | Scope to a specific project (fuzzy matching) |
|
|
80
|
+
| `--source <tool>` | `-s` | Filter by source tool (e.g., `claude-code`, `cursor`) |
|
|
81
|
+
| `--no-sync` | | Skip auto-sync before displaying stats |
|
|
82
|
+
|
|
83
|
+
### `code-insights config`
|
|
84
|
+
|
|
85
|
+
View and manage CLI configuration.
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# Show current configuration
|
|
89
|
+
code-insights config
|
|
90
|
+
|
|
91
|
+
# Set data source preference
|
|
92
|
+
code-insights config set-source local # Local-only mode
|
|
93
|
+
code-insights config set-source firebase # Firebase mode
|
|
94
|
+
```
|
|
95
|
+
|
|
48
96
|
### `code-insights connect`
|
|
49
97
|
|
|
50
98
|
Generate a URL to connect the web dashboard to your Firebase.
|
|
@@ -55,9 +103,23 @@ code-insights connect
|
|
|
55
103
|
|
|
56
104
|
The URL includes your Firebase web config base64-encoded as a query parameter. Open it in a browser to connect the dashboard to your Firestore ā no manual configuration needed.
|
|
57
105
|
|
|
106
|
+
### `code-insights open`
|
|
107
|
+
|
|
108
|
+
Open the web dashboard in your browser.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# Open the dashboard
|
|
112
|
+
code-insights open
|
|
113
|
+
|
|
114
|
+
# Open filtered to the current project
|
|
115
|
+
code-insights open --project
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
If Firebase web config is set up, the URL includes your config for automatic connection.
|
|
119
|
+
|
|
58
120
|
### `code-insights sync`
|
|
59
121
|
|
|
60
|
-
Sync
|
|
122
|
+
Sync sessions from all supported tools to Firestore.
|
|
61
123
|
|
|
62
124
|
```bash
|
|
63
125
|
# Sync new/modified sessions
|
|
@@ -72,22 +134,31 @@ code-insights sync --dry-run
|
|
|
72
134
|
# Sync specific project only
|
|
73
135
|
code-insights sync --project "my-project"
|
|
74
136
|
|
|
137
|
+
# Sync only from a specific tool
|
|
138
|
+
code-insights sync --source cursor
|
|
139
|
+
|
|
75
140
|
# Quiet mode (for hooks)
|
|
76
141
|
code-insights sync --quiet
|
|
77
142
|
|
|
78
143
|
# Regenerate titles for all sessions
|
|
79
144
|
code-insights sync --regenerate-titles
|
|
145
|
+
|
|
146
|
+
# Sync even when data source is set to local
|
|
147
|
+
code-insights sync --force-remote
|
|
80
148
|
```
|
|
81
149
|
|
|
150
|
+
> **Note:** When data source is set to `local`, sync shows a warning and exits. Use `--force-remote` to override, or switch with `config set-source firebase`.
|
|
151
|
+
|
|
82
152
|
### `code-insights status`
|
|
83
153
|
|
|
84
|
-
Show sync status and
|
|
154
|
+
Show sync status, statistics, and data source preference.
|
|
85
155
|
|
|
86
156
|
```bash
|
|
87
157
|
code-insights status
|
|
88
158
|
```
|
|
89
159
|
|
|
90
160
|
Displays:
|
|
161
|
+
- Data source preference (local or Firebase)
|
|
91
162
|
- Configuration status
|
|
92
163
|
- Total sessions synced
|
|
93
164
|
- Projects tracked
|
|
@@ -105,6 +176,8 @@ code-insights reset
|
|
|
105
176
|
code-insights reset --confirm
|
|
106
177
|
```
|
|
107
178
|
|
|
179
|
+
> **Note:** In local mode, this clears the local stats cache only. Firestore data is not affected.
|
|
180
|
+
|
|
108
181
|
### `code-insights install-hook`
|
|
109
182
|
|
|
110
183
|
Install a Claude Code hook for automatic sync after each session.
|
|
@@ -113,6 +186,8 @@ Install a Claude Code hook for automatic sync after each session.
|
|
|
113
186
|
code-insights install-hook
|
|
114
187
|
```
|
|
115
188
|
|
|
189
|
+
> **Note:** In local mode, the hook is not installed (sync requires Firebase).
|
|
190
|
+
|
|
116
191
|
### `code-insights uninstall-hook`
|
|
117
192
|
|
|
118
193
|
Remove the automatic sync hook.
|
|
@@ -121,6 +196,23 @@ Remove the automatic sync hook.
|
|
|
121
196
|
code-insights uninstall-hook
|
|
122
197
|
```
|
|
123
198
|
|
|
199
|
+
### `code-insights telemetry`
|
|
200
|
+
|
|
201
|
+
Manage anonymous usage telemetry. Telemetry is opt-out and helps improve the CLI.
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# Check telemetry status
|
|
205
|
+
code-insights telemetry status
|
|
206
|
+
|
|
207
|
+
# Disable telemetry
|
|
208
|
+
code-insights telemetry disable
|
|
209
|
+
|
|
210
|
+
# Re-enable telemetry
|
|
211
|
+
code-insights telemetry enable
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
No personally identifiable information is collected. See the [telemetry documentation](https://github.com/melagiri/code-insights) for details.
|
|
215
|
+
|
|
124
216
|
## How It Works
|
|
125
217
|
|
|
126
218
|
### Session Parsing
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkGpC,eAAO,MAAM,aAAa,SAItB,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { loadConfig, saveConfig, isConfigured, resolveDataSourcePreference, isFirebaseConfigured } from '../utils/config.js';
|
|
4
|
+
import { trackEvent } from '../utils/telemetry.js';
|
|
5
|
+
/**
|
|
6
|
+
* Show current configuration summary.
|
|
7
|
+
*/
|
|
8
|
+
function showConfigAction() {
|
|
9
|
+
if (!isConfigured()) {
|
|
10
|
+
console.log(chalk.yellow('\nNot configured. Run `code-insights init` to set up.\n'));
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const config = loadConfig();
|
|
14
|
+
if (!config) {
|
|
15
|
+
console.log(chalk.red('\nFailed to load config.\n'));
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const effectiveSource = resolveDataSourcePreference();
|
|
19
|
+
const firebaseConfigured = isFirebaseConfigured();
|
|
20
|
+
console.log(chalk.cyan('\n Code Insights Configuration\n'));
|
|
21
|
+
// Data source
|
|
22
|
+
console.log(chalk.white(' Data Source:'));
|
|
23
|
+
if (config.dataSource) {
|
|
24
|
+
console.log(chalk.gray(` Configured: ${config.dataSource}`));
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
console.log(chalk.gray(` Configured: (not set)`));
|
|
28
|
+
}
|
|
29
|
+
console.log(chalk.gray(` Effective: ${effectiveSource}`));
|
|
30
|
+
// Firebase
|
|
31
|
+
console.log(chalk.white('\n Firebase:'));
|
|
32
|
+
if (firebaseConfigured) {
|
|
33
|
+
console.log(chalk.green(` Status: configured`));
|
|
34
|
+
console.log(chalk.gray(` Project: ${config.firebase.projectId}`));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
console.log(chalk.yellow(` Status: not configured`));
|
|
38
|
+
}
|
|
39
|
+
// Sync
|
|
40
|
+
console.log(chalk.white('\n Sync:'));
|
|
41
|
+
console.log(chalk.gray(` Claude dir: ${config.sync.claudeDir}`));
|
|
42
|
+
if (config.sync.excludeProjects.length > 0) {
|
|
43
|
+
console.log(chalk.gray(` Excluded: ${config.sync.excludeProjects.join(', ')}`));
|
|
44
|
+
}
|
|
45
|
+
// Dashboard
|
|
46
|
+
if (config.dashboardUrl) {
|
|
47
|
+
console.log(chalk.white('\n Dashboard:'));
|
|
48
|
+
console.log(chalk.gray(` URL: ${config.dashboardUrl}`));
|
|
49
|
+
}
|
|
50
|
+
// Telemetry ā default is enabled; env vars can override at runtime
|
|
51
|
+
console.log(chalk.white('\n Telemetry:'));
|
|
52
|
+
const telemetryEnabled = config.telemetry !== false; // default true
|
|
53
|
+
if (process.env.CODE_INSIGHTS_TELEMETRY_DISABLED === '1' || process.env.DO_NOT_TRACK === '1') {
|
|
54
|
+
console.log(chalk.yellow(` Status: disabled (via env var)`));
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
console.log(chalk.gray(` Status: ${telemetryEnabled ? 'enabled' : 'disabled'}`));
|
|
58
|
+
}
|
|
59
|
+
console.log('');
|
|
60
|
+
trackEvent('config', true);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Set the preferred data source ('local' or 'firebase').
|
|
64
|
+
*/
|
|
65
|
+
function setSourceAction(source) {
|
|
66
|
+
if (source !== 'local' && source !== 'firebase') {
|
|
67
|
+
console.error(chalk.red(`\nInvalid source "${source}". Must be "local" or "firebase".\n`));
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
const config = loadConfig();
|
|
71
|
+
if (!config) {
|
|
72
|
+
console.error(chalk.red('\nNot configured. Run `code-insights init` first.\n'));
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
if (source === 'firebase' && !isFirebaseConfigured()) {
|
|
76
|
+
console.error(chalk.red('\nFirebase credentials not configured.'));
|
|
77
|
+
console.error(chalk.gray('Run `code-insights init` to add Firebase credentials before setting source to "firebase".\n'));
|
|
78
|
+
process.exit(1);
|
|
79
|
+
}
|
|
80
|
+
config.dataSource = source;
|
|
81
|
+
saveConfig(config);
|
|
82
|
+
console.log(chalk.green(`\nData source preference set to "${source}".\n`));
|
|
83
|
+
trackEvent('config', true, 'set-source');
|
|
84
|
+
}
|
|
85
|
+
export const configCommand = new Command('config')
|
|
86
|
+
.description('Show or update Code Insights configuration')
|
|
87
|
+
.action(() => {
|
|
88
|
+
showConfigAction();
|
|
89
|
+
});
|
|
90
|
+
configCommand
|
|
91
|
+
.command('set-source <source>')
|
|
92
|
+
.description('Set preferred data source (local or firebase)')
|
|
93
|
+
.action((source) => {
|
|
94
|
+
setSourceAction(source);
|
|
95
|
+
});
|
|
96
|
+
configCommand
|
|
97
|
+
.command('set <key> <value>')
|
|
98
|
+
.description('Set a configuration value (telemetry, source)')
|
|
99
|
+
.action((key, value) => {
|
|
100
|
+
if (key === 'telemetry') {
|
|
101
|
+
if (value !== 'true' && value !== 'false') {
|
|
102
|
+
console.error(chalk.red(`\nInvalid value "${value}". Must be "true" or "false".\n`));
|
|
103
|
+
process.exit(1);
|
|
104
|
+
}
|
|
105
|
+
const config = loadConfig();
|
|
106
|
+
if (!config) {
|
|
107
|
+
// No existing config ā create minimal one so telemetry pref is persisted
|
|
108
|
+
saveConfig({
|
|
109
|
+
sync: { claudeDir: '~/.claude/projects', excludeProjects: [] },
|
|
110
|
+
dataSource: 'local',
|
|
111
|
+
telemetry: value === 'true',
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
config.telemetry = value === 'true';
|
|
116
|
+
saveConfig(config);
|
|
117
|
+
}
|
|
118
|
+
console.log(chalk.green(`\nTelemetry ${value === 'true' ? 'enabled' : 'disabled'}.\n`));
|
|
119
|
+
trackEvent('config', true, 'set');
|
|
120
|
+
}
|
|
121
|
+
else if (key === 'source') {
|
|
122
|
+
setSourceAction(value);
|
|
123
|
+
// trackEvent already called inside setSourceAction
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
console.error(chalk.red(`\nUnknown config key "${key}". Available: telemetry, source.\n`));
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC7H,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD;;GAEG;AACH,SAAS,gBAAgB;IACvB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC,CAAC;QACrF,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,2BAA2B,EAAE,CAAC;IACtD,MAAM,kBAAkB,GAAG,oBAAoB,EAAE,CAAC;IAElD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAE7D,cAAc;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,eAAe,EAAE,CAAC,CAAC,CAAC;IAE9D,WAAW;IACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1C,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,QAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO;IACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACpE,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,YAAY;IACZ,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,mEAAmE;IACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,CAAE,eAAe;IACrE,IAAI,OAAO,CAAC,GAAG,CAAC,gCAAgC,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,EAAE,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,MAAM,qCAAqC,CAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,KAAK,UAAU,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC,CAAC;QACzH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,UAAU,GAAG,MAA8B,CAAC;IACnD,UAAU,CAAC,MAAM,CAAC,CAAC;IAEnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oCAAoC,MAAM,MAAM,CAAC,CAAC,CAAC;IAC3E,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,GAAG,EAAE;IACX,gBAAgB,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,aAAa;KACV,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,CAAC,MAAc,EAAE,EAAE;IACzB,eAAe,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEL,aAAa;KACV,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;IACrC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACxB,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,KAAK,iCAAiC,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,yEAAyE;YACzE,UAAU,CAAC;gBACT,IAAI,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE,eAAe,EAAE,EAAE,EAAE;gBAC9D,UAAU,EAAE,OAA+B;gBAC3C,SAAS,EAAE,KAAK,KAAK,MAAM;aAC5B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,SAAS,GAAG,KAAK,KAAK,MAAM,CAAC;YACpC,UAAU,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC;QACxF,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;SAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,mDAAmD;IACrD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,GAAG,oCAAoC,CAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAkCpD"}
|
package/dist/commands/connect.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { isConfigured, loadWebConfig, hasWebConfig } from '../utils/config.js';
|
|
3
|
+
import { trackEvent } from '../utils/telemetry.js';
|
|
3
4
|
import { generateDashboardUrl, validateWebConfig } from '../utils/firebase-json.js';
|
|
4
5
|
/**
|
|
5
6
|
* Generate and display the dashboard connection URL
|
|
@@ -7,7 +8,11 @@ import { generateDashboardUrl, validateWebConfig } from '../utils/firebase-json.
|
|
|
7
8
|
export async function connectCommand() {
|
|
8
9
|
if (!isConfigured()) {
|
|
9
10
|
console.log(chalk.red('\nā Code Insights is not configured.'));
|
|
10
|
-
console.log(chalk.gray('
|
|
11
|
+
console.log(chalk.gray('The connect command requires Firebase setup.\n'));
|
|
12
|
+
console.log(chalk.white(' To set up Firebase:'));
|
|
13
|
+
console.log(chalk.gray(' code-insights init\n'));
|
|
14
|
+
console.log(chalk.white(' For local-only analytics (no setup needed):'));
|
|
15
|
+
console.log(chalk.gray(' code-insights stats\n'));
|
|
11
16
|
return;
|
|
12
17
|
}
|
|
13
18
|
if (!hasWebConfig()) {
|
|
@@ -29,5 +34,6 @@ export async function connectCommand() {
|
|
|
29
34
|
console.log(chalk.white('Open this URL to connect the dashboard to your Firebase:'));
|
|
30
35
|
console.log(chalk.bold.underline(url));
|
|
31
36
|
console.log('');
|
|
37
|
+
trackEvent('connect', true);
|
|
32
38
|
}
|
|
33
39
|
//# sourceMappingURL=connect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGpF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGpF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,aAAa,EAAE,CAAC;IACtC,IAAI,CAAC,aAAa,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,aAAkC,CAAC;IACrD,MAAM,GAAG,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoErE"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import inquirer from 'inquirer';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import { saveConfig, saveWebConfig, getConfigDir, isConfigured } from '../utils/config.js';
|
|
4
|
+
import { trackEvent } from '../utils/telemetry.js';
|
|
4
5
|
import { readJsonFileWithError, readFirebaseConfigFile, validateServiceAccountJson, validateWebConfig, extractServiceAccountConfig, looksLikeWebConfig, looksLikeServiceAccount, } from '../utils/firebase-json.js';
|
|
5
6
|
const DEFAULT_DASHBOARD_URL = 'https://code-insights.app';
|
|
6
7
|
/**
|
|
@@ -8,6 +9,10 @@ const DEFAULT_DASHBOARD_URL = 'https://code-insights.app';
|
|
|
8
9
|
*/
|
|
9
10
|
export async function initCommand(options) {
|
|
10
11
|
console.log(chalk.cyan('\nš§ Code Insights Setup\n'));
|
|
12
|
+
// If --from-json or --web-config provided, auto-set firebase and proceed
|
|
13
|
+
if (options.fromJson || options.webConfig) {
|
|
14
|
+
return initFirebaseFlow(options, 'firebase');
|
|
15
|
+
}
|
|
11
16
|
if (isConfigured()) {
|
|
12
17
|
const { overwrite } = await inquirer.prompt([
|
|
13
18
|
{
|
|
@@ -22,6 +27,51 @@ export async function initCommand(options) {
|
|
|
22
27
|
return;
|
|
23
28
|
}
|
|
24
29
|
}
|
|
30
|
+
// --- Data Source Choice ---
|
|
31
|
+
const { dataSource } = await inquirer.prompt([
|
|
32
|
+
{
|
|
33
|
+
type: 'list',
|
|
34
|
+
name: 'dataSource',
|
|
35
|
+
message: 'How would you like to use Code Insights?',
|
|
36
|
+
choices: [
|
|
37
|
+
{
|
|
38
|
+
name: 'Local only (recommended) ā stats from local session files, no cloud setup',
|
|
39
|
+
value: 'local',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Firebase ā sync sessions to Firestore + web dashboard',
|
|
43
|
+
value: 'firebase',
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
default: 'local',
|
|
47
|
+
},
|
|
48
|
+
]);
|
|
49
|
+
if (dataSource === 'local') {
|
|
50
|
+
const config = {
|
|
51
|
+
sync: { claudeDir: '~/.claude/projects', excludeProjects: [] },
|
|
52
|
+
dataSource: 'local',
|
|
53
|
+
};
|
|
54
|
+
saveConfig(config);
|
|
55
|
+
console.log(chalk.green('\nā
Configuration saved!'));
|
|
56
|
+
console.log(chalk.gray(`Config location: ${getConfigDir()}/config.json`));
|
|
57
|
+
console.log(chalk.cyan('\nš Setup complete! Next steps:\n'));
|
|
58
|
+
console.log(chalk.white(' 1. View your stats:'));
|
|
59
|
+
console.log(chalk.gray(' code-insights stats\n'));
|
|
60
|
+
console.log(chalk.white(' 2. Check today\'s activity:'));
|
|
61
|
+
console.log(chalk.gray(' code-insights stats today\n'));
|
|
62
|
+
console.log(chalk.white(' 3. See cost breakdown:'));
|
|
63
|
+
console.log(chalk.gray(' code-insights stats cost\n'));
|
|
64
|
+
console.log(chalk.gray(' To switch to Firebase later: code-insights config set-source firebase\n'));
|
|
65
|
+
trackEvent('init', true);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
// Firebase flow
|
|
69
|
+
return initFirebaseFlow(options, 'firebase');
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Firebase initialization flow ā service account + web config
|
|
73
|
+
*/
|
|
74
|
+
async function initFirebaseFlow(options, dataSource) {
|
|
25
75
|
// --- Step 1: Service Account ---
|
|
26
76
|
let firebaseConfig;
|
|
27
77
|
if (options.fromJson) {
|
|
@@ -161,6 +211,7 @@ export async function initCommand(options) {
|
|
|
161
211
|
claudeDir: '~/.claude/projects',
|
|
162
212
|
excludeProjects: [],
|
|
163
213
|
},
|
|
214
|
+
dataSource,
|
|
164
215
|
dashboardUrl: DEFAULT_DASHBOARD_URL,
|
|
165
216
|
};
|
|
166
217
|
saveConfig(config);
|
|
@@ -172,5 +223,6 @@ export async function initCommand(options) {
|
|
|
172
223
|
console.log(chalk.gray(' code-insights sync\n'));
|
|
173
224
|
console.log(chalk.white(' 2. Connect the dashboard:'));
|
|
174
225
|
console.log(chalk.gray(' code-insights connect\n'));
|
|
226
|
+
trackEvent('init', true);
|
|
175
227
|
}
|
|
176
228
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-hook.d.ts","sourceRoot":"","sources":["../../src/commands/install-hook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install-hook.d.ts","sourceRoot":"","sources":["../../src/commands/install-hook.ts"],"names":[],"mappings":"AA6BA;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0ExD;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAqC1D"}
|
|
@@ -2,7 +2,8 @@ import * as fs from 'fs';
|
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import * as os from 'os';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
|
-
import { isConfigured } from '../utils/config.js';
|
|
5
|
+
import { isConfigured, resolveDataSourcePreference } from '../utils/config.js';
|
|
6
|
+
import { trackEvent } from '../utils/telemetry.js';
|
|
6
7
|
const CLAUDE_SETTINGS_DIR = path.join(os.homedir(), '.claude');
|
|
7
8
|
const HOOKS_FILE = path.join(CLAUDE_SETTINGS_DIR, 'settings.json');
|
|
8
9
|
/** Extract command string from both old (string) and new ({type, command}) hook formats */
|
|
@@ -16,8 +17,19 @@ export async function installHookCommand() {
|
|
|
16
17
|
console.log(chalk.cyan('\nš Install Code Insights Hook\n'));
|
|
17
18
|
// Check if configured
|
|
18
19
|
if (!isConfigured()) {
|
|
19
|
-
console.log(chalk.
|
|
20
|
-
|
|
20
|
+
console.log(chalk.yellow('\n The auto-sync hook requires Firebase to be configured.\n'));
|
|
21
|
+
console.log(chalk.white(' To set up Firebase:'));
|
|
22
|
+
console.log(chalk.gray(' code-insights init\n'));
|
|
23
|
+
console.log(chalk.white(' For local-only analytics (no hook needed):'));
|
|
24
|
+
console.log(chalk.gray(' code-insights stats\n'));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const preference = resolveDataSourcePreference();
|
|
28
|
+
if (preference === 'local') {
|
|
29
|
+
console.log(chalk.yellow('\n ā Data source is local. The auto-sync hook is only useful with Firebase.\n'));
|
|
30
|
+
console.log(chalk.gray(' Stats refresh automatically when you run `code-insights stats`.'));
|
|
31
|
+
console.log(chalk.gray(' To switch to Firebase: code-insights config set-source firebase\n'));
|
|
32
|
+
return;
|
|
21
33
|
}
|
|
22
34
|
// Get CLI path
|
|
23
35
|
const cliPath = process.argv[1];
|
|
@@ -61,6 +73,7 @@ export async function installHookCommand() {
|
|
|
61
73
|
console.log(chalk.white(' ⢠When a Claude Code session ends, the hook runs'));
|
|
62
74
|
console.log(chalk.white(' ⢠Sessions are automatically synced to your Firestore'));
|
|
63
75
|
console.log(chalk.white(' ⢠Check your dashboard for new insights'));
|
|
76
|
+
trackEvent('install-hook', true);
|
|
64
77
|
}
|
|
65
78
|
/**
|
|
66
79
|
* Uninstall Claude Code hook
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-hook.js","sourceRoot":"","sources":["../../src/commands/install-hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"install-hook.js","sourceRoot":"","sources":["../../src/commands/install-hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"AAQA,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBrE"}
|