Folder Grove is a tool that helps you instantly set up the folder structure for your projects. It allows you to pre-save multiple templates with project structures in a single text file, with the depth and number of folders you desire.
Folder Grove features:
- Compatibility with Windows and Linux
- An user-friendly and easy-to-use CLI
- Interactive terminal
- An option to display a directory tree of your saved templates
First of all, ensure you have the following software installed and updated:
- Python 3.8 or higher: You can check your Python version with
python --version
orpython3 --version
. - Poetry: A dependency management tool for Python. You can install Poetry following the instructions in the official documentation.
You can download Folder Grove by cloning this repository:
git clone https://github.com/purgemebaby/FolderGrovePy.git
To run the app, you need to grant execution permission:
chmod +x FolderGrovePy/folder_grove/main.py
Poetry will handle the virtual environment for you. Go into the project's directory and run:
poetry install
This command will install all necessary dependencies specified in the pyproject.toml file and create a virtual environment.
To activate the virtual environment created by Poetry, use:
poetry shell
This will open a new shell session within the virtual environment.
To use the app, simply run main.py:
python main.py
Note: You can creat a symlink to the script in your home directory for convenience.
There is a config.json in FolderGrovePy/folder_grove/config
where you can adjust the saving template location and your projects creation directory. By default, config.json looks like this:
{
"creationPath": "pwd",
"savingPath": "default"
}
- creationPath: path where projects are created. If set to "pwd", the script will create the project in your current working directory.
- savingPath: path to a
.txt
file where templates are saved. If set to "default", the script will usetemplate.txt
file (located inFolderGrovePy/folder_grove/config
) to read and save the templates you create.
If you want to change these values, make sure you use absolute paths. Restrain from using ~
. For example:
{
"creationPath": "/home/user/Downloads",
"savingPath": "/home/user/fg_templates.txt"
}