@rednebula100/grove
v1.0.2
Published
A beautiful, modern alternative to the tree command
Maintainers
Readme
grove 🌲
A beautiful, modern alternative to the tree command
grove/
├── 📁 bin
│ └── 🟨 grove.js 4.3K
├── 📁 src
│ ├── 🟨 git.js 777B
│ ├── 🟨 heatmap.js 1.6K
│ ├── 🟨 icons.js 3.3K
│ ├── 🟨 render.js 3.2K
│ └── 🟨 tree.js 3.8K
├── 📝 CLAUDE.md 2.3K
├── 📋 package-lock.json 8.3K
└── 📋 package.json 314B
── Stats ──────────────────────────
Files: 9
Directories: 2
Total size: 27.8K
Largest files:
8.3K package-lock.json
4.3K grove.js
3.8K tree.js
────────────────────────────────────Features
- 🎨 File-type color icons — 20+ extensions each with their own color and emoji (or Nerd Font icon)
- 🙈 Auto
.gitignoresupport — ignored paths are filtered automatically in any git repo - 📦
node_modules/.gitexcluded by default — no more noise; opt-in with--node-modules - 🔥 File size heatmap (
--size) — instantly spot the heaviest files across 5 color tiers - 🧠 Git commit heatmap (
--heat) — see which files change most often, powered bygit log - 📊 Stats summary (
--stats) — total file count, directory count, size, top-3 largest and most-changed files - 🗂️ JSON output (
--json) — pipe structured tree data into other tools or scripts - ⚡ Zero config — works out of the box with
npx, no setup required
Install & Usage
Run instantly with npx (no install needed)
npx @rednebula100/grove
npx @rednebula100/grove src --size --statsInstall globally
npm install -g @rednebula100/grove
grove
grove --helpBasic examples
# Current directory
grove
# Specific path, limited depth
grove src -d 3
# Show file sizes with heatmap
grove --size
# Show git commit frequency heatmap + stats
grove --heat --stats
# Combine everything
grove --size --heat --stats
# Only directories
grove -D
# Include hidden files
grove -a
# Exclude build artifacts
grove --ignore "dist" --ignore "*.log"
# Output as JSON
grove --json | jq '.[] | .name'All Options
| Flag | Alias | Description |
|------|-------|-------------|
| --depth <n> | -d | Limit traversal depth |
| --all | -a | Show hidden files and directories (dotfiles) |
| --dirs-only | -D | Show directories only |
| --size | -s | Show file sizes with 5-tier color heatmap |
| --heat | -H | Show git commit frequency with color heatmap |
| --json | -j | Output the tree as JSON |
| --stats | | Print a summary block at the end |
| --ignore <glob> | | Exclude paths matching a glob (repeatable) |
| --node-modules | | Include node_modules and .git (excluded by default) |
| --help | -h | Show help |
Heatmap color tiers
Both --size and --heat use the same 5-tier relative scale — percentile rank across all files in the tree:
| Tier | Range | Color | |------|-------|-------| | 1 | 0–20% | default | | 2 | 20–40% | dim green | | 3 | 40–60% | yellow | | 4 | 60–80% | red | | 5 | 80–100% | bg red |
grove vs tree
| Feature | tree | grove |
|---------|--------|---------|
| Basic directory tree | ✅ | ✅ |
| Depth limit | ✅ | ✅ |
| Directories only | ✅ | ✅ |
| Show hidden files | ✅ | ✅ |
| .gitignore auto-filtering | ❌ | ✅ |
| node_modules excluded by default | ❌ | ✅ |
| File-type color icons | ❌ | ✅ |
| File size display | ❌ | ✅ |
| File size heatmap | ❌ | ✅ |
| Git commit frequency heatmap | ❌ | ✅ |
| Stats summary (top files) | ❌ | ✅ |
| JSON output | ❌ | ✅ |
| npx zero-install | ❌ | ✅ |
