#origin #root #project #git

project-origins

Resolve project origins and kinds from a path

9 stable releases

new 1.4.2 May 15, 2025
1.4.1 Feb 9, 2025
1.4.0 Apr 28, 2024
1.3.0 Jan 1, 2024
1.0.0 Jun 16, 2022

#1694 in Filesystem

Download history 10455/week @ 2025-01-23 11072/week @ 2025-01-30 11025/week @ 2025-02-06 11361/week @ 2025-02-13 10293/week @ 2025-02-20 9568/week @ 2025-02-27 8042/week @ 2025-03-06 11630/week @ 2025-03-13 12423/week @ 2025-03-20 15276/week @ 2025-03-27 13837/week @ 2025-04-03 14894/week @ 2025-04-10 16103/week @ 2025-04-17 17982/week @ 2025-04-24 15424/week @ 2025-05-01 12267/week @ 2025-05-08

64,712 downloads per month
Used in 36 crates (7 directly)

Apache-2.0

16KB
241 lines

Resolve project origins and kinds from a path.

This crate originated in Watchexec: it is used to resolve where a project's origin (or root) is, starting either at that origin, or within a subdirectory of it.

This crate also provides the kind of project it is, and defines two categories within this: version control systems, and software development environments.

As it is possible to find several project origins, of different or similar kinds, from a given directory and walking up, origins returns a set, rather than a single path. Determining which of these is the "one true origin" (if necessary) is left to the caller.


Crates.io page API Docs Crate license: Apache 2.0 CI status

Project origins

Resolve project origins and kinds from a path.

Dependencies

~2.6–9MB
~61K SLoC