In developmentBlink is in active development and not yet publicly released. Command snippets are illustrative previews of the intended interface, not captured output.

Docs

Architecture

Blink is a small Rust workspace. The CLI is a thin surface over a shared core, and each remaining crate owns exactly one job — with no circular dependencies between them.

engine
                     Blink CLI
                         |
                    Blink Core
       /        /        |        \        \
 blink-config blink-index blink-analyzer blink-report blink-plugin
       \        \        |        /        /
                      Project

blink-cli

command surface

Every command you run — inspect, index, optimize, report — enters here and delegates straight into the core. The CLI owns argument parsing, help, and presentation, and nothing else.

blink-core

shared engine

The vocabulary the whole tool is built on: the project model and the plumbing every other crate draws from. Core depends on nothing else in the workspace, so it stays reusable.

blink-config

.bnk configuration

Loads and validates the .bnk project file. It resolves defaults, reports clear errors on malformed input, and hands a typed configuration to the rest of the tool.

blink-index

fast local index

Builds and incrementally maintains the local project index that makes searching and repeated analysis fast. Only changed files are re-read.

blink-analyzer

understanding

Reads a project into structured knowledge — languages, frameworks, dependencies, and the concrete improvements Blink can recommend.

blink-report

reporting

Turns the analyzer's findings into human-readable reports and structured output for the terminal, files, and other tooling.

blink-plugin

extensibility

The plugin surface. Custom analyzers, detectors, exporters, and integrations register here and become first-class parts of every command.