A directory structure tree generator for CLI
npm install @skapxd/tree


Visualize your project structure: Directories & File Outlines.
A modern, TypeScript-based CLI tool that intelligently adapts to your input.
- Directories: Generates a clean, ASCII tree diagram of folders and files.
- Files: Generates a structural outline (symbols, functions, classes) in a clean tabular format.
Optimized for Documentation and AI Context, providing a token-efficient overview of your codebase.
The fastest way to use it is with npx. It works instantly in any directory.
``bashš Directory Mode: View folder structure
npx @skapxd/tree
š File Outline Mode
Point
tree to a supported file to see a high-level overview of its contents without reading the whole code.Supported Formats:
- TypeScript:
.ts, .tsx
- JavaScript: .js, .jsx, .mjs, .cjs
- Markdown: .md
- Astro: .astroExample Output:
`text
Lines ā Type ā Symbol
āāāāāāāāāāāāāā¼āāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
1-1 ā import ā āāā fs
2-2 ā import ā āāā path
10-15ā interface ā āāā User
18-25ā func ā āāā getUser
19-19ā var ā ā āāā id
30-45ā class ā āāā UserService
32-35ā meth ā āāā fetch
`š¤ Optimized for AI Agents & LLMs
This tool is specifically designed to help AI Agents (like ChatGPT, Claude, Gemini, or GitHub Copilot) understand your project architecture without consuming massive context windows.
Why is this better for AI?
* Context Focus: Provide only the relevant structural information (filenames or function signatures), avoiding implementation noise.
* Token Efficient: Uses minimal characters to convey maximum structural information.
* High Contrast: Distinct separation between structural elements helps LLMs parse the hierarchy accurately.
šØ Directory Example Output
`text
src
āāā index.ts
āāā cli.ts
āāā utils
ā āāā parser.ts
ā āāā drawer.ts
āāā components
āāā Button.tsx
āāā Header.tsx
`š”ļø Smart Ignoring
By default, the tool automatically respects your
.gitignore file.
It also filters out common clutter like .git and .DS_Store to ensure clean, AI-ready output.āļø Options
| Flag | Description | Context |
| :--- | :--- | :--- |
|
[path] | (Positional) Directory or File to scan. Defaults to current dir. | Both |
| -i, --ignore | Override default ignore patterns with a custom regex. | Directory |
| -f, --only-folder | Output only directories, hiding files. | Directory |
| -e, --export | Save the output to a text file. | Both |
| -d, --directory | (Alternative) Specify path via flag. | Both |š¦ Installation (Optional)
If you use it frequently, you can install it globally:
`bash
npm install -g @skapxd/tree
or
pnpm add -g @skapxd/tree
`Then run it simply as:
`bash
tree
or
npx @skapxd/tree
`š ļø Development
This project uses TypeScript, Tsup for bundling, and Vitest for testing.
`bash
Install dependencies
yarn installRun in development mode
yarn devBuild for production
yarn buildRun tests
yarn test
``MIT