Skip to content

smoriginals/folderplus

Repository files navigation

FolderPlus

Modern developer-friendly CLI tool to visualize project structures with filtering, JSON output, icons, and customizable ignore rules.

FolderPlus Logo

npm version license downloads install size bundle size Node.js


Cross-platform Support

  • Windows
  • Linux
  • macOS

Preview

FolderPlus Demo


Installation

npm

npm install -g folderplus

pnpm

pnpm add -g folderplus

Yarn

yarn global add folderplus

Bun

bun add -g folderplus

Run Locally

npx folderplus
npx folderplus <command> [options]

Verify Installation

folderplus version

or

folderplus --version

Usage

Basic tree

folderplus tree

Files only

folderplus tree --files-only

Directories only

folderplus tree --dirs-only

Limit depth

folderplus tree --depth 1

Shows only the root level.

folderplus tree --depth 2

Shows one nested level inside the root.

Filter extensions

folderplus tree --only js,ts

Extensions should be provided without dots.

Ignore directories

folderplus tree --ignore dist,build,temp

Include all entries

folderplus tree --all

Sort output

folderplus tree --sort name
folderplus tree --sort type

JSON output

folderplus tree --json

Options

Flag Description
--no-icons Disable icons
--all Include entries normally ignored
--files-only Show only files
--dirs-only Show only directories
--sort <mode> Sort by name or type
--depth <n> Limit tree depth
--only <ext> Filter by extensions, e.g. js,ts
--ignore <dirs> Exclude directories, e.g. dist,build
--json Output tree as JSON

JSON Output Example

Run inside your project folder:

folderplus tree --json

Example output:

{
  "name": "my-app",
  "type": "directory",
  "children": [
    {
      "name": "src",
      "type": "directory",
      "children": []
    },
    {
      "name": "package.json",
      "type": "file"
    }
  ]
}

The root name is the current directory name where the command is executed.


Ignore Behavior

By default, FolderPlus ignores:

  • node_modules
  • .git
  • Patterns listed in .gitignore files (root and nested)

Custom ignores:

folderplus tree --ignore dist,build,temp

Supports gitignore-style glob patterns and negation (for example: *.log and !important.log). Use --all to bypass default and .gitignore exclusions. Explicit --ignore still applies with --all.


Use Cases

  • Visualize large codebases
  • Generate project structures for documentation
  • Export project trees as JSON
  • Quickly inspect repositories
  • Improve developer workflow and debugging

Features

  • Clean project tree visualization
  • Optional icons
  • Filter files or directories only
  • Filter by file extensions
  • Custom ignore support
  • JSON output for tooling and automation
  • Fast and lightweight
  • Cross-platform support

Help

folderplus --help

License

MIT

license


Author

Maintained by SMORIGINALS

About

Modern developer-friendly CLI tool to visualize project structures with icons, filtering, sorting, JSON output, and .gitignore support.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors