standarbuild-detect-0.1.0 has been yanked.
Detect the kind of a project (Rust, Node, Bun, Deno, Python, Lua, C, C++)
from on-disk signals (Cargo.toml, package.json, etc.) and scan a
polyglot monorepo workspace recursively.
The crate is dependency-light and free of opinions about builds: it only answers "what is in this directory?" and "what projects live under this root?".
Quick start
use std::path::Path;
use standarbuild_detect::{detect_in_dir, discover, DiscoverOptions, ProjectKind};
let (kind, signals) = detect_in_dir(Path::new("./my-app"));
assert!(matches!(kind, ProjectKind::Rust | ProjectKind::Node | _));
println!("matched on: {:?}", signals);
let projects = discover(Path::new("./my-monorepo"), &DiscoverOptions::default());
for p in projects {
println!("{} -> {:?} at {}", p.label, p.kind, p.rel_path);
}
Features
serde(default) — derivesSerializeon the public types and exposes POSIX-path serializers in [path_norm]. Disable withdefault-features = falseif you only need the detection logic.