@nanocollective/nanocoder
Version:
A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter
37 lines • 1.1 kB
TypeScript
export interface FileNode {
name: string;
path: string;
absolutePath: string;
isDirectory: boolean;
size?: number;
children?: FileNode[];
}
export interface FlatNode {
node: FileNode;
depth: number;
isExpanded: boolean;
hasChildren: boolean;
}
/**
* Build a file tree from a root directory
* Respects gitignore and excludes hidden files by default
*/
export declare function buildFileTree(rootPath: string, options?: {
maxDepth?: number;
showHidden?: boolean;
}): Promise<FileNode[]>;
/**
* Flatten a file tree into a list for rendering
* Only includes visible nodes based on expanded state
*/
export declare function flattenTree(nodes: FileNode[], expanded: Set<string>, depth?: number): FlatNode[];
/**
* Flatten entire file tree (all nodes regardless of expansion)
* Used for searching across all files
*/
export declare function flattenTreeAll(nodes: FileNode[], depth?: number): FlatNode[];
/**
* Get relative path from cwd
*/
export declare function getRelativePath(absolutePath: string): string;
//# sourceMappingURL=file-tree.d.ts.map