Skip to content

Releases: justhashim/treetouch

v1.1.0

Choose a tag to compare

@justhashim justhashim released this 01 Dec 17:07

What's Changed

  • Add cross-platform stdin handling and path normalization by @Tinil-K-Benny in #1

New Contributors

Full Changelog: v0.2.4...v1.1.0

v1.0.0

Choose a tag to compare

@justhashim justhashim released this 22 Nov 16:13

🚀 treetouch v1.0.0 - First Stable Release

We're excited to announce the first stable release of treetouch - a cross-platform CLI tool that converts indented text descriptions into real directory structures!

🎯 What is treetouch?

treetouch takes the pain out of creating project scaffolds. Simply write your folder structure as indented text, and treetouch creates the actual files and directories instantly.

✨ Key Features

  • Zero Dependencies: Single executable binaries with no Python or Node.js required
  • Universal Distribution: Available via PyPI, npm, and direct binary downloads
  • Smart Parsing: Automatically infers hierarchy from indentation (configurable spaces)
  • Cross-Platform: Native support for Windows, macOS, and Linux
  • Flexible Input: Read from stdin, files, or pipes
  • Safe Operations: Won't overwrite existing non-empty files without --force
  • Verbose Mode: Track every created file and folder

📦 Installation

Via pip (Python)


pip install treetouch
treetouch --help

Via npm/pnpm (Node.js)


npm install -g treetouch

# or

pnpm install -g treetouch

Direct Binary Download

Download the binary for your platform from the Assets section below:

  • Linux: treetouch-linux (chmod +x required)
  • macOS: treetouch-macos (chmod +x required)
  • Windows: treetouch-win.exe

🎓 Quick Start

Create a structure file


backend/
src/
main.py
utils.py
tests/
test_main.py
frontend/
public/
index.html
src/
app.js
package.json
README.md

Run treetouch



# From file

treetouch --file structure.txt --root ./my-project --verbose

# From stdin (pipe)

cat structure.txt | treetouch

# Interactive mode

treetouch --root ./output

# (Paste your structure, then Ctrl+D)

🔧 Command-Line Options

Option Description Default
--file <path> Read structure from file stdin
--root <path> Output directory current directory
--spaces <n> Spaces per indent level 4
--verbose Print each created path off
--force Overwrite existing files off

🎨 Usage Examples

Basic project scaffold


treetouch --file project.txt --root ~/projects/myapp

Custom indentation (2 spaces)


treetouch --file structure.txt --spaces 2

Verbose output to see progress


treetouch --file structure.txt --verbose

🐛 Fixed Issues

  • ✅ Binary filename collision in npm package resolved
  • ✅ Dynamic versioning synchronized across all distribution channels
  • ✅ Module import errors in pip package fixed with proper package structure
  • ✅ Permission handling improved for npm global installs
  • ✅ HTTP redirect handling in binary download script

📝 Breaking Changes

None - this is the first stable release!

🏗️ Technical Details

  • Built with: Python 3.7+
  • Packaged with: PyInstaller (binaries), setuptools (pip), npm (Node.js)
  • CI/CD: GitHub Actions for automated cross-platform builds
  • License: MIT

🌟 What's Next?

Future versions will include:

  • Template support for common project types
  • .gitignore and config file generation
  • Interactive TUI mode
  • Watch mode for live updates

🙏 Contributing

Contributions, issues, and feature requests are welcome!

📄 License

MIT License - see LICENSE for details.


Full Changelog: https://github.com/HashimCodeDev/treetouch/commits/v1.0.0

v0.2.4

v0.2.4 Pre-release
Pre-release

Choose a tag to compare

@justhashim justhashim released this 22 Nov 16:06

Full Changelog: v0.2.3...v0.2.4

v0.2.2

v0.2.2 Pre-release
Pre-release

Choose a tag to compare

@justhashim justhashim released this 22 Nov 15:53

Full Changelog: v0.2.0...v0.2.2

v0.2.0

v0.2.0 Pre-release
Pre-release

Choose a tag to compare

@justhashim justhashim released this 22 Nov 15:51

Full Changelog: v0.1.4...v0.2.0

v0.1.4

v0.1.4 Pre-release
Pre-release

Choose a tag to compare

@justhashim justhashim released this 22 Nov 15:47

Full Changelog: v0.1.3...v0.1.4

v0.1.3

v0.1.3 Pre-release
Pre-release

Choose a tag to compare

@justhashim justhashim released this 22 Nov 15:43

Full Changelog: v0.1.2...v0.1.3

v0.1.2

v0.1.2 Pre-release
Pre-release

Choose a tag to compare

@justhashim justhashim released this 22 Nov 15:30

Full Changelog: v0.1.1...v0.1.2

v0.1.1

v0.1.1 Pre-release
Pre-release

Choose a tag to compare

@justhashim justhashim released this 22 Nov 15:24

Full Changelog: v0.1.0...v0.1.1

v0.1.0

v0.1.0 Pre-release
Pre-release

Choose a tag to compare

@justhashim justhashim released this 22 Nov 15:12