Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Project Finder CLI

Project Finder is an interactive terminal utility designed to streamline developer workflows. It automatically scans your local directories, identifies project technology stacks, and enables instant project navigation directly from your terminal.

Version Node.js License


✨ Features

  • πŸ” Automated Workspace Scanning: Recursively identifies valid development projects in your workspace (~/desarrollo/proyectos).
  • 🎨 Dynamic Tech Stack Formatting: High-fidelity visual identifiers for React, Vite, Angular, Java, and Node.js with ANSI colors and formatted stack separators.
  • πŸ§ͺ Built-in Demo Mode: Run simulated project sweeps without accessing local filesystem dataβ€”ideal for testing and visual previews.
  • πŸ“‹ Seamless Clipboard Integration: Copies the navigation command (cd "/path/to/project") straight to your system clipboard.
  • 🌐 Cross-Platform: Designed for native environments including Windows (GitBash / PowerShell), WSL2, and Linux.

πŸ› οΈ Built With


πŸ—οΈ Architecture & Layered Design

The project strictly follows a clean, decoupled architecture:

src/
β”œβ”€β”€ core/         # Business logic (Directory scanner & mock data)
β”œβ”€β”€ ui/           # Presentation layer (Clack prompts & ANSI color formatting)
β”œβ”€β”€ utils/        # System I/O services (Clipboard management & versioning)
└── index.js      # CLI Entrypoint & Orchestrator

πŸš€ Installation & Usage

1. Clone the repository

git clone https://github.com/ErnestoIngles/project-finder.git
cd project-finder

2. Install dependencies & link globally

# Install project dependencies
pnpm install

# Link CLI tool globally in your system
pnpm add --global .

Note for Windows / GitBash users: Make sure your pnpm global bin path is in your System PATH so pf can be executed from any directory.

3. Run from anywhere!

Simply type the command from any terminal location:

pf

Or run in Demo Mode:

pf demo

πŸ“Έ Screenshots

CLI Demo


πŸ—οΈ Engineering Decisions

  • Directory Navigation Bypass: Since a child process cannot change the parent's working directory in Unix systems, a clipboard-based bridge was implemented to ensure instant navigation without complex shell configurations.

  • Dynamic Padding: The menu calculates the maximum string length of project names to maintain a perfect tabular layout regardless of folder naming conventions.

  • Persistence Roadmap: Future versions will include a config.json for customizable scan paths and ignore-lists.


Created with ❀️ by ErnestoIngles

About

πŸš€ A high-performance interactive CLI tool to identify, scan, and navigate through development projects with automatic tech-stack detection and clipboard integration. Optimized for WSL2/Ubuntu.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages