Releases: justhashim/treetouch
Releases · justhashim/treetouch
Release list
v1.1.0
What's Changed
- Add cross-platform stdin handling and path normalization by @Tinil-K-Benny in #1
New Contributors
- @Tinil-K-Benny made their first contribution in #1
Full Changelog: v0.2.4...v1.1.0
v1.0.0
🚀 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
.gitignoreand config file generation- Interactive TUI mode
- Watch mode for live updates
🙏 Contributing
Contributions, issues, and feature requests are welcome!
- Repository: https://github.com/HashimCodeDev/treetouch
- Report Issues: https://github.com/HashimCodeDev/treetouch/issues
- Submit PRs: https://github.com/HashimCodeDev/treetouch/pulls
📄 License
MIT License - see LICENSE for details.
Full Changelog: https://github.com/HashimCodeDev/treetouch/commits/v1.0.0