Skip to content

feat: add fast declarative project detection - #20

Merged
dmeijboom merged 10 commits into
mainfrom
feat/project-detection
Nov 10, 2026
Merged

dmeijboom merged 10 commits into
mainfrom
feat/project-detection

Conversation

@dmeijboom

@dmeijboom dmeijboom commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Adds brainpod detect [path] --json to discover projects, language/toolchain declarations, frameworks, runtimes, and workspaces across nine languages and mixed monorepos, including Deno/npm/pnpm layouts, with source evidence and provider/consumer roles.

  • Compiled TOML rules/catalog drive discovery, fact extraction, version mappings, and workspace policy. Format adapters handle JSONC, imports, and local build metadata without executing project code or installing dependencies.
  • Bounded, deterministic scanning reads manifests—not application source bodies. Deno runtime versions stay separate from language/package versions; mixed registries retain dependency declarations and manager-specific workspace membership.
  • Includes 51 pinned public repositories (45 original, five ranked Deno projects, one mixed-workspace supplement), plus all ten Brainpod starter branches. Repository lists and rerun commands are in README and tests/detect-corpus.md.

Validated locally: 295/295 corpus assertions, 195 Rust tests, 11 audit-runner tests, Clippy/formatting, and offline all-platform flake evaluation. Warm scan benchmark: ~4.5 ms for 20,200 files with 200 manifest reads; these are local measurements, not latency guarantees.

@dmeijboom dmeijboom self-assigned this Nov 10, 2026
@dmeijboom
dmeijboom enabled auto-merge November 10, 2026 09:20
@dmeijboom
dmeijboom disabled auto-merge November 10, 2026 09:21
@dmeijboom
dmeijboom merged commit dd3050e into main Nov 10, 2026
6 checks passed
@dmeijboom
dmeijboom deleted the feat/project-detection branch November 10, 2026 09:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant