Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
canopy
command
|
|
|
canopyls
command
|
|
|
internal
|
|
|
bridge
Package bridge detects cross-component dependency edges between top-level directory groups in a codebase.
|
Package bridge detects cross-component dependency edges between top-level directory groups in a codebase. |
|
chunk
Package chunk splits source files into AST-boundary chunks with token budget estimation for LLM context windows.
|
Package chunk splits source files into AST-boundary chunks with token budget estimation for LLM context windows. |
|
contextpack
Package contextpack builds focus-aware code context around a source line, with optional semantic expansion via call graphs.
|
Package contextpack builds focus-aware code context around a source line, with optional semantic expansion via call graphs. |
|
deps
Package deps analyzes import dependency graphs at the package or file level from a structural index.
|
Package deps analyzes import dependency graphs at the package or file level from a structural index. |
|
federation
Package federation loads and merges exported structural indexes from multiple repositories.
|
Package federation loads and merges exported structural indexes from multiple repositories. |
|
files
Package files lists and filters indexed source files by language, symbol count, and other structural density metrics.
|
Package files lists and filters indexed source files by language, symbol count, and other structural density metrics. |
|
lint
Package lint evaluates structural linting rules and tree-sitter query patterns against a parsed index.
|
Package lint evaluates structural linting rules and tree-sitter query patterns against a parsed index. |
|
mcp
Package mcp exposes canopy tools as an MCP stdio server for AI agent integration via JSON-RPC.
|
Package mcp exposes canopy tools as an MCP stdio server for AI agent integration via JSON-RPC. |
|
reachability
Package reachability answers whether a package transitively reaches sensitive capabilities (process execution, network access, file I/O, etc.) by walking the cross-reference call graph forward from package roots.
|
Package reachability answers whether a package transitively reaches sensitive capabilities (process execution, network access, file I/O, etc.) by walking the cross-reference call graph forward from package roots. |
|
scope
Package scope resolves symbols visible at a given source line using tree-sitter AST traversal.
|
Package scope resolves symbols visible at a given source line using tree-sitter AST traversal. |
|
stats
Package stats aggregates codebase metrics from a structural index: symbol kinds, language distribution, and file density.
|
Package stats aggregates codebase metrics from a structural index: symbol kinds, language distribution, and file density. |
|
pkg
|
|
|
boundaries
Package boundaries provides architecture boundary enforcement through a simple DSL.
|
Package boundaries provides architecture boundary enforcement through a simple DSL. |
|
complexity
Package complexity provides AST-based complexity analysis for functions across 206 languages using gotreesitter.
|
Package complexity provides AST-based complexity analysis for functions across 206 languages using gotreesitter. |
|
coupling
Package coupling computes package-level structural health metrics from a code index and cross-reference graph.
|
Package coupling computes package-level structural health metrics from a code index and cross-reference graph. |
|
feeds
Package feeds defines the FeedProvider interface and the FeedEngine that orchestrates multiple feeds enriching a shared scope graph.
|
Package feeds defines the FeedProvider interface and the FeedEngine that orchestrates multiple feeds enriching a shared scope graph. |
|
feeds/compiler
Package compiler implements a feed that runs language-specific compilers and harvests diagnostics into the scope graph.
|
Package compiler implements a feed that runs language-specific compilers and harvests diagnostics into the scope graph. |
|
feeds/parser
Package parser implements the parser feed, which builds scope graphs from source files using gotreesitter and per-language scope rules.
|
Package parser implements the parser feed, which builds scope graphs from source files using gotreesitter and per-language scope rules. |
|
feeds/proxyfeed
Package proxyfeed implements a feed that harvests type information from backend LSP responses and enriches the scope graph.
|
Package proxyfeed implements a feed that harvests type information from backend LSP responses and enriches the scope graph. |
|
feeds/vcs
Package vcs implements a VCS feed that enriches scope graph definitions with authorship and change history from graft or git.
|
Package vcs implements a VCS feed that enriches scope graph definitions with authorship and change history from graft or git. |
|
generated
Package generated detects machine-generated source files using filename patterns and header markers from a built-in registry of code generators.
|
Package generated detects machine-generated source files using filename patterns and header markers from a built-in registry of code generators. |
|
hotspot
Package hotspot detects code hotspots by combining git churn, complexity, and call graph centrality.
|
Package hotspot detects code hotspots by combining git churn, complexity, and call graph centrality. |
|
ignore
Package ignore implements gitignore-style pattern matching for filtering file paths.
|
Package ignore implements gitignore-style pattern matching for filtering file paths. |
|
impact
Package impact computes the blast radius of changed symbols by walking the reverse call graph.
|
Package impact computes the blast radius of changed symbols by walking the reverse call graph. |
|
index
Package index builds and caches structural indexes by walking source trees and parsing files with registered language parsers.
|
Package index builds and caches structural indexes by walking source trees and parsing files with registered language parsers. |
|
lang
Package lang defines the Parser interface for language-specific source file parsing.
|
Package lang defines the Parser interface for language-specific source file parsing. |
|
lang/treesitter
Package treesitter implements the lang.Parser interface using gotreesitter for multi-language structural parsing.
|
Package treesitter implements the lang.Parser interface using gotreesitter for multi-language structural parsing. |
|
model
Package model defines the core data types for structural code indexing: Symbol, Reference, FileSummary, and Index.
|
Package model defines the core data types for structural code indexing: Symbol, Reference, FileSummary, and Index. |
|
proxy
Package proxy manages backend LSP server processes and routes requests.
|
Package proxy manages backend LSP server processes and routes requests. |
|
query
Package query implements a selector DSL for matching symbols by kind, name, signature, receiver, file, and line range.
|
Package query implements a selector DSL for matching symbols by kind, name, signature, receiver, file, and line range. |
|
refactor
Package refactor performs AST-aware declaration renaming with optional cross-package callsite updates.
|
Package refactor performs AST-aware declaration renaming with optional cross-package callsite updates. |
|
risk
Package risk computes composite risk scores per function and per package by combining complexity, coupling (fan-out), git churn, and test coverage into a single prioritised score.
|
Package risk computes composite risk scores per function and per package by combining complexity, coupling (fan-out), git churn, and test coverage into a single prioritised score. |
|
sarif
Package sarif provides a minimal SARIF 2.1.0 encoder for canopy analysis output.
|
Package sarif provides a minimal SARIF 2.1.0 encoder for canopy analysis output. |
|
scope
Package scope provides the scope graph data model for the canopyls LSP server.
|
Package scope provides the scope graph data model for the canopyls LSP server. |
|
smells
Package smells detects multi-signal structural code smells by combining coupling, complexity, type metrics, and cross-reference data.
|
Package smells detects multi-signal structural code smells by combining coupling, complexity, type metrics, and cross-reference data. |
|
socket
Package socket provides a Unix socket server for CLI client queries against the running canopyls LSP server's enriched scope graph.
|
Package socket provides a Unix socket server for CLI client queries against the running canopyls LSP server's enriched scope graph. |
|
structdiff
Package structdiff compares two structural indexes to detect added, removed, and modified symbols and imports.
|
Package structdiff compares two structural indexes to detect added, removed, and modified symbols and imports. |
|
testmap
Package testmap maps test functions to implementation functions via structural call graph traversal.
|
Package testmap maps test functions to implementation functions via structural call graph traversal. |
|
typemetrics
Package typemetrics computes per-type structural metrics: field count, interface width, method set size, and nesting depth.
|
Package typemetrics computes per-type structural metrics: field count, interface width, method set size, and nesting depth. |
|
xref
Package xref builds cross-reference graphs from structural indexes, enabling call graph traversal and dead code detection.
|
Package xref builds cross-reference graphs from structural indexes, enabling call graph traversal and dead code detection. |
Click to show internal directories.
Click to hide internal directories.