projd-core 0.3.0

Core project scanning data model and analysis helpers for Projd.
Documentation

projd-core

projd-core is the shared scanning model for Projd CLI and GUI. It detects project markers, source languages, dependency manifests, tests, CI providers, repository state, risks, project health, and per-language code line statistics.

The crate also provides project root discovery (discover_roots, DiscoverOptions, DiscoveredRoot, RootKind) for directories that may contain multiple independent projects with different VCS, build systems, documentation sites, or datasets. Discovery terminates on detected root kinds rather than directory depth.

Source control detection covers git, hg, svn, fossil, and bzr. Git, hg, and svn populate branch / revision / last-commit / dirty fields by shelling out to the corresponding CLI. Fossil and bzr currently report only marker presence; the CLI-driven fields will be filled in a follow-up release. The ProjectScan field is vcs: VcsSummary with kind: VcsKind (replaces the previous git: GitSummary field as of 0.3.0).

This crate intentionally does not expose repository, homepage, or author metadata in Cargo.toml, so published crates stay decoupled from local hosting details.