Skip to content

Kalougear/ProjectForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

25 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ› ๏ธ Project|Forge - Crafting Order from Chaos

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!

Thumbs Up Kid

Python Platform License

Made with ๐Ÿ› ๏ธ by [SKTech] - For Makers, By Makers!

Contributors

๐Ÿ“‘ Table of Contents

Getting Started

Basic Usage

Help & Support

๐ŸŽฏ Perfect for:

  • ๐Ÿ› ๏ธ Hardware+Software projects
  • ๐Ÿ”ง Arduino/PlatformIO development
  • ๐Ÿ’พ Code snippet management
  • ๐Ÿ—‚๏ธ Project organization
  • ๐Ÿ“ Multi-project workspaces

๐ŸŒŸ Key Features

  • 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!

๐Ÿš€ Project|Forge Setup Guide

๐ŸŒŸ Choose Your Path:

๐Ÿฃ Complete Beginner ("Help! What's Linux?")

๐Ÿ”ง WSL User ("I know this stuff!")

๐Ÿง Linux Pro ("Just give me the commands!")


๐Ÿ‘ฃ WSL Setup for Beginners (Friendly Edition)

  1. Install WSL on Windows

    • Press Windows + X to open the Power User menu
    • Click on "Windows Powershell (Admin)"
    • Run: wsl --install
    • Restart when prompted
  2. Create Your Linux User

    • After restart, WSL will ask for a username and password
    • Remember these credentials!
  3. Get Project Forge Running

    • Press Windows + X and click "Windows Powershell" (not admin)
    • Copy and paste these commands one by one:

1. Install required package (one-time setup)

sudo apt update
sudo apt install python3 python3-pip python3-yaml git

2. Clone the repo (one-time setup)

git clone https://github.com/Kalougear/ProjectForge.git
cd ProjectForge

3. Run the script

python3 -m project_forge

๐Ÿš€ Quick Access Tip: Next time, just open Windows Powershell and run:

cd ~/ProjectForge
python3 -m project_forge

๐Ÿ”ง For WSL Users

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/...)

๐Ÿง For Linux 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

๐ŸŽ For Mac/MacOS Users

1. Install Homebrew (if not installed)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. Complete Mac setup in one go:

brew install python3 git && \
pip3 install PyYAML && \
git clone https://github.com/Kalougear/ProjectForge.git && \
cd ProjectForge && \
python3 -m project_forge

๐Ÿ—บ๏ธ Path Guide (For Everyone!)

Windows Path              โ†’  Linux/WSL Path
----------------            --------------
C:\Users\Name\Projects  โ†’  /mnt/c/Users/Name/Projects
D:\Maker_Projects      โ†’  /mnt/d/Maker_Projects

๐Ÿ†˜ Quick Troubleshooting

WSL Issues?

# 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 Issues?

# Python not found?
sudo apt install --reinstall python3

# pip issues?
sudo apt install --reinstall python3-pip

Can't Run Script?

# Check where you are
pwd

# Check if script is there
ls project_forge.py

# Check Python
python3 --version

๐Ÿ“ Project Structure You'll Get

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

โ— Troubleshooting

Common Issues

  1. "Command not found"

    # Make sure you're in the right directory:
    cd /path/to/where/you/put/project_forge.py
  2. Path Not Found

    # Make sure to use WSL paths:
    โŒ C:\Projects
    โœ… /mnt/c/Projects
  3. Python Issues

    # Install Python & pip:
    sudo apt update
    sudo apt install python3 python3-pip

๐ŸŽฎ Using The Project|Forge

Interactive Mode - Your Main Interface

# 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

๐ŸŽฏ Common Use Cases

1. Starting a New Project

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

2. Cleaning Up Messy Projects

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!

3. Moving Projects (e.g., from ONGOING to DONE)

Select option: 3
# Just follow the prompts - it's easy!

๐Ÿ“ Real World Examples

Example 1: Arduino Project Organization

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

Example 2: Code Snippet Organization

Turn this:

random_folder/
โ”œโ”€โ”€ uart_code.cpp
โ”œโ”€โ”€ old_uart.cpp
โ””โ”€โ”€ uart.h

Into this:

Code_Vault/
โ””โ”€โ”€ UART_Handler/
    โ””โ”€โ”€ UART_Handler.cpp   # Clean, organized, reusable!

๐Ÿ’ฃ Example 3: Super Messy Project Clean-up

Initial Chaos (Before):

~/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

๐ŸŽฏ Organization Process - Step by Step

$ 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

๐Ÿ” What's Happening Behind the Scenes:

  1. Project Analysis

    Analyzing project structure...
    - Found PlatformIO config (platformio.ini)
    - Found Arduino sketches (.ino)
    - Detected 23 files to organize
  2. Smart Detection

    Detected project types:
    โœ“ PlatformIO project
    โœ“ Arduino sketches
    โœ“ CAD files present
    โœ“ Hardware documentation
  3. File Analysis

    Analyzing files:
    - Found multiple main file versions
    - Found scattered documentation
    - Found CAD iterations
    - Found hardware design files
  4. Organization Actions

    Performing organization:
    โ†’ Moving source files to software/
    โ†’ Consolidating documentation to _docs/
    โ†’ Organizing CAD files
    โ†’ Structuring hardware files

