Skip to main content

What is related-files?

The related-files command discovers all files related to a target file by traversing dependencies, imports, and usage relationships in the CIAK database. Results are ranked by relevance.

ciak related-files [OPTIONS] <TARGET>

Behavior and options​

OptionDescription
<TARGET>Target file path (required, positional)
-m, --max-files <N>Maximum number of related files to return (default: 10)
--include-testsInclude test files in results
--relevance-threshold <F>Minimum relevance score, 0.0–1.0 (default: 0.3)
--max-depth <N>Maximum relationship depth to traverse (default: 3)

How relevance is calculated​

Each related file receives a relevance score based on multiple factors:

  • Relationship type — extends/implements (0.95), imports (0.9), uses (0.7), tests (0.8), same module (0.6)
  • Distance — files directly connected score higher than those found through multiple hops
  • Symbol overlap — files sharing more symbols score higher
  • File size — very large files receive a slight penalty
  • Directory proximity — files in the same directory score higher

Examples​

ciak related-files src/auth/service.ts

Example 2 — Deep traversal with test files​

ciak related-files src/core/engine.rs --max-depth 5 --include-tests --max-files 20

Example 3 — High-relevance results only​

ciak related-files src/api/controller.ts --relevance-threshold 0.7

Input and output example​

Representative CLI output (truncated; exact formatting may vary by version):

Input

ciak related-files src/auth/service.ts --max-files 5 --max-depth 2

Output

Related files for: src/auth/service.ts
Depth: 2 Threshold: 0.3

1. src/auth/controller.ts score: 0.93 relationship: uses
2. src/auth/token.service.ts score: 0.88 relationship: imports
3. src/auth/types.ts score: 0.74 relationship: same_module