#utility #string #text #cli

app project-finder

Fast project finder for developers

2 releases

Uses new Rust 2024

new 0.1.1 Mar 21, 2025
0.1.0 Mar 20, 2025

#29 in #text

34 downloads per month

MIT/Apache

26KB
498 lines

Project Finder

A command-line tool to discover coding projects in specified directories. It identifies projects based on common marker files (e.g., package.json, Cargo.toml, .git directories).

Goal

The goal of this project is to quickly and efficiently locate coding projects within a directory structure. This is particularly useful for developers working in large codebases or managing multiple repositories.

Features

  • Fast project discovery: Quickly scans directories to identify potential projects.
  • Multiple project types: Recognizes projects based on various marker files for different languages and build systems.
  • Configurable search depth: Limits the search depth to improve performance.
  • Verbose output: Provides detailed information about the search process.
  • Workspace Awareness: Detects and handles workspace configurations correctly, such as Javascript and Rust workspaces.
  • Concurrency: Uses asynchronous tasks to process multiple directories in parallel, improving performance.

Requirements

To use Project Finder, you need the following dependencies installed on your system:

These tools must be available in your system's PATH.

Installation

cargo install project-finder

Usage

project-finder [OPTIONS] [PATHS]

Options

  • -d, --depth : Maximum search depth (default: 5)
  • -n, --max-results <MAX_RESULTS>: Maximum number of results to return (default: 0, unlimited)
  • -v, --verbose: Show verbose output
  • PATHS: Directories to search for projects (default: ".")

Examples

  • Find projects in the current directory with the default depth:

    project-finder
    
  • Find projects in a specific directory with a maximum depth of 3:

    project-finder --depth 3 /path/to/search
    
  • Find projects in multiple directories with verbose output:

project-finder --verbose /path/to/search1 /path/to/search2
  • Limit the number of results to 10:
project-finder --max-results 10

Use Cases

  • Quickly locating projects: Easily find all projects within a large directory structure.
  • Managing multiple repositories: Discover all repositories in a directory.
  • Automated scripting: Integrate project discovery into scripts for build automation, testing, or deployment.
  • Workspace management: Identify workspace roots for managing multiple related projects.

License

This project is dual-licensed under either:

at your option.

Dependencies

~7–18MB
~267K SLoC