canicode 0.3.2 → 0.4.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.
@@ -37,7 +37,7 @@ canicode analyze <url> --config ./my-config.json
37
37
  |-------|------|---------|-------------|
38
38
  | `excludeNodeTypes` | `string[]` | `[]` | Figma node types to skip entirely (node + children) |
39
39
  | `excludeNodeNames` | `string[]` | `[]` | Name patterns to skip (case-insensitive word match) |
40
- | `gridBase` | `number` | `8` | Spacing grid unit for `inconsistent-spacing` and `magic-number-spacing` |
40
+ | `gridBase` | `number` | `4` | Spacing grid unit for `inconsistent-spacing` and `magic-number-spacing` |
41
41
  | `colorTolerance` | `number` | `10` | Color difference tolerance for `multiple-fill-colors` |
42
42
  | `rules` | `object` | — | Per-rule overrides (see below) |
43
43
 
@@ -271,3 +271,34 @@ canicode analyze <url> --config ./config.json --custom-rules ./rules.json
271
271
  ```
272
272
 
273
273
  The config adjusts built-in rules, while custom rules add new checks on top.
274
+
275
+ ---
276
+
277
+ ## Telemetry
278
+
279
+ CanICode collects anonymous usage analytics via [PostHog](https://posthog.com) and error tracking via [Sentry](https://sentry.io). This helps improve the tool by understanding which features are used and catching errors early.
280
+
281
+ ### What is tracked
282
+
283
+ - Event names only (e.g. `analysis_completed`, `cli_command`)
284
+ - Aggregate metadata: node count, issue count, grade, duration
285
+ - Error messages (stack traces for debugging)
286
+
287
+ ### What is NOT tracked
288
+
289
+ - No design data, file contents, or Figma tokens
290
+ - No personally identifiable information
291
+ - No file names or URLs
292
+
293
+ ### How to opt out
294
+
295
+ ```bash
296
+ canicode config --no-telemetry # disable telemetry
297
+ canicode config --telemetry # re-enable telemetry
298
+ ```
299
+
300
+ Telemetry is enabled by default. When disabled, all monitoring functions become silent no-ops.
301
+
302
+ ### Dependencies
303
+
304
+ PostHog (`posthog-node`) and Sentry (`@sentry/node`) are optional peer dependencies. If they are not installed, monitoring degrades gracefully with no impact on functionality.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "canicode",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "description": "CLI tool that analyzes Figma design structures for development-friendliness and AI-friendliness scores",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",