cc-permissions 0.1.16 → 0.1.18

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.
Files changed (49) hide show
  1. package/README.md +12 -0
  2. package/dist/analyze-worker.d.ts +2 -0
  3. package/dist/analyze-worker.d.ts.map +1 -0
  4. package/dist/analyze-worker.js +12 -0
  5. package/dist/analyze-worker.js.map +1 -0
  6. package/dist/analyze.d.ts +1 -1
  7. package/dist/analyze.d.ts.map +1 -1
  8. package/dist/analyze.js +285 -24
  9. package/dist/analyze.js.map +1 -1
  10. package/dist/build-info.json +3 -3
  11. package/dist/cli.js +66 -12
  12. package/dist/cli.js.map +1 -1
  13. package/dist/format.d.ts +6 -0
  14. package/dist/format.d.ts.map +1 -1
  15. package/dist/format.js +6 -0
  16. package/dist/format.js.map +1 -1
  17. package/dist/spinner.d.ts +16 -0
  18. package/dist/spinner.d.ts.map +1 -0
  19. package/dist/spinner.js +98 -0
  20. package/dist/spinner.js.map +1 -0
  21. package/dist/templates/loader.d.ts.map +1 -1
  22. package/dist/templates/loader.js +33 -0
  23. package/dist/templates/loader.js.map +1 -1
  24. package/dist/types.d.ts +4 -1
  25. package/dist/types.d.ts.map +1 -1
  26. package/package.json +1 -1
  27. package/templates/aws-mcp.jsonc +36 -8
  28. package/templates/azure-sql-mcp.jsonc +4 -4
  29. package/templates/azure-storage-mcp.jsonc +24 -6
  30. package/templates/azure.jsonc +3 -1
  31. package/templates/bicep.jsonc +2 -1
  32. package/templates/chrome-devtools-mcp.jsonc +118 -0
  33. package/templates/docker-mcp.jsonc +40 -5
  34. package/templates/excel-mcp.jsonc +57 -0
  35. package/templates/firefox-devtools-mcp.jsonc +91 -0
  36. package/templates/git.jsonc +1 -2
  37. package/templates/github.jsonc +1 -1
  38. package/templates/gitlab-mcp.jsonc +154 -20
  39. package/templates/gitlab.jsonc +2 -2
  40. package/templates/mariadb-mcp.jsonc +20 -4
  41. package/templates/playwright-mcp.jsonc +8 -9
  42. package/templates/podman-mcp.jsonc +48 -0
  43. package/templates/podman.jsonc +104 -0
  44. package/templates/selenium-mcp.jsonc +34 -0
  45. package/templates/selenium.jsonc +48 -0
  46. package/templates/sqlite.jsonc +1 -1
  47. package/templates/template.schema.json +15 -0
  48. package/templates/terraform.jsonc +2 -1
  49. package/templates/typescript-mcp.jsonc +15 -3
package/README.md CHANGED
@@ -143,6 +143,8 @@ cc-permissions apply nodejs --level permissive
143
143
  | [docker](docs/templates/docker.md) | Docker, Docker Compose, and Buildx |
144
144
  | [docker-mcp](docs/templates/docker-mcp.md) | Docker MCP Server tools for container management |
145
145
  | [kubernetes](docs/templates/kubernetes.md) | kubectl, Helm, k9s, and Minikube |
146
+ | [podman](docs/templates/podman.md) | Podman, Podman Compose, and Podman Machine |
147
+ | [podman-mcp](docs/templates/podman-mcp.md) | Podman MCP Server tools for container management |
146
148
  | [terraform](docs/templates/terraform.md) | Terraform, Terragrunt, and tflint |
147
149
 
148
150
  ### Database
@@ -151,6 +153,7 @@ cc-permissions apply nodejs --level permissive
151
153
  |----------|-------------|
152
154
  | [azure-sql](docs/templates/azure-sql.md) | Azure SQL Database CLI tools (az sql) |
