[{"data":1,"prerenderedAt":724},["ShallowReactive",2],{"navigation_docs":3,"-tools-analyze-coupling":340,"-tools-analyze-coupling-surround":719},[4,30,55,254,271,294,311],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","/getting-started","1.getting-started",[9,13,17,21,25],{"title":10,"path":11,"stem":12},"Introduction","/getting-started/introduction","1.getting-started/1.introduction",{"title":14,"path":15,"stem":16},"Platform","/getting-started/platforms","1.getting-started/2.platforms",{"title":18,"path":19,"stem":20},"Installation","/getting-started/installation","1.getting-started/3.installation",{"title":22,"path":23,"stem":24},"Licensing","/getting-started/licensing","1.getting-started/4.licensing",{"title":26,"path":27,"stem":28},"Quick Start","/getting-started/quick-start","1.getting-started/5.quick-start",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Features","/features","2.features",[35,39,43,47,51],{"title":36,"path":37,"stem":38},"Features Overview","/features/overview","2.features/1.overview",{"title":40,"path":41,"stem":42},"Code Quality Metrics","/features/code-quality-metrics","2.features/2.code-quality-metrics",{"title":44,"path":45,"stem":46},"Technical Debt Analysis","/features/technical-debt-analysis","2.features/3.technical-debt-analysis",{"title":48,"path":49,"stem":50},"Code Search","/features/code-search","2.features/4.code-search",{"title":52,"path":53,"stem":54},"Reports","/features/reports","2.features/5.reports",{"title":56,"path":57,"stem":58,"children":59,"page":29},"Tools","/tools","3.tools",[60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,142,148,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250],{"title":61,"path":62,"stem":63},"Tools Overview","/tools/overview","3.tools/1.overview",{"title":65,"path":66,"stem":67},"stellarion_get_symbol_info","/tools/get-symbol-info","3.tools/10.get-symbol-info",{"title":69,"path":70,"stem":71},"stellarion_symbol_search","/tools/symbol-search","3.tools/11.symbol-search",{"title":73,"path":74,"stem":75},"stellarion_get_callers","/tools/get-callers","3.tools/12.get-callers",{"title":77,"path":78,"stem":79},"stellarion_get_callees","/tools/get-callees","3.tools/13.get-callees",{"title":81,"path":82,"stem":83},"stellarion_get_detailed_symbol","/tools/get-detailed-symbol","3.tools/14.get-detailed-symbol",{"title":85,"path":86,"stem":87},"stellarion_find_by_imports","/tools/find-by-imports","3.tools/15.find-by-imports",{"title":89,"path":90,"stem":91},"stellarion_find_by_signature","/tools/find-by-signature","3.tools/16.find-by-signature",{"title":93,"path":94,"stem":95},"stellarion_find_entry_points","/tools/find-entry-points","3.tools/17.find-entry-points",{"title":97,"path":98,"stem":99},"stellarion_find_implementors","/tools/find-implementors","3.tools/18.find-implementors",{"title":101,"path":102,"stem":103},"stellarion_traverse_graph","/tools/traverse-graph","3.tools/19.traverse-graph",{"title":105,"path":106,"stem":107},"stellarion_get_ai_context","/tools/get-ai-context","3.tools/2.get-ai-context",{"title":109,"path":110,"stem":111},"stellarion_memory_store","/tools/memory-store","3.tools/20.memory-store",{"title":113,"path":114,"stem":115},"stellarion_memory_search","/tools/memory-search","3.tools/21.memory-search",{"title":117,"path":118,"stem":119},"stellarion_memory_get","/tools/memory-get","3.tools/22.memory-get",{"title":121,"path":122,"stem":123},"stellarion_memory_context","/tools/memory-context","3.tools/23.memory-context",{"title":125,"path":126,"stem":127},"stellarion_memory_invalidate","/tools/memory-invalidate","3.tools/24.memory-invalidate",{"title":129,"path":130,"stem":131},"stellarion_memory_list","/tools/memory-list","3.tools/25.memory-list",{"title":133,"path":134,"stem":135},"stellarion_memory_stats","/tools/memory-stats","3.tools/26.memory-stats",{"title":137,"path":138,"stem":139,"children":140},"stellarion_reindex_workspace","/tools/reindex-workspace","3.tools/27.reindex-workspace",[141],{"title":137,"path":138,"stem":139},{"title":143,"path":144,"stem":145,"children":146},"stellarion_index_files","/tools/index-files","3.tools/28.index-files",[147],{"title":143,"path":144,"stem":145},{"title":149,"path":150,"stem":151,"children":152},"stellarion_index_directory","/tools/index-directory","3.tools/29.index-directory",[153],{"title":149,"path":150,"stem":151},{"title":155,"path":156,"stem":157},"stellarion_get_edit_context","/tools/get-edit-context","3.tools/3.get-edit-context",{"title":159,"path":160,"stem":161},"stellarion_scan_security [Pro]","/tools/scan-security","3.tools/30.scan-security",{"title":163,"path":164,"stem":165},"stellarion_analyze_coupling [Pro]","/tools/analyze-coupling","3.tools/31.analyze-coupling",{"title":167,"path":168,"stem":169},"stellarion_find_unused_code [Pro]","/tools/find-unused-code","3.tools/32.find-unused-code",{"title":171,"path":172,"stem":173},"stellarion_codebase_health [Pro]","/tools/codebase-health","3.tools/33.codebase-health",{"title":175,"path":176,"stem":177},"stellarion_tech_debt_report [Pro]","/tools/tech-debt-report","3.tools/34.tech-debt-report",{"title":179,"path":180,"stem":181},"stellarion_assess_change_risk [Pro]","/tools/assess-change-risk","3.tools/35.assess-change-risk",{"title":183,"path":184,"stem":185},"stellarion_dependency_drift [Pro]","/tools/dependency-drift","3.tools/36.dependency-drift",{"title":187,"path":188,"stem":189},"stellarion_api_surface [Pro]","/tools/api-surface","3.tools/37.api-surface",{"title":191,"path":192,"stem":193},"stellarion_find_duplicates [Pro]","/tools/find-duplicates","3.tools/38.find-duplicates",{"title":195,"path":196,"stem":197},"stellarion_find_similar [Pro]","/tools/find-similar","3.tools/39.find-similar",{"title":199,"path":200,"stem":201},"stellarion_get_curated_context","/tools/get-curated-context","3.tools/4.get-curated-context",{"title":203,"path":204,"stem":205},"stellarion_cluster_symbols [Pro]","/tools/cluster-symbols","3.tools/40.cluster-symbols",{"title":207,"path":208,"stem":209},"stellarion_compare_symbols [Pro]","/tools/compare-symbols","3.tools/41.compare-symbols",{"title":211,"path":212,"stem":213},"stellarion_mine_git_history [Pro]","/tools/mine-git-history","3.tools/42.mine-git-history",{"title":215,"path":216,"stem":217},"stellarion_mine_git_history_for_file [Pro]","/tools/mine-git-history-for-file","3.tools/43.mine-git-history-for-file",{"title":219,"path":220,"stem":221},"stellarion_search_git_history [Pro]","/tools/search-git-history","3.tools/44.search-git-history",{"title":223,"path":224,"stem":225},"stellarion_find_eda_calls [Pro · EDA]","/tools/find-eda-calls","3.tools/45.find-eda-calls",{"title":227,"path":228,"stem":229},"stellarion_get_flow_graph [Pro · EDA]","/tools/get-flow-graph","3.tools/46.get-flow-graph",{"title":231,"path":232,"stem":233},"stellarion_find_duplicate_constraints [Pro · EDA]","/tools/find-duplicate-constraints","3.tools/47.find-duplicate-constraints",{"title":235,"path":236,"stem":237},"stellarion_analyze_impact","/tools/analyze-impact","3.tools/5.analyze-impact",{"title":239,"path":240,"stem":241},"stellarion_analyze_complexity","/tools/analyze-complexity","3.tools/6.analyze-complexity",{"title":243,"path":244,"stem":245},"stellarion_get_call_graph","/tools/get-call-graph","3.tools/7.get-call-graph",{"title":247,"path":248,"stem":249},"stellarion_get_dependency_graph","/tools/get-dependency-graph","3.tools/8.get-dependency-graph",{"title":251,"path":252,"stem":253},"stellarion_find_related_tests","/tools/find-related-tests","3.tools/9.find-related-tests",{"title":255,"path":256,"stem":257,"children":258,"page":29},"Integrations","/integrations","4.integrations",[259,263,267],{"title":260,"path":261,"stem":262},"Claude Code","/integrations/claude-code","4.integrations/1.claude-code",{"title":264,"path":265,"stem":266},"Cursor","/integrations/cursor","4.integrations/2.cursor",{"title":268,"path":269,"stem":270},"Other MCP Clients","/integrations/other-mcp-clients","4.integrations/3.other-mcp-clients",{"title":272,"path":273,"stem":274,"children":275,"page":29},"Guides","/guides","5.guides",[276,282,286,290],{"title":277,"path":278,"stem":279,"children":280},"Indexing Your Project","/guides/indexing-your-project","5.guides/1.indexing-your-project",[281],{"title":277,"path":278,"stem":279},{"title":283,"path":284,"stem":285},"Improving Code Quality","/guides/improving-code-quality","5.guides/2.improving-code-quality",{"title":287,"path":288,"stem":289},"Reducing Technical Debt","/guides/reducing-technical-debt","5.guides/3.reducing-technical-debt",{"title":291,"path":292,"stem":293},"Slash Commands","/guides/slash-commands","5.guides/4.slash-commands",{"title":295,"path":296,"stem":297,"children":298,"page":29},"Reference","/reference","6.reference",[299,303,307],{"title":300,"path":301,"stem":302},"CLI Commands","/reference/cli-commands","6.reference/1.cli-commands",{"title":304,"path":305,"stem":306},"Environment Variables","/reference/environment-variables","6.reference/2.environment-variables",{"title":308,"path":309,"stem":310},"Troubleshooting","/reference/troubleshooting","6.reference/3.troubleshooting",{"title":312,"path":313,"stem":314,"children":315,"page":29},"Quality","/quality","7.quality",[316,320,324,328,332,336],{"title":317,"path":318,"stem":319},"Code Quality Metrics Overview","/quality/stellarion_quality_metrics","7.quality/1.Stellarion_Quality_Metrics",{"title":321,"path":322,"stem":323},"Cognitive Complexity","/quality/cognitive-complexity","7.quality/2.cognitive-complexity",{"title":325,"path":326,"stem":327},"Cyclomatic Complexity","/quality/cyclomatic-complexity","7.quality/3.cyclomatic-complexity",{"title":329,"path":330,"stem":331},"Maintainability Index","/quality/maintainability","7.quality/4.maintainability",{"title":333,"path":334,"stem":335},"Circular Dependencies","/quality/circular-dependencies","7.quality/5.circular-dependencies",{"title":337,"path":338,"stem":339},"Unused Code Detection","/quality/unused-code","7.quality/6.unused-code",{"id":341,"title":163,"body":342,"description":712,"extension":713,"links":714,"meta":715,"navigation":716,"path":164,"seo":717,"stem":165,"__hash__":718},"docs/3.tools/31.analyze-coupling.md",{"type":343,"value":344,"toc":698},"minimark",[345,358,362,367,383,387,495,499,504,514,517,521,527,534,538,544,551,555,561,564,568,571,610,613,665,669],[346,347,349,350,357],"callout",{"type":348},"info","This is a Pro tool. Requires a ",[351,352,356],"a",{"href":353,"rel":354},"https://stellarion.ai/pro",[355],"nofollow","Stellarion Pro license",". A 180-day free trial starts automatically.",[359,360,361],"p",{},"Computes module coupling metrics using the indexed dependency graph. Measures afferent coupling (incoming dependencies), efferent coupling (outgoing dependencies), and instability ratio. Uses existing graph edges — no re-parsing required.",[363,364,366],"h2",{"id":365},"when-to-use","When to Use",[368,369,370,374,377,380],"ul",{},[371,372,373],"li",{},"Before refactoring to identify tightly coupled modules",[371,375,376],{},"To find modules that are too dependent on external code (high instability)",[371,378,379],{},"To locate stable core modules that many others depend on",[371,381,382],{},"When planning module boundaries or extracting packages",[363,384,386],{"id":385},"parameters","Parameters",[388,389,390,412],"table",{},[391,392,393],"thead",{},[394,395,396,400,403,406,409],"tr",{},[397,398,399],"th",{},"Parameter",[397,401,402],{},"Type",[397,404,405],{},"Required",[397,407,408],{},"Default",[397,410,411],{},"Description",[413,414,415,436,457,477],"tbody",{},[394,416,417,424,427,430,433],{},[418,419,420],"td",{},[421,422,423],"code",{},"uri",[418,425,426],{},"string",[418,428,429],{},"Yes",[418,431,432],{},"—",[418,434,435],{},"File or directory path to analyze",[394,437,438,443,446,449,454],{},[418,439,440],{},[421,441,442],{},"includeExternal",[418,444,445],{},"boolean",[418,447,448],{},"No",[418,450,451],{},[421,452,453],{},"false",[418,455,456],{},"Include external/third-party dependencies in the analysis",[394,458,459,464,467,469,474],{},[418,460,461],{},[421,462,463],{},"depth",[418,465,466],{},"number",[418,468,448],{},[418,470,471],{},[421,472,473],{},"2",[418,475,476],{},"How many levels of transitive dependencies to follow",[394,478,479,484,486,488,492],{},[418,480,481],{},[421,482,483],{},"summary",[418,485,445],{},[418,487,448],{},[418,489,490],{},[421,491,453],{},[418,493,494],{},"Return a condensed summary instead of full breakdown",[363,496,498],{"id":497},"examples","Examples",[500,501,503],"h3",{"id":502},"analyze-a-specific-module","Analyze a specific module",[505,506,511],"pre",{"className":507,"code":509,"language":510},[508],"language-text","What's the coupling profile for src/services/auth/?\n","text",[421,512,509],{"__ignoreMap":513},"",[359,515,516],{},"Returns afferent/efferent counts and instability for the auth service module.",[500,518,520],{"id":519},"find-the-most-coupled-modules-in-the-project","Find the most coupled modules in the project",[505,522,525],{"className":523,"code":524,"language":510},[508],"Show me coupling metrics for the entire src/ directory with a summary.\n",[421,526,524],{"__ignoreMap":513},[359,528,529,530,533],{},"Uses ",[421,531,532],{},"summary: true"," to get a ranked overview of all modules by coupling.",[500,535,537],{"id":536},"include-third-party-dependencies","Include third-party dependencies",[505,539,542],{"className":540,"code":541,"language":510},[508],"Analyze coupling for src/api/ including external dependencies. I want to see how much we depend on third-party packages.\n",[421,543,541],{"__ignoreMap":513},[359,545,546,547,550],{},"Sets ",[421,548,549],{},"includeExternal: true"," to include imports from node_modules, crates.io dependencies, pip packages, etc.",[500,552,554],{"id":553},"deep-transitive-analysis","Deep transitive analysis",[505,556,559],{"className":557,"code":558,"language":510},[508],"Show coupling for src/core/engine.rs with depth 3. I want to see the full dependency chain.\n",[421,560,558],{"__ignoreMap":513},[359,562,563],{},"Follows dependencies three levels deep to reveal hidden transitive coupling.",[363,565,567],{"id":566},"output-format","Output Format",[359,569,570],{},"For each module analyzed:",[368,572,573,580,586,604],{},[371,574,575,579],{},[576,577,578],"strong",{},"Afferent coupling (Ca)"," — number of modules that depend on this module",[371,581,582,585],{},[576,583,584],{},"Efferent coupling (Ce)"," — number of modules this module depends on",[371,587,588,591,592,595,596,599,600,603],{},[576,589,590],{},"Instability (I)"," — ratio ",[421,593,594],{},"Ce / (Ca + Ce)",", ranging from ",[421,597,598],{},"0.0"," (maximally stable) to ",[421,601,602],{},"1.0"," (maximally unstable)",[371,605,606,609],{},[576,607,608],{},"Dependency list"," — which modules are incoming and outgoing",[359,611,612],{},"Instability interpretation:",[388,614,615,625],{},[391,616,617],{},[394,618,619,622],{},[397,620,621],{},"Score",[397,623,624],{},"Meaning",[413,626,627,634,642,650,658],{},[394,628,629,631],{},[418,630,598],{},[418,632,633],{},"Fully stable — many depend on it, it depends on nothing",[394,635,636,639],{},[418,637,638],{},"0.0–0.3",[418,640,641],{},"Stable — changing it affects many consumers",[394,643,644,647],{},[418,645,646],{},"0.3–0.7",[418,648,649],{},"Balanced",[394,651,652,655],{},[418,653,654],{},"0.7–1.0",[418,656,657],{},"Unstable — depends on many, few depend on it",[394,659,660,662],{},[418,661,602],{},[418,663,664],{},"Fully unstable — depends on others, nobody depends on it",[363,666,668],{"id":667},"tips","Tips",[368,670,671,674,677,680,691],{},[371,672,673],{},"Stable modules (low instability) should contain abstractions and interfaces — they are hard to change",[371,675,676],{},"Unstable modules should contain concrete implementations — they are easy to change",[371,678,679],{},"A module with high afferent coupling AND high efferent coupling is a risk: it is both hard to change and has many reasons to change",[371,681,682,683,686,687,690],{},"Use ",[421,684,685],{},"depth: 1"," for a quick overview, increase to ",[421,688,689],{},"3"," or more when investigating specific dependency chains",[371,692,693,694,697],{},"Pair with ",[421,695,696],{},"stellarion_codebase_health"," to see coupling in the context of overall project health",{"title":513,"searchDepth":699,"depth":699,"links":700},2,[701,702,703,710,711],{"id":365,"depth":699,"text":366},{"id":385,"depth":699,"text":386},{"id":497,"depth":699,"text":498,"children":704},[705,707,708,709],{"id":502,"depth":706,"text":503},3,{"id":519,"depth":706,"text":520},{"id":536,"depth":706,"text":537},{"id":553,"depth":706,"text":554},{"id":566,"depth":699,"text":567},{"id":667,"depth":699,"text":668},"Measure module coupling with afferent, efferent, and instability metrics","md",null,{},true,{"title":163,"description":712},"1ullaOdmjiYuqGmvT-0Dnjz4psD71FsLMvBrWZBePDc",[720,722],{"title":159,"path":160,"stem":161,"description":721,"children":-1},"Scan codebase for security vulnerabilities and unsafe patterns",{"title":167,"path":168,"stem":169,"description":723,"children":-1},"Detect dead code with confidence scoring and framework-aware heuristics",1777612938497]