| 
 | 1 | +# Contributing to show-file-tree  | 
 | 2 | + | 
 | 3 | +First off, thank you for considering contributing! Your help is greatly appreciated 🙌    | 
 | 4 | + | 
 | 5 | +This document outlines the guidelines and best practices for contributing to **show-file-tree**, a small but powerful CLI tool for visualizing file and folder structures.    | 
 | 6 | + | 
 | 7 | +---  | 
 | 8 | + | 
 | 9 | +## 🚀 How Can I Contribute?  | 
 | 10 | + | 
 | 11 | +### Reporting Bugs  | 
 | 12 | +- First, check if the bug has already been reported under **GitHub Issues**.    | 
 | 13 | +- If not, open a new issue with:    | 
 | 14 | +  - A **clear title and description**.    | 
 | 15 | +  - Steps to reproduce the issue.    | 
 | 16 | +  - A minimal code sample or test case showing the problem.    | 
 | 17 | +  - Expected vs actual behavior.    | 
 | 18 | + | 
 | 19 | +### Suggesting Enhancements  | 
 | 20 | +- Open a new issue with your enhancement idea.    | 
 | 21 | +- Provide:    | 
 | 22 | +  - A **clear description** of the proposed enhancement.    | 
 | 23 | +  - The **benefit** it brings to users.    | 
 | 24 | +  - Example use cases, if possible.    | 
 | 25 | + | 
 | 26 | +### Pull Requests  | 
 | 27 | +1. **Fork the repo** and create your branch from `main`.    | 
 | 28 | +2. **Set up your development environment**:    | 
 | 29 | + | 
 | 30 | +   ```  | 
 | 31 | +   # Clone your fork  | 
 | 32 | +   git clone https://github.com/YOUR_USERNAME/show-file-tree.git  | 
 | 33 | +   cd show-file-tree  | 
 | 34 | +   ```  | 
 | 35 | + | 
 | 36 | +   ```  | 
 | 37 | +   # Create a virtual environment and activate it  | 
 | 38 | +   python -m venv .venv  | 
 | 39 | +   source .venv/bin/activate   # (Linux/macOS)  | 
 | 40 | +   .venv\Scripts\activate      # (Windows PowerShell)  | 
 | 41 | +   ```  | 
 | 42 | +     | 
 | 43 | +   ```  | 
 | 44 | +   # Install dependencies for development  | 
 | 45 | +   pip install -e ".[all]"  | 
 | 46 | +   pip install pytest  | 
 | 47 | +   ```  | 
 | 48 | + | 
 | 49 | +3. **Make changes** and add tests for your feature or bug fix.  | 
 | 50 | +4. Run the test suite: [**pytest**](https://github.com/pytest-dev/pytest)  | 
 | 51 | +5. Format your code with [**Black**](https://github.com/psf/black) or [**Ruff**](https://github.com/astral-sh/ruff).  | 
 | 52 | +6. Commit your changes with a clear message.  | 
 | 53 | +7. Push your branch and **open a Pull Request** (PR).  | 
 | 54 | + | 
 | 55 | +---  | 
 | 56 | + | 
 | 57 | +## 📝 Branching Convention  | 
 | 58 | + | 
 | 59 | +| Prefix      | Purpose                                   | Example Branch Name     |  | 
 | 60 | +| ----------- | ----------------------------------------- | ----------------------- |  | 
 | 61 | +| `feature/`  | New features or functionality             | `feature/add-cli-tree`  |  | 
 | 62 | +| `fix/`      | Bug fixes or small corrections            | `fix/fix-path-handling` |  | 
 | 63 | +| `docs/`     | Documentation changes                     | `docs/update-readme`    |  | 
 | 64 | +| `wip/`      | Work-in-progress experiments              | `wip/template`          |  | 
 | 65 | +| `chore/`    | Misc tasks like setup, CI, configs        | `chore/add-gitignore`   |  | 
 | 66 | +| `refactor/` | Code restructuring without feature change | `refactor/cleanup-code` |  | 
 | 67 | + | 
 | 68 | +---  | 
 | 69 | + | 
 | 70 | +## ✅ Coding Standards  | 
 | 71 | + | 
 | 72 | +* Follow **[PEP 8](https://peps.python.org/pep-0008/)** style guidelines.  | 
 | 73 | +* Keep functions small, modular, and well-structured.  | 
 | 74 | +* Add **docstrings** to all public modules, functions, classes, and methods.  | 
 | 75 | +* Write **clear, readable commit messages**:  | 
 | 76 | + | 
 | 77 | +  * `Add: new feature xyz`  | 
 | 78 | +  * `Fix: bug in path handling`  | 
 | 79 | +  * `Docs: update contributing guide`  | 
 | 80 | + | 
 | 81 | +---  | 
 | 82 | + | 
 | 83 | +## 🧪 Testing  | 
 | 84 | + | 
 | 85 | +* Add or update tests for any new code.  | 
 | 86 | +* Run the full test suite with:  | 
 | 87 | + | 
 | 88 | +  ```bash  | 
 | 89 | +  pytest  | 
 | 90 | +  ```  | 
 | 91 | +* Ensure all tests pass before submitting a PR.  | 
 | 92 | + | 
 | 93 | +---  | 
 | 94 | + | 
 | 95 | +## 🙌 Ways to Contribute  | 
 | 96 | + | 
 | 97 | +* Report bugs  | 
 | 98 | +* Suggest enhancements  | 
 | 99 | +* Submit pull requests (features, bug fixes, documentation)  | 
 | 100 | +* Improve docs (README, examples, etc.)  | 
 | 101 | + | 
 | 102 | +---  | 
 | 103 | + | 
 | 104 | +## 📄 License  | 
 | 105 | + | 
 | 106 | +By contributing, you agree that your contributions will be licensed under the same license as this project (MIT).  | 
 | 107 | + | 
0 commit comments