153
155
  | [azure-storage](docs/templates/azure-storage.md) | Azure Storage CLI tools (az storage) for blobs, tables, queues, and file shares |
156
+ | [excel-mcp](docs/templates/excel-mcp.md) | Excel MCP Server tools for spreadsheet operations |
154
157
  | [mariadb](docs/templates/mariadb.md) | MariaDB CLI tools (mariadb, mariadb-dump, mariadb-admin) |
155
158
  | [mariadb-mcp](docs/templates/mariadb-mcp.md) | MariaDB MCP Server tools for database queries |
156
159
  | [mongodb](docs/templates/mongodb.md) | MongoDB CLI tools (mongosh, mongodump, mongorestore) |
@@ -165,8 +168,12 @@ cc-permissions apply nodejs --level permissive
165
168
 
166
169
  | Template | Description |
167
170
  |----------|-------------|
171
+ | [chrome-devtools-mcp](docs/templates/chrome-devtools-mcp.md) | Chrome DevTools MCP Server tools for browser inspection and debugging |
172
+ | [firefox-devtools-mcp](docs/templates/firefox-devtools-mcp.md) | Firefox DevTools MCP Server tools for browser inspection and debugging |
168
173
  | [playwright](docs/templates/playwright.md) | Playwright testing framework |
169
174
  | [playwright-mcp](docs/templates/playwright-mcp.md) | Playwright MCP Server tools for browser automation |
175
+ | [selenium](docs/templates/selenium.md) | Selenium testing framework CLI tools |
176
+ | [selenium-mcp](docs/templates/selenium-mcp.md) | Selenium MCP Server tools for browser automation |
170
177
 
171
178
  ### Mobile Development
172
179
 
@@ -185,12 +192,17 @@ All MCP server templates in one place. These are also listed alongside their CLI
185
192
  | [aws-mcp](docs/templates/aws-mcp.md) | AWS MCP Server tools for cloud infrastructure and serverless development |
186
193
  | [azure-sql-mcp](docs/templates/azure-sql-mcp.md) | Azure SQL Database MCP Server tools (azmcp) |
187
194
  | [azure-storage-mcp](docs/templates/azure-storage-mcp.md) | Azure Storage MCP Server tools (azmcp) |
195
+ | [chrome-devtools-mcp](docs/templates/chrome-devtools-mcp.md) | Chrome DevTools MCP Server tools for browser inspection and debugging |
188
196
  | [docker-mcp](docs/templates/docker-mcp.md) | Docker MCP Server tools for container management |
197
+ | [excel-mcp](docs/templates/excel-mcp.md) | Excel MCP Server tools for spreadsheet operations |
198
+ | [firefox-devtools-mcp](docs/templates/firefox-devtools-mcp.md) | Firefox DevTools MCP Server tools for browser inspection and debugging |
189
199
  | [gitea-mcp](docs/templates/gitea-mcp.md) | Gitea MCP Server tools for repository and workflow management |
190
200
  | [github-mcp](docs/templates/github-mcp.md) | GitHub MCP Server tools for repository and workflow management |
191
201
  | [gitlab-mcp](docs/templates/gitlab-mcp.md) | GitLab MCP Server tools for repository and workflow management |
192
202
  | [mariadb-mcp](docs/templates/mariadb-mcp.md) | MariaDB MCP Server tools for database queries |
193
203
  | [playwright-mcp](docs/templates/playwright-mcp.md) | Playwright MCP Server tools for browser automation |
204
+ | [podman-mcp](docs/templates/podman-mcp.md) | Podman MCP Server tools for container management |
205
+ | [selenium-mcp](docs/templates/selenium-mcp.md) | Selenium MCP Server tools for browser automation |
194
206
  | [postgres-mcp](docs/templates/postgres-mcp.md) | PostgreSQL MCP Server tools for database queries |
195
207
  | [sqlite-mcp](docs/templates/sqlite-mcp.md) | SQLite MCP Server tools for database operations |
