Directories
¶
| Path | Synopsis |
|---|---|
|
analyzers
|
|
|
astflat
Package astflat provides flat-AST navigation primitives that are general across rule and analyzer packages: call/navigation/argument decomposition, scope-walk helpers, condition-operand iteration.
|
Package astflat provides flat-AST navigation primitives that are general across rule and analyzer packages: call/navigation/argument decomposition, scope-walk helpers, condition-operand iteration. |
|
nullflow
Package nullflow provides flow-sensitive nullability analysis primitives over a parsed scanner.File.
|
Package nullflow provides flow-sensitive nullability analysis primitives over a parsed scanner.File. |
|
Package android provides parsers for Android project files.
|
Package android provides parsers for Android project files. |
|
Package binsymbols defines the seam through which Krit consumes class metadata that lives outside the source workspace — JARs, AARs, stdlib stubs, or KAA-backed oracle responses.
|
Package binsymbols defines the seam through which Krit consumes class metadata that lives outside the source workspace — JARs, AARs, stdlib stubs, or KAA-backed oracle responses. |
|
Package cacheutil is the shared infrastructure layer for every on-disk cache in krit.
|
Package cacheutil is the shared infrastructure layer for every on-disk cache in krit. |
|
cli
|
|
|
clishared
Package clishared holds helpers shared across krit's verb-specific CLI packages (internal/cli/<verb>/).
|
Package clishared holds helpers shared across krit's verb-specific CLI packages (internal/cli/<verb>/). |
|
daemonclient
Package daemonclient lets short-lived CLI verbs call a long-lived krit daemon when one is reachable, and fall back to in-process execution otherwise.
|
Package daemonclient lets short-lived CLI verbs call a long-lived krit daemon when one is reachable, and fall back to in-process execution otherwise. |
|
precommit
Package precommit runs single-buffer rule analysis on every Kotlin file currently staged for a git commit, routing the work through a running krit daemon when one is available.
|
Package precommit runs single-buffer rule analysis on every Kotlin file currently staged for a git commit, routing the work through a running krit daemon when one is available. |
|
snapshot
Package snapshot implements the `krit snapshot` CLI verb.
|
Package snapshot implements the `krit snapshot` CLI verb. |
|
suggestreviewers
Package suggestreviewers implements the `krit suggest-reviewers` subcommand: parse CODEOWNERS, follow the cross-file reference index from the symbols changed in a PR, and propose reviewer teams that own callers of those symbols (in addition to teams that own the changed files directly).
|
Package suggestreviewers implements the `krit suggest-reviewers` subcommand: parse CODEOWNERS, follow the cross-file reference index from the symbols changed in a PR, and propose reviewer teams that own callers of those symbols (in addition to teams that own the changed files directly). |
|
Package daemon implements a long-lived krit process that keeps parse trees, the cross-file index, oracle state, and typeinfer caches resident in memory.
|
Package daemon implements a long-lived krit process that keeps parse trees, the cross-file index, oracle state, and typeinfer caches resident in memory. |
|
devtools
|
|
|
jsonstat
command
|
|
|
oraclefpcheck
command
|
|
|
yamlcheck
command
|
|
|
Package diag provides a Reporter type for analyzer libraries to emit verbose progress and warning messages without coupling to os.Stderr.
|
Package diag provides a Reporter type for analyzer libraries to emit verbose progress and warning messages without coupling to os.Stderr. |
|
Package env provides a small Reader abstraction over process environment access.
|
Package env provides a small Reader abstraction over process environment access. |
|
Package filefacts is the shared per-run memoization layer for per-file derived facts (imports, references, declaration summaries, and arbitrary rule-local computations).
|
Package filefacts is the shared per-run memoization layer for per-file derived facts (imports, references, declaration summaries, and arbitrary rule-local computations). |
|
Package iterutil contains determinism-safe iteration helpers.
|
Package iterutil contains determinism-safe iteration helpers. |
|
Package jsonrpc implements JSON-RPC 2.0 message transport shared by the LSP and MCP servers.
|
Package jsonrpc implements JSON-RPC 2.0 message transport shared by the LSP and MCP servers. |
|
Package jsonschema provides a typed builder for JSON Schema documents.
|
Package jsonschema provides a typed builder for JSON Schema documents. |
|
Package logger provides a small Logger interface over log/slog so production code logs to stderr/JSON while tests substitute Capture to assert on emitted records.
|
Package logger provides a small Logger interface over log/slog so production code logs to stderr/JSON while tests substitute Capture to assert on emitted records. |
|
Package manifest carries the rule-facing data model for parsed AndroidManifest.xml files.
|
Package manifest carries the rule-facing data model for parsed AndroidManifest.xml files. |
|
Package onboarding implements the shared logic for the krit init onboarding flow.
|
Package onboarding implements the shared logic for the krit init onboarding flow. |
|
oracletest
Package oracletest provides a shared contract test that every implementation of oracle.Lookup must satisfy.
|
Package oracletest provides a shared contract test that every implementation of oracle.Lookup must satisfy. |
|
Package pipeline composes the Krit analysis workflow into a sequence of named, independently testable phases.
|
Package pipeline composes the Krit analysis workflow into a sequence of named, independently testable phases. |
|
Package proc provides a small abstraction over os/exec so production code can take a dependency on Runner instead of calling exec.Command directly.
|
Package proc provides a small abstraction over os/exec so production code can take a dependency on Runner instead of calling exec.Command directly. |
|
api
Package api defines the krit rule contract: a single Rule struct that declares its dependencies via a Capabilities bitfield and provides a single Check function which receives a Context carrying everything the rule needs.
|
Package api defines the krit rule contract: a single Rule struct that declares its dependencies via a Capabilities bitfield and provides a single Check function which receives a Context carrying everything the rule needs. |
|
api/evidence
Package evidence is a thin facade over scanner.File + the wired type resolvers, exposing only the structured questions a rule should ask.
|
Package evidence is a thin facade over scanner.File + the wired type resolvers, exposing only the structured questions a rule should ask. |
|
base
Package base holds the rule scaffolding types embedded by every rule implementation: BaseRule (name/ruleset/severity/description metadata and the Finding emit-helper), FlatDispatchBase (marker for flat-dispatch rules), and LineBase (marker for line-pass rules).
|
Package base holds the rule scaffolding types embedded by every rule implementation: BaseRule (name/ruleset/severity/description metadata and the Finding emit-helper), FlatDispatchBase (marker for flat-dispatch rules), and LineBase (marker for line-pass rules). |
|
coroutines
Package coroutines is a rules subpackage demonstrating the per-domain topology described in the architecture diagnosis.
|
Package coroutines is a rules subpackage demonstrating the per-domain topology described in the architecture diagnosis. |
|
ruletest
Package ruletest is the canonical entry point for unit-testing rules.
|
Package ruletest is the canonical entry point for unit-testing rules. |
|
Package ruleslinter statically verifies that each rule which calls ctx.Resolver or (*oracle.CompositeResolver).Oracle() declares a matching capability in its api.Rule registration.
|
Package ruleslinter statically verifies that each rule which calls ctx.Resolver or (*oracle.CompositeResolver).Oracle() declares a matching capability in its api.Rule registration. |
|
Package snapshot captures per-commit structural state (modules, files, symbols, scalar metrics) and persists it under `.krit/snapshots/` for later timeline and diff queries.
|
Package snapshot captures per-commit structural state (modules, files, symbols, scalar metrics) and persists it under `.krit/snapshots/` for later timeline and diff queries. |
|
Package sourceheader extracts package and import header text from tree-sitter node strings.
|
Package sourceheader extracts package and import header text from tree-sitter node strings. |
|
Package typeinfer provides lightweight type inference for Kotlin source code.
|
Package typeinfer provides lightweight type inference for Kotlin source code. |
|
Package usedsymbols extracts the set of external (out-of-module) fully-qualified symbols a Kotlin compilation unit references.
|
Package usedsymbols extracts the set of external (out-of-module) fully-qualified symbols a Kotlin compilation unit references. |
Click to show internal directories.
Click to hide internal directories.