๐Ÿ“Š Organization Results (After):

(See detailed structure in previous example)

๐ŸŽฏ What The Tool Did:

  1. Code Management

    Software cleanup:
    โœ“ Detected main version files
    โœ“ Created archive for old versions
    โœ“ Preserved build configurations
    โœ“ Organized libraries
  2. Documentation Organization

    Documentation cleanup:
    โœ“ Gathered scattered notes
    โœ“ Organized by type (notes, images)
    โœ“ Maintained date context
    โœ“ Structured for easy access
  3. Hardware Files

    Hardware file organization:
    โœ“ Separated schematics versions
    โœ“ Organized production files
    โœ“ Structured BOMs and parts lists
  4. CAD Files

    CAD file management:
    โœ“ Separated source and output files
    โœ“ Organized STL versions
    โœ“ Maintained original CAD files

๐ŸŽ‰ Final Results:

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

โœจ Final Project Structure

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

๐Ÿ“Š Organization Statistics

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

๐Ÿ’ก Pro Tips

For Windows Users

  • 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

For Project Organization

  • Use descriptive project names
  • Start with ONGOING or Test_Lab
  • Move to DONE when complete
  • Use Code_Vault for useful snippets

For Arduino/PlatformIO Projects

The tool automatically:

  • Detects project type
  • Preserves build settings
  • Keeps libraries intact
  • Organizes supporting files

๐Ÿ”ฎ Coming Soon

  • Project templates
  • Backup features
  • Git integration
  • Project health checks

๐Ÿ†˜ Need Help?

Common Questions

  1. "Where should I put my project?"

    • ONGOING: For active projects
    • Test_Lab: For quick tests
    • Code_Vault: For useful code bits
  2. "What happens to my original files?"

    • They stay where they are
    • Tool creates organized copy
    • Original files untouched
  3. "I messed up the organization!"

    • Just run again with a new project name
    • Original files are safe
    • Try different organization patterns

๐Ÿค Contributing

Love organizing? Got ideas? Contributions welcome!

  1. Fork the repo
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License.

๐Ÿ™ Acknowledgments

  • 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!

๐Ÿ› ๏ธ Project|Forge - Crafting Order from Chaos

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!

Thumbs Up Kid

Python Platform License

Made with ๐Ÿ› ๏ธ by [SKTech] - For Makers, By Makers!

Contributors

๐Ÿ“‘ Table of Contents

Getting Started

Basic Usage

Help & Support

๐ŸŽฏ Perfect for:

  • ๐Ÿ› ๏ธ Hardware+Software projects
  • ๐Ÿ”ง Arduino/PlatformIO development
  • ๐Ÿ’พ Code snippet management
  • ๐Ÿ—‚๏ธ Project organization
  • ๐Ÿ“ Multi-project workspaces

๐ŸŒŸ Key Features

  • 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!

๐Ÿš€ Project|Forge Setup Guide

๐ŸŒŸ Choose Your Path:

๐Ÿฃ Complete Beginner ("Help! What's Linux?")

๐Ÿ”ง WSL User ("I know this stuff!")

๐Ÿง Linux Pro ("Just give me the commands!")


๐Ÿ‘ฃ WSL Setup for Beginners (Friendly Edition)

  1. Install WSL on Windows

    • Press Windows + X to open the Power User menu
    • Click on "Windows Powershell (Admin)"
    • Run: wsl --install
    • Restart when prompted
  2. Create Your Linux User

    • After restart, WSL will ask for a username and password
    • Remember these credentials!
  3. Get Project Forge Running

    • Press Windows + X and click "Windows Powershell" (not admin)
    • Copy and paste these commands one by one:

1. Install required package (one-time setup)

sudo apt update
sudo apt install python3 python3-pip python3-yaml git

2. Clone the repo (one-time setup)

git clone https://github.com/Kalougear/ProjectForge.git
cd ProjectForge

3. Run the script

python3 -m project_forge

๐Ÿš€ Quick Access Tip: Next time, just open Windows Powershell and run:

cd ~/ProjectForge
python3 -m project_forge

๐Ÿ”ง For WSL Users

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/...)

๐Ÿง For Linux 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

๐ŸŽ For Mac/MacOS Users

1. Install Homebrew (if not installed)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. Complete Mac setup in one go:

brew install python3 git && \
pip3 install PyYAML && \
git clone https://github.com/Kalougear/ProjectForge.git && \
cd ProjectForge && \
python3 -m project_forge

๐Ÿ—บ๏ธ Path Guide (For Everyone!)