196
208
  | [typescript-mcp](docs/templates/typescript-mcp.md) | TypeScript MCP Server tools for type checking and compilation |
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=analyze-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-worker.d.ts","sourceRoot":"","sources":["../src/analyze-worker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { parentPort, workerData } from "node:worker_threads";
2
+ import { analyzeDirectory } from "./analyze.js";
3
+ const { dir } = workerData;
4
+ try {
5
+ const result = analyzeDirectory(dir);
6
+ parentPort.postMessage({ success: true, result });
7
+ }
8
+ catch (err) {
9
+ const message = err instanceof Error ? err.message : String(err);
10
+ parentPort.postMessage({ success: false, error: message });
11
+ }
12
+ //# sourceMappingURL=analyze-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-worker.js","sourceRoot":"","sources":["../src/analyze-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,EAAE,GAAG,EAAE,GAAG,UAA6B,CAAC;AAE9C,IAAI,CAAC;IACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC,UAAW,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AACrD,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,UAAW,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAC9D,CAAC"}
package/dist/analyze.d.ts CHANGED
@@ -20,7 +20,7 @@ export declare function analyzeDirectory(dir: string): AnalysisResult;
20
20
  /**
21
21
  * Format analysis result for display.
22
22
  */
23
- export declare function formatAnalysisResult(result: AnalysisResult): string;
23
+ export declare function formatAnalysisResult(result: AnalysisResult, versionString?: string): string;
24
24
  export declare const _testing: {
25
25
  detectTemplate: typeof detectTemplate;
26
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAuC,aAAa,EAAE,MAAM,YAAY,CAAC;AAmRrH,UAAU,eAAe;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AA+ED;;;;;;;;GAQG;AACH,iBAAS,cAAc,CACrB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,cAAc,GAAG,SAAS,GACpC,eAAe,GAAG,IAAI,CAqFxB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CA4E5D;AAiCD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAoEnE;AAGD,eAAO,MAAM,QAAQ;;CAEpB,CAAC"}
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAuC,aAAa,EAAE,MAAM,YAAY,CAAC;AAgUrH,UAAU,eAAe;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAuQD;;;;;;;;GAQG;AACH,iBAAS,cAAc,CACrB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,cAAc,GAAG,SAAS,GACpC,eAAe,GAAG,IAAI,CAsHxB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAkF5D;AAyCD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAiE3F;AAGD,eAAO,MAAM,QAAQ;;CAEpB,CAAC"}
package/dist/analyze.js CHANGED
@@ -1,5 +1,5 @@
1
- import { readdirSync, existsSync, statSync, readFileSync } from "node:fs";
2
- import { join, resolve, relative } from "node:path";
1
+ import { readdirSync, existsSync, statSync, readFileSync, lstatSync } from "node:fs";
2
+ import { join, resolve, relative, dirname, basename } from "node:path";
3
3
  import { execSync } from "node:child_process";
4
4
  import { PermissionLevel } from "./types.js";
5
5
  import { getTemplates } from "./templates/loader.js";
@@ -10,6 +10,17 @@ let cachedMcpServers = null;
10
10
  const cachedCommands = new Map();
11
11
  // Cache for git remote URLs (per directory)
12
12
  const cachedGitRemotes = new Map();
13
+ // Cache for repo file listings (per analyzed directory)
14
+ const cachedRepoFiles = new Map();
15
+ // Directories to skip during filesystem walk fallback
16
+ const SKIP_DIRS = new Set([
17
+ "node_modules", ".git", "vendor", "dist", "build", "target",
18
+ "__pycache__", ".next", ".nuxt", ".output", ".venv", "venv",
19
+ ".tox", "coverage", ".cache", ".parcel-cache", ".yarn", ".pnp",
20
+ ".svn", ".hg",
21
+ ]);
22
+ const MAX_WALK_DEPTH = 5;
23
+ const MAX_WALK_FILES = 10000;
13
24
  /**
14
25
  * Get the list of active MCP servers by running `claude mcp list`.
15
26
  * Results are cached for the duration of the process.
@@ -116,25 +127,52 @@ function isGitRepoRoot(dir) {
116
127
  const stat = statSync(gitPath);
117
128
  return stat.isDirectory() || stat.isFile();
118
129
  }
130
+ // Cache for findGitRoot results
131
+ const cachedGitRoot = new Map();
132
+ // Maximum number of ancestor levels to search
133
+ const MAX_ANCESTOR_LEVELS = 10;
134
+ /**
135
+ * Find the nearest git root by walking up from startDir.
136
+ * Checks startDir itself first, then parent directories up to MAX_ANCESTOR_LEVELS.
137
+ * Returns the git root path or null if not found.
138
+ */
139
+ function findGitRoot(startDir) {
140
+ if (cachedGitRoot.has(startDir)) {
141
+ return cachedGitRoot.get(startDir);
142
+ }
143
+ let dir = startDir;
144
+ for (let i = 0; i <= MAX_ANCESTOR_LEVELS; i++) {
145
+ if (isGitRepoRoot(dir)) {
146
+ cachedGitRoot.set(startDir, dir);
147
+ return dir;
148
+ }
149
+ const parent = dirname(dir);
150
+ if (parent === dir)
151
+ break; // filesystem root
152
+ dir = parent;
153
+ }
154
+ cachedGitRoot.set(startDir, null);
155
+ return null;
156
+ }
119
157
  /**
120
158
  * Get git remote URLs for a directory.
121
- * Only returns remotes if the directory is itself a git repo root.
159
+ * Walks up to find the nearest git root and reads remotes from there.
122
160
  * Returns an array of remote URLs.
123
161
  */
124
162
  function getGitRemotes(dir) {
125
- if (cachedGitRemotes.has(dir)) {
126
- return cachedGitRemotes.get(dir);
163
+ // Find the nearest git root (may be an ancestor directory)
164
+ const gitRoot = findGitRoot(dir);
165
+ if (!gitRoot) {
166
+ return [];
127
167
  }
128
- const remotes = [];
129
- // Only check git remotes if this directory is a git repo root
130
- // This prevents detecting parent repo's remotes for subdirectories
131
- if (!isGitRepoRoot(dir)) {
132
- cachedGitRemotes.set(dir, remotes);
133
- return remotes;
168
+ // Cache by git root path so all subdirs share the same result
169
+ if (cachedGitRemotes.has(gitRoot)) {
170
+ return cachedGitRemotes.get(gitRoot);
134
171
  }
172
+ const remotes = [];
135
173
  try {
136
174
  const output = execSync("git remote -v", {
137
- cwd: dir,
175
+ cwd: gitRoot,
138
176
  encoding: "utf-8",
139
177
  timeout: 5000,
140
178
  stdio: ["pipe", "pipe", "pipe"],
@@ -155,7 +193,7 @@ function getGitRemotes(dir) {
155
193
  catch {
156
194
  // Not a git repo or git not available
157
195
  }
158
- cachedGitRemotes.set(dir, remotes);
196
+ cachedGitRemotes.set(gitRoot, remotes);
159
197
  return remotes;
160
198
  }
161
199
  /**
@@ -276,6 +314,184 @@ function checkDirectories(dir, directories) {
276
314
  }
277
315
  return null;
278
316
  }
317
+ /**
318
+ * Walk up from startDir checking for a file pattern at each level.
319
+ * Returns the full path if found, null otherwise.
320
+ */
321
+ function findAncestorWithFile(startDir, pattern) {
322
+ let dir = startDir;
323
+ for (let i = 0; i <= MAX_ANCESTOR_LEVELS; i++) {
324
+ const found = fileExists(dir, pattern);
325
+ if (found)
326
+ return found;
327
+ const parent = dirname(dir);
328
+ if (parent === dir)
329
+ break;
330
+ dir = parent;
331
+ }
332
+ return null;
333
+ }
334
+ /**
335
+ * Walk up from startDir checking for a directory pattern at each level.
336
+ * Returns the full path if found, null otherwise.
337
+ */
338
+ function findAncestorWithDirectory(startDir, pattern) {
339
+ let dir = startDir;
340
+ for (let i = 0; i <= MAX_ANCESTOR_LEVELS; i++) {
341
+ const found = directoryExists(dir, pattern);
342
+ if (found)
343
+ return found;
344
+ const parent = dirname(dir);
345
+ if (parent === dir)
346
+ break;
347
+ dir = parent;
348
+ }
349
+ return null;
350
+ }
351
+ /**
352
+ * Check ancestor file patterns and return first match.
353
+ */
354
+ function checkAncestorFiles(dir, patterns) {
355
+ for (const pattern of patterns) {
356
+ const found = findAncestorWithFile(dir, pattern);
357
+ if (found) {
358
+ return { type: "ancestorFile", reason: found };
359
+ }
360
+ }
361
+ return null;
362
+ }
363
+ /**
364
+ * Check ancestor directory patterns and return first match.
365
+ */
366
+ function checkAncestorDirectories(dir, patterns) {
367
+ for (const pattern of patterns) {
368
+ const found = findAncestorWithDirectory(dir, pattern);
369
+ if (found) {
370
+ return { type: "ancestorDirectory", reason: found };
371
+ }
372
+ }
373
+ return null;
374
+ }
375
+ /**
376
+ * Walk a directory tree collecting relative file paths.
377
+ * Skips hidden directories, SKIP_DIRS entries, and symlinks.
378
+ * Bounded by MAX_WALK_DEPTH and MAX_WALK_FILES.
379
+ */
380
+ function walkDirectoryForFiles(startDir) {
381
+ const results = [];
382
+ function walk(dir, depth) {
383
+ if (depth > MAX_WALK_DEPTH || results.length >= MAX_WALK_FILES)
384
+ return;
385
+ let entries;
386
+ try {
387
+ entries = readdirSync(dir, { withFileTypes: true });
388
+ }
389
+ catch {
390
+ return;
391
+ }
392
+ for (const entry of entries) {
393
+ if (results.length >= MAX_WALK_FILES)
394
+ return;
395
+ const name = entry.name;
396
+ if (entry.isDirectory()) {
397
+ // Skip hidden directories and known noise directories
398
+ if (name.startsWith(".") || SKIP_DIRS.has(name))
399
+ continue;
400
+ // Skip symlinks to prevent cycles
401
+ try {
402
+ const fullPath = join(dir, name);
403
+ if (lstatSync(fullPath).isSymbolicLink())
404
+ continue;
405
+ }
406
+ catch {
407
+ continue;
408
+ }
409
+ walk(join(dir, name), depth + 1);
410
+ }
411
+ else if (entry.isFile()) {
412
+ // Skip symlinks
413
+ try {
414
+ const fullPath = join(dir, name);
415
+ if (lstatSync(fullPath).isSymbolicLink())
416
+ continue;
417
+ }
418
+ catch {
419
+ continue;
420
+ }
421
+ results.push(relative(startDir, join(dir, name)));
422
+ }
423
+ }
424
+ }
425
+ walk(startDir, 0);
426
+ return results;
427
+ }
428
+ /**
429
+ * Get list of all files under a directory.
430
+ * Uses `git ls-files` for git repos (fast, excludes untracked noise),
431
+ * falls back to bounded directory walk for non-git repos.
432
+ * Results are cached per directory.
433
+ */
434
+ function getRepoFiles(dir) {
435
+ if (cachedRepoFiles.has(dir)) {
436
+ return cachedRepoFiles.get(dir);
437
+ }
438
+ let files = [];
439
+ try {
440
+ const output = execSync("git ls-files", {
441
+ cwd: dir,
442
+ encoding: "utf-8",
443
+ timeout: 10000,
444
+ stdio: ["pipe", "pipe", "pipe"],
445
+ });
446
+ files = output.split("\n").filter((f) => f.length > 0);
447
+ }
448
+ catch {
449
+ // Not a git repo or git not available — use filesystem walk
450
+ files = walkDirectoryForFiles(dir);
451
+ }
452
+ cachedRepoFiles.set(dir, files);
453
+ return files;
454
+ }
455
+ /**
456
+ * Check if a file pattern matches any file in the repo file list.
457
+ * Supports glob patterns like "*.tf" (matches basename ending) and exact filenames.
458
+ * Returns the relative path of the first match, or null.
459
+ */
460
+ function repoFileExists(repoFiles, pattern) {
461
+ if (pattern.includes("*")) {
462
+ // Simple glob: "*.tf" → match files ending in ".tf"
463
+ const suffix = pattern.replace("*", "");
464
+ for (const file of repoFiles) {
465
+ const name = basename(file);
466
+ if (name.endsWith(suffix)) {
467
+ return file;
468
+ }
469
+ }
470
+ }
471
+ else {
472
+ // Exact filename match (anywhere in the tree)
473
+ for (const file of repoFiles) {
474
+ const name = basename(file);
475
+ if (name === pattern) {
476
+ return file;
477
+ }
478
+ }
479
+ }
480
+ return null;
481
+ }
482
+ /**
483
+ * Check repo file patterns and return first match.
484
+ */
485
+ function checkRepoFiles(dir, patterns) {
486
+ const repoFiles = getRepoFiles(dir);
487
+ for (const pattern of patterns) {
488
+ const found = repoFileExists(repoFiles, pattern);
489
+ if (found) {
490
+ return { type: "repoFile", reason: found };
491
+ }
492
+ }
493
+ return null;
494
+ }
279
495
  /**
280
496
  * Check content patterns and return first match.
281
497
  */
@@ -352,6 +568,24 @@ function detectTemplate(dir, detection) {
352
568
  return null;
353
569
  results.push(result);
354
570
  }
571
+ if (detection.ancestorFiles) {
572
+ const result = checkAncestorFiles(dir, detection.ancestorFiles);
573
+ if (!result)
574
+ return null;
575
+ results.push(result);
576
+ }
577
+ if (detection.ancestorDirectories) {
578
+ const result = checkAncestorDirectories(dir, detection.ancestorDirectories);
579
+ if (!result)
580
+ return null;
581
+ results.push(result);
582
+ }
583
+ if (detection.repoFiles) {
584
+ const result = checkRepoFiles(dir, detection.repoFiles);
585
+ if (!result)
586
+ return null;
587
+ results.push(result);
588
+ }
355
589
  if (detection.contentPatterns) {
356
590
  const result = checkContentPatterns(dir, detection.contentPatterns);
357
591
  if (!result)
@@ -390,6 +624,21 @@ function detectTemplate(dir, detection) {
390
624
  if (result)
391
625
  return result;
392
626
  }
627
+ if (detection.ancestorFiles) {
628
+ const result = checkAncestorFiles(dir, detection.ancestorFiles);
629
+ if (result)
630
+ return result;
631
+ }
632
+ if (detection.ancestorDirectories) {
633
+ const result = checkAncestorDirectories(dir, detection.ancestorDirectories);
634
+ if (result)
635
+ return result;
636
+ }
637
+ if (detection.repoFiles) {
638
+ const result = checkRepoFiles(dir, detection.repoFiles);
639
+ if (result)
640
+ return result;
641
+ }
393
642
  if (detection.contentPatterns) {
394
643
  const result = checkContentPatterns(dir, detection.contentPatterns);
395
644
  if (result)
@@ -442,13 +691,20 @@ export function analyzeDirectory(dir) {
442
691
  recommendedTemplates.add(name);
443
692
  // Format the reason for display
444
693
  let reason = detected.reason;
445
- if (detected.type === "file" || detected.type === "directory") {
694
+ if (detected.type === "file" || detected.type === "directory" ||
695
+ detected.type === "ancestorFile" || detected.type === "ancestorDirectory") {
446
696
  const relativePath = relative(absoluteDir, detected.reason) || detected.reason;
447
697
  if (!detectedFiles.includes(relativePath)) {
448
698
  detectedFiles.push(relativePath);
449
699
  }
450
700
  reason = relativePath;
451
701
  }
702
+ else if (detected.type === "repoFile") {
703
+ // repoFile reasons are already relative paths
704
+ if (!detectedFiles.includes(detected.reason)) {
705
+ detectedFiles.push(detected.reason);
706
+ }
707
+ }
452
708
  detections.push({ template: name, type: detected.type, reason });
453
709
  }
454
710
  }
@@ -491,6 +747,12 @@ function formatDetection(type, reason) {
491
747
  return fmt.fileDetection("file:") + " " + reason;
492
748
  case "directory":
493
749
  return fmt.dirDetection("dir:") + " " + reason;
750
+ case "ancestorFile":
751
+ return fmt.ancestorFileDetection("ancestor-file:") + " " + reason;
752
+ case "ancestorDirectory":
753
+ return fmt.ancestorDirDetection("ancestor-dir:") + " " + reason;
754
+ case "repoFile":
755
+ return fmt.repoFileDetection("repo:") + " " + reason;
494
756
  case "content":
495
757
  return fmt.contentDetection("content:") + " " + reason;
496
758
  case "mcp":
@@ -506,8 +768,10 @@ function formatDetection(type, reason) {
506
768
  // Get plain text length of detection (without color codes)
507
769
  function getDetectionLength(type, reason) {
508
770
  const prefixes = {
509
- file: "file:", directory: "dir:", content: "content:",
510
- mcp: "mcp:", remote: "remote:", always: "",
771
+ file: "file:", directory: "dir:",
772
+ ancestorFile: "ancestor-file:", ancestorDirectory: "ancestor-dir:",
773
+ repoFile: "repo:",
774
+ content: "content:", mcp: "mcp:", remote: "remote:", always: "",
511
775
  };
512
776
  const prefix = prefixes[type] || `${type}:`;
513
777
  if (type === "always")
@@ -517,7 +781,7 @@ function getDetectionLength(type, reason) {
517
781
  /**
518
782
  * Format analysis result for display.
519
783
  */
520
- export function formatAnalysisResult(result) {
784
+ export function formatAnalysisResult(result, versionString) {
521
785
  const lines = [
522
786
  ``,
523
787
  fmt.title(`Project Analysis`, "═"),
@@ -556,16 +820,13 @@ export function formatAnalysisResult(result) {
556
820
  lines.push(fmt.dim(bottomBorder));
557
821
  }
558
822
  lines.push(``);
559
- lines.push(`${fmt.section("Suggested Level:")} ${fmt.value(result.suggestedLevel)}`);
560
- lines.push(``);
561
823
  lines.push(`${fmt.section("Apply Permissions:")}`);
562
824
  lines.push(` ${fmt.example(result.suggestedCommand)}`);
563
825
  lines.push(``);
564
- // Show template details command with an example template
565
- const exampleTemplate = result.recommendedTemplates.find(t => t !== "shell") || result.recommendedTemplates[0];
566
- if (exampleTemplate) {
567
- lines.push(`${fmt.section("View Template Details:")}`);
568
- lines.push(` ${fmt.command(`cc-permissions template ${exampleTemplate}`)}`);
826
+ lines.push(`Run ${fmt.command("cc-permissions --help")} for usage information.`);
827
+ lines.push(``);
828
+ if (versionString) {
829
+ lines.push(fmt.dim(`cc-permissions ${versionString}`));
569
830
  lines.push(``);
570
831
  }
571
832
  lines.push(formatSafetyWarning());
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
- "commitHash": "c9c5b0c",
3
- "commitHashFull": "c9c5b0cf9c490f2ca2c1f02b9f9ae35a8b2d5b96",
2
+ "commitHash": "a9e96f2",
3
+ "commitHashFull": "a9e96f2435a5f327d147a0f45898537c5b643126",
4
4
  "dirty": false,
5
- "buildTime": "2026-01-29T04:02:13.020Z"
5
+ "buildTime": "2026-02-05T21:37:45.068Z"
6
6
  }