/** * Project discovery walker — scans user-specified roots for Claude Code * projects. Intentionally light-weight: stops recursing into a directory as * soon as a Claude Code signature is detected, so `$HOME`-wide scans stay * fast even with many nested projects. * * Safety: * - Symbolic links are not followed (cycle prevention); visited inodes * are also tracked via realpath as a secondary guard. * - Everything inside `node_modules/`, `.git/`, etc. is skipped by name. * - Any readdir / stat failure on a single dir is captured and the scan * continues with the next one. */ import type { DiscoverOptions, DiscoveryResult } from '../types/index.js'; export declare const DEFAULT_DISCOVERY_EXCLUDES: Set; export declare function expandTilde(path: string): string; export declare function parseRootsInput(input: string | string[]): string[]; export declare function discoverProjects(rootsInput: string[], options?: DiscoverOptions): Promise;