Got project files everywhere? Arduino sketches scattered across your PC? Random STL files you can't find? Fear not, fellow maker! This tool will transform your chaotic project folders into a well-organized maker's paradise!
- ๐ ๏ธ Hardware+Software projects
- ๐ง Arduino/PlatformIO development
- ๐พ Code snippet management
- ๐๏ธ Project organization
- ๐ Multi-project workspaces
- Smart Project Detection: Automatically identifies Arduino, PlatformIO projects
- Code Snippet Organization: Keep your valuable code bits organized
- Project Lifecycle: Track projects from idea to completion
- Simple Configuration: Easy to set up and use
- Windows Friendly: Works great with WSL!
-
Install WSL on Windows
- Press
Windows + X
to open the Power User menu - Click on "Windows Powershell (Admin)"
- Run:
wsl --install
- Restart when prompted
- Press
-
Create Your Linux User
- After restart, WSL will ask for a username and password
- Remember these credentials!
-
Get Project Forge Running
- Press
Windows + X
and click "Windows Powershell" (not admin) - Copy and paste these commands one by one:
- Press
sudo apt update
sudo apt install python3 python3-pip python3-yaml git
git clone https://github.com/Kalougear/ProjectForge.git
cd ProjectForge
python3 -m project_forge
๐ Quick Access Tip: Next time, just open Windows Powershell and run:
cd ~/ProjectForge
python3 -m project_forge
Quick setup in one go:
# Complete setup
sudo apt update && sudo apt install python3 python3-pip python3-yaml git
git clone https://github.com/Kalougear/ProjectForge.git
cd ProjectForge
python3 -m project_forge
Remember: Use WSL paths! (/mnt/c/Users/...
)
One-line setup:
sudo apt update && sudo apt install python3 python3-pip git && pip3 install PyYAML && git clone https://github.com/Kalougear/ProjectForge.git && cd ProjectForge && python3 -m project_forge
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install python3 git && \
pip3 install PyYAML && \
git clone https://github.com/Kalougear/ProjectForge.git && \
cd ProjectForge && \
python3 -m project_forge
Windows Path โ Linux/WSL Path
---------------- --------------
C:\Users\Name\Projects โ /mnt/c/Users/Name/Projects
D:\Maker_Projects โ /mnt/d/Maker_Projects
# WSL not installing?
wsl --install --no-distribution
wsl --install -d Ubuntu
# Still problems?
# Windows + X โ PowerShell (Admin):
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
# Python not found?
sudo apt install --reinstall python3
# pip issues?
sudo apt install --reinstall python3-pip
# Check where you are
pwd
# Check if script is there
ls project_forge.py
# Check Python
python3 --version
YourPath/
โโโ ONGOING/ # Active projects
โโโ IDEAS/ # Future projects
โโโ HOLD/ # Paused projects
โโโ DONE/ # Completed projects
โโโ Test_Lab/ # Test code
โโโ Code_Vault/ # Code snippets
Each project gets:
Project_Name/
โโโ software/ # All your code
โโโ hardware/ # Schematics, PCB files
โโโ cad/ # 3D models, STLs
โโโ _docs/ # Documentation
โโโ builds/ # Build outputs
-
"Command not found"
# Make sure you're in the right directory: cd /path/to/where/you/put/project_forge.py
-
Path Not Found
# Make sure to use WSL paths: โ C:\Projects โ /mnt/c/Projects
-
Python Issues
# Install Python & pip: sudo apt update sudo apt install python3 python3-pip
# Start the program:
python3 project_forge.py
# You'll see this menu:
==================================================
Project|Forge
==================================================
1. Create new project
2. Organize existing project
3. Move project between statuses
4. List all projects
5. Exit
Select option: 1
Enter project name: My_Arduino_Project
# Pro tip: Use underscores for spaces!
Select status:
1. ONGOING: Active projects # Choose this for new projects
2. IDEAS: Future plans
3. HOLD: Paused projects
4. DONE: Completed projects
5. Test_Lab # Good for quick tests
6. Code_Vault # For code snippets
Select option: 2
Select type:
1. Full Project # Choose this for complete projects
2. Code Snippets # For single files/small code bits
Enter path: /mnt/c/Users/YourName/Desktop/messy_project
# Remember to use WSL paths!
Select option: 3
# Just follow the prompts - it's easy!
Before (Messy Desktop):
Desktop/
โโโ led_code.ino
โโโ schematic.pdf
โโโ case_v1.stl
โโโ notes.txt
After Running Tool:
ONGOING/Arduino_LED_Project/
โโโ software/
โ โโโ src/
โ โโโ led_code.ino # Your code, safe and sound
โโโ hardware/
โ โโโ schematics/
โ โโโ schematic.pdf # Hardware docs organized
โโโ cad/
โ โโโ 3dprint/
โ โโโ case_v1.stl # 3D files in the right place
โโโ _docs/
โโโ notes/
โโโ notes.txt # Documentation where it belongs
Turn this:
random_folder/
โโโ uart_code.cpp
โโโ old_uart.cpp
โโโ uart.h
Into this:
Code_Vault/
โโโ UART_Handler/
โโโ UART_Handler.cpp # Clean, organized, reusable!
~/Desktop/robot_mess/
โโโ main_v1.cpp
โโโ main_final.cpp
โโโ main_final_GOOD.cpp
โโโ robot_test.ino
โโโ servo.h
โโโ old_servo.h
โโโ config_backup.h
โโโ platformio.ini
โโโ random_todo.txt
โโโ notes_jan15.txt
โโโ meeting_notes.md
โโโ schematic_v1.pdf
โโโ schematic_FINAL.pdf
โโโ pcb_design.kicad_pcb
โโโ gerbers.zip
โโโ BOM_v2.xlsx
โโโ parts_list.csv
โโโ robot_case.f3d
โโโ case_v1.stl
โโโ case_v2.stl
โโโ case_final.stl
โโโ IMG_001.jpg
โโโ wiring_diagram.jpg
โโโ project_photo.jpg
$ python3 project_forge.py
Select option: 2 # Organize existing project
Select type: 1 # Full Project
# Providing paths
Enter source: ~/Desktop/robot_mess
Enter name: Robot_Arm_Project
-
Project Analysis
Analyzing project structure... - Found PlatformIO config (platformio.ini) - Found Arduino sketches (.ino) - Detected 23 files to organize
-
Smart Detection
Detected project types: โ PlatformIO project โ Arduino sketches โ CAD files present โ Hardware documentation
-
File Analysis
Analyzing files: - Found multiple main file versions - Found scattered documentation - Found CAD iterations - Found hardware design files
-
Organization Actions
Performing organization: โ Moving source files to software/ โ Consolidating documentation to _docs/ โ Organizing CAD files โ Structuring hardware files
(See detailed structure in previous example)
-
Code Management
Software cleanup: โ Detected main version files โ Created archive for old versions โ Preserved build configurations โ Organized libraries
-
Documentation Organization
Documentation cleanup: โ Gathered scattered notes โ Organized by type (notes, images) โ Maintained date context โ Structured for easy access
-
Hardware Files
Hardware file organization: โ Separated schematics versions โ Organized production files โ Structured BOMs and parts lists
-
CAD Files
CAD file management: โ Separated source and output files โ Organized STL versions โ Maintained original CAD files
Organization Complete!
Files Processed: 23
โโโ Software Files: 8
โโโ Documentation: 6
โโโ Hardware Files: 5
โโโ CAD Files: 4
Structure Compliance: 100%
File Naming: Standardized
Version Control Ready: Yes
Robot_Arm_Project/ # Your organized project
โ
โโโ ๐ software/ # All code in one place
โ โโโ ๐ src/ # Current source code
โ โ โโโ ๐ Main.cpp # Main program
โ โ โโโ ๐ Robot.ino # Arduino sketch
โ โ โโโ ๐ Config.h # Configuration
โ โ
โ โโโ ๐ libs/ # Project libraries
โ โ โโโ ๐ ServoLib.cpp # Servo control
โ โ โโโ ๐ ServoHandler.h # Servo headers
โ โ
โ โโโ ๐ archive/ # Old versions, safe but out of the way
โ โ โโโ ๐ Main_v1.cpp
โ โ โโโ ๐ Main_backup.cpp
โ โ
โ โโโ ๐ platformio.ini # Build configuration
โ
โโโ ๐ hardware/ # All hardware files
โ โโโ ๐ schematics/
โ โ โโโ ๐ Schematic_v2.pdf # Current version
โ โ โโโ ๐ Schematic_v1.pdf # Previous version
โ โ
โ โโโ ๐ pcb/ # PCB design files
โ โ โโโ ๐ MainBoard.kicad_pcb
โ โ
โ โโโ ๐ production/ # Manufacturing files
โ โโโ ๐ gerber/
โ โ โโโ ๐ฆ Gerbers.zip
โ โโโ ๐ assembly/
โ โโโ ๐ BOM.xlsx
โ
โโโ ๐ cad/ # 3D design files
โ โโโ ๐ models/ # Source files
โ โ โโโ ๐ RobotCase.f3d # Fusion 360 file
โ โ
โ โโโ ๐ 3dprint/ # Print files
โ โโโ ๐ stl/
โ โโโ ๐ Case.stl
โ โโโ ๐ Mount.stl
โ
โโโ ๐ _docs/ # All documentation
โ โโโ ๐ notes/ # Project notes
โ โ โโโ ๐ BuildNotes.txt
โ โ โโโ ๐ TODO.md
โ โ
โ โโโ ๐ images/ # Project images
โ โ โโโ ๐ธ Prototype.jpg
โ โ โโโ ๐ธ Wiring.jpg
โ โ
โ โโโ ๐ diagrams/ # Technical diagrams
โ โโโ ๐ Pinout.svg
โ
โโโ ๐ README.md # Project documentation
โโโ ๐ project.yaml # Project metadata
Files Organized: 23 total
โ
โโโ ๐ By Category
โ โโโ Software: 35% (8 files)
โ โโโ Hardware: 22% (5 files)
โ โโโ CAD: 17% (4 files)
โ โโโ Docs: 26% (6 files)
โ
โโโ ๐ Results
โโโ Structure: 100% compliant
โโโ Naming: Standardized
โโโ Versions: Tracked
โโโ Ready for: Git, Sharing, Team Work
- Always use
/mnt/c/...
style paths - Copy-paste paths from Windows Explorer and add
/mnt/c/
at start - Use Tab completion in WSL to verify paths
- Use descriptive project names
- Start with ONGOING or Test_Lab
- Move to DONE when complete
- Use Code_Vault for useful snippets
The tool automatically:
- Detects project type
- Preserves build settings
- Keeps libraries intact
- Organizes supporting files
- Project templates
- Backup features
- Git integration
- Project health checks
-
"Where should I put my project?"
- ONGOING: For active projects
- Test_Lab: For quick tests
- Code_Vault: For useful code bits
-
"What happens to my original files?"
- They stay where they are
- Tool creates organized copy
- Original files untouched
-
"I messed up the organization!"
- Just run again with a new project name
- Original files are safe
- Try different organization patterns
Love organizing? Got ideas? Contributions welcome!
- Fork the repo
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the MIT License.
- Inspired by every maker's need for organization
- Built with โค๏ธ for the maker community
- Thanks to all contributors!
Got project files everywhere? Arduino sketches scattered across your PC? Random STL files you can't find? Fear not, fellow maker! This tool will transform your chaotic project folders into a well-organized maker's paradise!
- ๐ ๏ธ Hardware+Software projects
- ๐ง Arduino/PlatformIO development
- ๐พ Code snippet management
- ๐๏ธ Project organization
- ๐ Multi-project workspaces
- Smart Project Detection: Automatically identifies Arduino, PlatformIO projects
- Code Snippet Organization: Keep your valuable code bits organized
- Project Lifecycle: Track projects from idea to completion
- Simple Configuration: Easy to set up and use
- Windows Friendly: Works great with WSL!
-
Install WSL on Windows
- Press
Windows + X
to open the Power User menu - Click on "Windows Powershell (Admin)"
- Run:
wsl --install
- Restart when prompted
- Press
-
Create Your Linux User
- After restart, WSL will ask for a username and password
- Remember these credentials!
-
Get Project Forge Running
- Press
Windows + X
and click "Windows Powershell" (not admin) - Copy and paste these commands one by one:
- Press
sudo apt update
sudo apt install python3 python3-pip python3-yaml git
git clone https://github.com/Kalougear/ProjectForge.git
cd ProjectForge
python3 -m project_forge
๐ Quick Access Tip: Next time, just open Windows Powershell and run:
cd ~/ProjectForge
python3 -m project_forge
Quick setup in one go:
# Complete setup
sudo apt update && sudo apt install python3 python3-pip python3-yaml git
git clone https://github.com/Kalougear/ProjectForge.git
cd ProjectForge
python3 -m project_forge
Remember: Use WSL paths! (/mnt/c/Users/...
)
One-line setup:
sudo apt update && sudo apt install python3 python3-pip git && pip3 install PyYAML && git clone https://github.com/Kalougear/ProjectForge.git && cd ProjectForge && python3 -m project_forge
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install python3 git && \
pip3 install PyYAML && \
git clone https://github.com/Kalougear/ProjectForge.git && \
cd ProjectForge && \
python3 -m project_forge
Windows Path โ Linux/WSL Path
---------------- --------------
C:\Users\Name\Projects โ /mnt/c/Users/Name/Projects
D:\Maker_Projects โ /mnt/d/Maker_Projects
# WSL not installing?
wsl --install --no-distribution
wsl --install -d Ubuntu
# Still problems?
# Windows + X โ PowerShell (Admin):
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
# Python not found?
sudo apt install --reinstall python3
# pip issues?
sudo apt install --reinstall python3-pip
# Check where you are
pwd
# Check if script is there
ls project_forge.py
# Check Python
python3 --version
YourPath/
โโโ ONGOING/ # Active projects
โโโ IDEAS/ # Future projects
โโโ HOLD/ # Paused projects
โโโ DONE/ # Completed projects
โโโ Test_Lab/ # Test code
โโโ Code_Vault/ # Code snippets
Each project gets:
Project_Name/
โโโ software/ # All your code
โโโ hardware/ # Schematics, PCB files
โโโ cad/ # 3D models, STLs
โโโ _docs/ # Documentation
โโโ builds/ # Build outputs
-
"Command not found"
# Make sure you're in the right directory: cd /path/to/where/you/put/project_forge.py
-
Path Not Found
# Make sure to use WSL paths: โ C:\Projects โ /mnt/c/Projects
-
Python Issues
# Install Python & pip: sudo apt update sudo apt install python3 python3-pip
# Start the program:
python3 project_forge.py
# You'll see this menu:
==================================================
Project|Forge
==================================================
1. Create new project
2. Organize existing project
3. Move project between statuses
4. List all projects
5. Exit
Select option: 1
Enter project name: My_Arduino_Project
# Pro tip: Use underscores for spaces!
Select status:
1. ONGOING: Active projects # Choose this for new projects
2. IDEAS: Future plans
3. HOLD: Paused projects
4. DONE: Completed projects
5. Test_Lab # Good for quick tests
6. Code_Vault # For code snippets
Select option: 2
Select type:
1. Full Project # Choose this for complete projects
2. Code Snippets # For single files/small code bits
Enter path: /mnt/c/Users/YourName/Desktop/messy_project
# Remember to use WSL paths!
Select option: 3
# Just follow the prompts - it's easy!
Before (Messy Desktop):
Desktop/
โโโ led_code.ino
โโโ schematic.pdf
โโโ case_v1.stl
โโโ notes.txt
After Running Tool:
ONGOING/Arduino_LED_Project/
โโโ software/
โ โโโ src/
โ โโโ led_code.ino # Your code, safe and sound
โโโ hardware/
โ โโโ schematics/
โ โโโ schematic.pdf # Hardware docs organized
โโโ cad/
โ โโโ 3dprint/
โ โโโ case_v1.stl # 3D files in the right place
โโโ _docs/
โโโ notes/
โโโ notes.txt # Documentation where it belongs
Turn this:
random_folder/
โโโ uart_code.cpp
โโโ old_uart.cpp
โโโ uart.h
Into this:
Code_Vault/
โโโ UART_Handler/
โโโ UART_Handler.cpp # Clean, organized, reusable!
~/Desktop/robot_mess/
โโโ main_v1.cpp
โโโ main_final.cpp
โโโ main_final_GOOD.cpp
โโโ robot_test.ino
โโโ servo.h
โโโ old_servo.h
โโโ config_backup.h
โโโ platformio.ini
โโโ random_todo.txt
โโโ notes_jan15.txt
โโโ meeting_notes.md
โโโ schematic_v1.pdf
โโโ schematic_FINAL.pdf
โโโ pcb_design.kicad_pcb
โโโ gerbers.zip
โโโ BOM_v2.xlsx
โโโ parts_list.csv
โโโ robot_case.f3d
โโโ case_v1.stl
โโโ case_v2.stl
โโโ case_final.stl
โโโ IMG_001.jpg
โโโ wiring_diagram.jpg
โโโ project_photo.jpg
$ python3 project_forge.py
Select option: 2 # Organize existing project
Select type: 1 # Full Project
# Providing paths
Enter source: ~/Desktop/robot_mess
Enter name: Robot_Arm_Project
-
Project Analysis
Analyzing project structure... - Found PlatformIO config (platformio.ini) - Found Arduino sketches (.ino) - Detected 23 files to organize
-
Smart Detection
Detected project types: โ PlatformIO project โ Arduino sketches โ CAD files present โ Hardware documentation
-
File Analysis
Analyzing files: - Found multiple main file versions - Found scattered documentation - Found CAD iterations - Found hardware design files
-
Organization Actions
Performing organization: โ Moving source files to software/ โ Consolidating documentation to _docs/ โ Organizing CAD files โ Structuring hardware files
(See detailed structure in previous example)
-
Code Management
Software cleanup: โ Detected main version files โ Created archive for old versions โ Preserved build configurations โ Organized libraries
-
Documentation Organization
Documentation cleanup: โ Gathered scattered notes โ Organized by type (notes, images) โ Maintained date context โ Structured for easy access
-
Hardware Files
Hardware file organization: โ Separated schematics versions โ Organized production files โ Structured BOMs and parts lists
-
CAD Files
CAD file management: โ Separated source and output files โ Organized STL versions โ Maintained original CAD files
Organization Complete!
Files Processed: 23
โโโ Software Files: 8
โโโ Documentation: 6
โโโ Hardware Files: 5
โโโ CAD Files: 4
Structure Compliance: 100%
File Naming: Standardized
Version Control Ready: Yes
Robot_Arm_Project/ # Your organized project
โ
โโโ ๐ software/ # All code in one place
โ โโโ ๐ src/ # Current source code
โ โ โโโ ๐ Main.cpp # Main program
โ โ โโโ ๐ Robot.ino # Arduino sketch
โ โ โโโ ๐ Config.h # Configuration
โ โ
โ โโโ ๐ libs/ # Project libraries
โ โ โโโ ๐ ServoLib.cpp # Servo control
โ โ โโโ ๐ ServoHandler.h # Servo headers
โ โ
โ โโโ ๐ archive/ # Old versions, safe but out of the way
โ โ โโโ ๐ Main_v1.cpp
โ โ โโโ ๐ Main_backup.cpp
โ โ
โ โโโ ๐ platformio.ini # Build configuration
โ
โโโ ๐ hardware/ # All hardware files
โ โโโ ๐ schematics/
โ โ โโโ ๐ Schematic_v2.pdf # Current version
โ โ โโโ ๐ Schematic_v1.pdf # Previous version
โ โ
โ โโโ ๐ pcb/ # PCB design files
โ โ โโโ ๐ MainBoard.kicad_pcb
โ โ
โ โโโ ๐ production/ # Manufacturing files
โ โโโ ๐ gerber/
โ โ โโโ ๐ฆ Gerbers.zip
โ โโโ ๐ assembly/
โ โโโ ๐ BOM.xlsx
โ
โโโ ๐ cad/ # 3D design files
โ โโโ ๐ models/ # Source files
โ โ โโโ ๐ RobotCase.f3d # Fusion 360 file
โ โ
โ โโโ ๐ 3dprint/ # Print files
โ โโโ ๐ stl/
โ โโโ ๐ Case.stl
โ โโโ ๐ Mount.stl
โ
โโโ ๐ _docs/ # All documentation
โ โโโ ๐ notes/ # Project notes
โ โ โโโ ๐ BuildNotes.txt
โ โ โโโ ๐ TODO.md
โ โ
โ โโโ ๐ images/ # Project images
โ โ โโโ ๐ธ Prototype.jpg
โ โ โโโ ๐ธ Wiring.jpg
โ โ
โ โโโ ๐ diagrams/ # Technical diagrams
โ โโโ ๐ Pinout.svg
โ
โโโ ๐ README.md # Project documentation
โโโ ๐ project.yaml # Project metadata
Files Organized: 23 total
โ
โโโ ๐ By Category
โ โโโ Software: 35% (8 files)
โ โโโ Hardware: 22% (5 files)
โ โโโ CAD: 17% (4 files)
โ โโโ Docs: 26% (6 files)
โ
โโโ ๐ Results
โโโ Structure: 100% compliant
โโโ Naming: Standardized
โโโ Versions: Tracked
โโโ Ready for: Git, Sharing, Team Work
- Always use
/mnt/c/...
style paths - Copy-paste paths from Windows Explorer and add
/mnt/c/
at start - Use Tab completion in WSL to verify paths
- Use descriptive project names
- Start with ONGOING or Test_Lab
- Move to DONE when complete
- Use Code_Vault for useful snippets
The tool automatically:
- Detects project type
- Preserves build settings
- Keeps libraries intact
- Organizes supporting files
- Project templates
- Backup features
- Git integration
- Project health checks
-
"Where should I put my project?"
- ONGOING: For active projects
- Test_Lab: For quick tests
- Code_Vault: For useful code bits
-
"What happens to my original files?"
- They stay where they are
- Tool creates organized copy
- Original files untouched
-
"I messed up the organization!"
- Just run again with a new project name
- Original files are safe
- Try different organization patterns
Love organizing? Got ideas? Contributions welcome!
- Fork the repo
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the MIT License.
- Inspired by every maker's need for organization
- Built with โค๏ธ for the maker community
- Thanks to all contributors!
Made with ๐ ๏ธ by [SKTech] - For Makers, By Makers!
77c58e0e3047179eb5f50897ae60a3aa69e8ec8c