1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! 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
//!
//! ```no_run
//! 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)* — derives `Serialize` on the public types and exposes
//! POSIX-path serializers in [`path_norm`]. Disable with
//! `default-features = false` if you only need the detection logic.
pub use detect_in_dir;
pub use ;
pub use ProjectKind;
pub use to_posix;
pub use ;
pub use ;