Newfangled Package Modernizer

    TypeScript icon, indicating that this package has built-in type declarations

    0.6.7 • Public • Published


    CircleCI npm version downloads

    List contents of directories in tree-like format.

    Tree-cli is a recursive directory listing program that produces a depth indented listing of files. With no arguments, tree lists the files in the current directory. When directory arguments are given, tree lists all the files and/or directories found in the given directories each in turn. Upon completion of listing all files/directories found, tree returns the total number of files and/or directories listed.



    tree -l 2 -o output.txt


    ├── bin
    |  └── tree
    ├── node_modules
    |  ├── bluebird
    |  ├── chalk
    |  ├── cli-spinner
    |  ├── meow
    |  └── object-assign
    ├── package.json
    └── tree.js
    directory: 7 file: 4


    npm install -g tree-cli


    Use the command tree or treee (to avoid confliction with system command).

    NOTE: use treee instead of tree on windows system.


    Use it as a node module to get the detailed tree data.

      base: '.',    // or any path you want to inspect.
      noreport: true
    }).then(res => {
      // is the data for the file tree.
      // is the stringified scanning report.

    You can find the type declaration for the exporting function and the type declaration of its' params and result in the 'types/index.d.ts' file. If you are using VSCode, you'll find the type hint during your typing.

    Breaking change: In version before 0.6.0, the resovled result is the tree structure of the scanned directory. But in latest v0.6.0, the resolved result is changed to a object contains both the file tree structure and the scanned report. The structure of result would be:

      data: {
        // ...The file node tree.
      report: '...',  // The final report.

    use --help to list help info.

    tree --help

    specify the level of path (how deep to scan).

    use -l levelNumber to specify the path level.

    tree -l 2

    output result to a file

    use -o outputFilePath to specify the output file.

    tree -l 2 -o out.txt

    show directory only

    use -d to show directories only.

    tree -l 2 -o out.txt -d

    other arguments

    see Options.


    you should just use the treee command as tree has been already taken by windows system.

    treee -l 2 -o out.txt -d


    • --help: outputs a verbose usage listing.
    • --version: outputs the version of tree-cli.
    • --debug: show debug info.
    • --fullpath: prints the full path prefix for each file.
    • --ignore: ignores directory or file you specify - accepts arrays as comma-delimited strings: 'node_modules/, .git/, .gitignore'
    • --link: follows symbolic links if they point to directories, as if they were directories. Symbolic links that will result in recursion are avoided when detected.
    • --noreport: omits printing of the file and directory report at the end of the tree listing and omits printing the tree on console.
    • --base: specify a root directory. Relative path from cwd root and absolute path are both acceptable. This argument is optional.
    • -a: all files are printed. By default tree does not print hidden files (those beginning with a dot '.'). In no event does tree print the file system constructs '.' (current directory) and '..' (previous directory).
    • -d: list directories only.
    • -f: append a '/' for directories, a '=' for socket files and a '|' for FIFOs.
    • -i: makes tree not print the indentation lines, useful when used in conjunction with the -f option.
    • -l: max display depth of the directory tree.
    • -o: send output to filename.


    npm i tree-cli

    DownloadsWeekly Downloads






    Unpacked Size

    28.4 kB

    Total Files


    Last publish


    • mr.raindrop