Windows Path              โ†’  Linux/WSL Path
----------------            --------------
C:\Users\Name\Projects  โ†’  /mnt/c/Users/Name/Projects
D:\Maker_Projects      โ†’  /mnt/d/Maker_Projects

๐Ÿ†˜ Quick Troubleshooting

WSL Issues?

# 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 Issues?

# Python not found?
sudo apt install --reinstall python3

# pip issues?
sudo apt install --reinstall python3-pip

Can't Run Script?

# Check where you are
pwd

# Check if script is there
ls project_forge.py

# Check Python
python3 --version

๐Ÿ“ Project Structure You'll Get

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

โ— Troubleshooting

Common Issues

  1. "Command not found"

    # Make sure you're in the right directory:
    cd /path/to/where/you/put/project_forge.py
  2. Path Not Found

    # Make sure to use WSL paths:
    โŒ C:\Projects
    โœ… /mnt/c/Projects
  3. Python Issues

    # Install Python & pip:
    sudo apt update
    sudo apt install python3 python3-pip

๐ŸŽฎ Using The Project|Forge

Interactive Mode - Your Main Interface

# 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

๐ŸŽฏ Common Use Cases

1. Starting a New Project

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

2. Cleaning Up Messy Projects

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!

3. Moving Projects (e.g., from ONGOING to DONE)

Select option: 3
# Just follow the prompts - it's easy!

๐Ÿ“ Real World Examples

Example 1: Arduino Project Organization

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

Example 2: Code Snippet Organization

Turn this:

random_folder/
โ”œโ”€โ”€ uart_code.cpp
โ”œโ”€โ”€ old_uart.cpp
โ””โ”€โ”€ uart.h

Into this:

Code_Vault/
โ””โ”€โ”€ UART_Handler/
    โ””โ”€โ”€ UART_Handler.cpp   # Clean, organized, reusable!

๐Ÿ’ฃ Example 3: Super Messy Project Clean-up

Initial Chaos (Before):

~/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

๐ŸŽฏ Organization Process - Step by Step

$ 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

๐Ÿ” What's Happening Behind the Scenes:

  1. Project Analysis

    Analyzing project structure...
    - Found PlatformIO config (platformio.ini)
    - Found Arduino sketches (.ino)
    - Detected 23 files to organize
  2. Smart Detection

    Detected project types:
    โœ“ PlatformIO project
    โœ“ Arduino sketches
    โœ“ CAD files present
    โœ“ Hardware documentation
  3. File Analysis

    Analyzing files:
    - Found multiple main file versions
    - Found scattered documentation
    - Found CAD iterations
    - Found hardware design files
  4. Organization Actions

    Performing organization:
    โ†’ Moving source files to software/
    โ†’ Consolidating documentation to _docs/
    โ†’ Organizing CAD files
    โ†’ Structuring hardware files

๐Ÿ“Š Organization Results (After):

(See detailed structure in previous example)

๐ŸŽฏ What The Tool Did:

  1. Code Management

    Software cleanup:
    โœ“ Detected main version files
    โœ“ Created archive for old versions
    โœ“ Preserved build configurations
    โœ“ Organized libraries
  2. Documentation Organization

    Documentation cleanup:
    โœ“ Gathered scattered notes
    โœ“ Organized by type (notes, images)
    โœ“ Maintained date context
    โœ“ Structured for easy access
  3. Hardware Files

    Hardware file organization:
    โœ“ Separated schematics versions
    โœ“ Organized production files
    โœ“ Structured BOMs and parts lists
  4. CAD Files

    CAD file management:
    โœ“ Separated source and output files
    โœ“ Organized STL versions
    โœ“ Maintained original CAD files

๐ŸŽ‰ Final Results:

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

โœจ Final Project Structure

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

๐Ÿ“Š Organization Statistics

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

๐Ÿ’ก Pro Tips

For Windows Users

  • 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

For Project Organization

  • Use descriptive project names
  • Start with ONGOING or Test_Lab
  • Move to DONE when complete
  • Use Code_Vault for useful snippets

For Arduino/PlatformIO Projects

The tool automatically:

  • Detects project type
  • Preserves build settings
  • Keeps libraries intact
  • Organizes supporting files

๐Ÿ”ฎ Coming Soon

  • Project templates
  • Backup features
  • Git integration
  • Project health checks

๐Ÿ†˜ Need Help?

Common Questions

  1. "Where should I put my project?"

    • ONGOING: For active projects
    • Test_Lab: For quick tests
    • Code_Vault: For useful code bits
  2. "What happens to my original files?"

    • They stay where they are
    • Tool creates organized copy
    • Original files untouched
  3. "I messed up the organization!"

    • Just run again with a new project name
    • Original files are safe
    • Try different organization patterns

๐Ÿค Contributing

Love organizing? Got ideas? Contributions welcome!

  1. Fork the repo
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License.

๐Ÿ™ Acknowledgments

  • 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages