Metadata-Version: 2.4
Name: dirforge
Version: 0.1.0
Summary: A Python library for converting tree structure text into actual files and directories
Project-URL: Homepage, https://github.com/obedienceadara/dirforge
Project-URL: Bug Tracker, https://github.com/obedienceadara/dirforge/issues
Author-email: Obedience Adara <obedienceadara@gmail.com>
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: System :: Filesystems
Classifier: Topic :: Utilities
Requires-Python: >=3.7
Requires-Dist: pathlib
Description-Content-Type: text/markdown

# DirForge 🌳

[![PyPI version](https://badge.fury.io/py/DirForge.svg)](https://badge.fury.io/py/DirForge)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

DirForge is a powerful Python utility that automatically creates directory structures and files from tree-like text representations. Perfect for quickly scaffolding projects, replicating project structures, or setting up standardized directory layouts.

## 🚀 Features

- Create entire directory structures from text-based tree representations
- Accurately handles nested directories and files
- Preserves file extensions and special filenames (like `__init__.py`)
- Supports standard tree visualization symbols (├, └, │)
- Clean and intuitive command-line interface
- Zero external dependenciesM 

## 📦 Installation

```bash
pip install DirForge
```

## 🎯 Usage

1. Create a text file (e.g., `tree.txt`) with your desired directory structure:

```
my_project/
├── src/
│   ├── __init__.py
│   ├── main.py
│   └── utils/
│       ├── __init__.py
│       └── helpers.py
└── requirements.txt
```

2. Run DirForge:

```bash
DirForge tree.txt
```

That's it! Your directory structure will be created automatically.

## 🛠️ Technical Details

DirForge uses a depth-first approach to parse and create directory structures:

- Calculates directory depth using indentation and tree symbols
- Maintains a path stack to track the current position in the directory hierarchy
- Handles both files and directories intelligently based on file extensions
- Creates parent directories automatically when needed

## 🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## 📝 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 🙏 Acknowledgments

- Inspired by the need for quick project scaffolding
- Built with love for the Python community