✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

Filesystem Structures

License Structures macOS Linux Windows

A comprehensive collection of filesystem organization structures for different use cases, complexity levels, and workflows.

🎯 Purpose

This repository provides ready-to-use filesystem organization structures that you can adopt or customize for your own needs. Whether you’re:

  • Setting up a new system
  • Reorganizing your files
  • Looking for better ways to manage your digital content
  • Implementing a productivity system
  • Setting up a development environment

These structures offer practical starting points that are easy to implement and adapt.

📊 Structure Comparison

StructureComplexityBest ForKey FeatureLearning Curve
1: BasicLowGeneral users, beginnersStandard directory conventionsMinimal
2: IntermediateLow-MediumGeneral users with more needsExtended top-level organizationLow
3: AdvancedHighPower users, professionalsGranular organization, symlinksSteep
4: MultimediaMediumArtists, media producersMedia type specializationModerate
5: PARA MethodMediumKnowledge workersActionability-based organizationModerate
6: Johnny.DecimalMedium-HighDetail-oriented organizersNumeric classification systemModerate
7: Action-Oriented (GTD)MediumTask-focused workersStatus-based organizationModerate
8: Time-BasedLow-MediumProject managers, archivistsChronological organizationLow
9: Developer-FocusedHighSoftware developersCode-specific organizationModerate-Steep
10: Deep HierarchyVery HighTaxonomists, librariansMulti-level categorizationVery Steep
11: Linux-BasedMedium-HighLinux users, sysadminsFHS-inspired organizationModerate

📂 Available Structures

🌱 For Beginners

  • Structure 1: Basic - A simple, clean organization system suitable for most users with standard conventions and clear second-level organization.
  • Structure 2: Intermediate - Expands on the basic layout with additional top-level directories and more detailed organization.

🧰 Special Purpose

  • Structure 4: Multimedia - Optimized for users who work heavily with media files - audio, video, images, and graphics.
  • Structure 9: Developer-Focused - Optimized for software developers, separating code environments from documents and using symlinks for efficiency.
  • Structure 11: Linux Based - Follows Linux filesystem hierarchy standards with appropriate modifications for personal use.

🧠 Methodology-Based

  • Structure 5: PARA Method - Based on Tiago Forte's PARA method (Projects, Areas, Resources, Archives).
  • Structure 6: Johnny.Decimal - Implements the Johnny.Decimal system with numeric identifiers for improved navigation.
  • Structure 7: Action-Oriented (GTD) - Inspired by David Allen's "Getting Things Done" methodology.

⚙️ Advanced Approaches

  • Structure 3: Advanced - For power users who need granular organization and sophisticated linking between resources.
  • Structure 8: Time-Based - Organizes files primarily by time periods for archival purposes and chronological work.
  • Structure 10: Deep Hierarchy - Uses deep nesting and categorization for extremely detailed organization.

🎭 Real-World Use Cases

Professional Scenarios
  • Freelance Designer - Multimedia Structure for organizing client work, design assets, and project files
  • Software Engineer - Developer-Focused Structure for managing codebases, development environments, and documentation
  • Project Manager - Time-Based Structure combined with GTD approach for tracking deliverables and timelines
  • Content Creator - Multimedia Structure for organizing production assets across multiple platforms
  • Researcher/Academic - Deep Hierarchy or PARA Method for organizing papers, references, and research materials
  • System Administrator - Linux-Based Structure for maintaining configs, scripts, and documentation
  • Knowledge Worker - PARA Method or Johnny.Decimal for personal knowledge management
Personal Use Cases
  • Family Computer - Basic Structure with separate user folders for each family member
  • Personal Knowledge Base - Johnny.Decimal for organizing notes, references, and learning materials
  • Media Collection - Multimedia Structure for organizing music, movies, and photos
  • Home Project Management - GTD Structure for organizing renovation projects, financial planning, etc.
  • Digital Archiving - Time-Based Structure for preserving family history, photos, and important documents
Hybrid Approaches
  • PARA + Multimedia - Combining actionability-based organization with specialized media directories
  • GTD + Developer - Task-oriented structure with specialized code organization
  • Johnny.Decimal + Time-Based - Using numeric classification within chronological organization
  • Basic + PARA - Starting with a simple structure and gradually implementing PARA principles

📋 Implementation

Each structure includes:

  • A detailed README.md explaining its purpose, benefits, and implementation tips
  • A structure_schema.txt showing the complete directory hierarchy
  • The actual directory structure to explore and use as a template

🤖 Automation Scripts

Bash (macOS/Linux)
#!/bin/bash
# Script to create a basic file structure (Structure 1)

# Create main directories
mkdir -p ~/Documents/{Personal,Work,School,Financial}
mkdir -p ~/Downloads/{Installers,Documents,Images,Archives}
mkdir -p ~/Pictures/{Personal,Work,Wallpapers,Screenshots}
mkdir -p ~/Music/{Albums,Playlists,Podcasts,Audiobooks}
mkdir -p ~/Videos/{Movies,"TV Shows",Personal,Tutorials}
mkdir -p ~/Desktop/{"Current Projects","To Sort"}

echo "Basic directory structure created successfully!"
PowerShell (Windows)
# PowerShell script to create a basic file structure (Structure 1)

# Create main directories
$directories = @(
    "$HOMEDocumentsPersonal",
    "$HOMEDocumentsWork",
    "$HOMEDocumentsSchool",
    "$HOMEDocumentsFinancial",
    "$HOMEDownloadsInstallers",
    "$HOMEDownloadsDocuments",
    "$HOMEDownloadsImages",
    "$HOMEDownloadsArchives",
    "$HOMEPicturesPersonal",
    "$HOMEPicturesWork",
    "$HOMEPicturesWallpapers",
    "$HOMEPicturesScreenshots",
    "$HOMEMusicAlbums",
    "$HOMEMusicPlaylists",
    "$HOMEMusicPodcasts",
    "$HOMEMusicAudiobooks",
    "$HOMEVideosMovies",
    "$HOMEVideosTV Shows",
    "$HOMEVideosPersonal",
    "$HOMEVideosTutorials",
    "$HOMEDesktopCurrent Projects",
    "$HOMEDesktopTo Sort"
)

foreach ($dir in $directories) {
    if (!(Test-Path -Path $dir)) {
        New-Item -ItemType Directory -Path $dir -Force
    }
}

Write-Host "Basic directory structure created successfully!" -ForegroundColor Green
Python (Cross-Platform)
#!/usr/bin/env python3
# Script to create any filesystem structure based on input

import os
import sys
import json
from pathlib import Path

def create_structure(base_path, structure):
    """Recursively create directory structure from dict"""
    for name, contents in structure.items():
        path = os.path.join(base_path, name)
        os.makedirs(path, exist_ok=True)
        print(f"Created: {path}")
        
        if isinstance(contents, dict):
            create_structure(path, contents)

if __name__ == "__main__":
    # Example structure (can be loaded from JSON file)
    basic_structure = {
        "Documents": {
            "Personal": {},
            "Work": {},
            "School": {},
            "Financial": {}
        },
        "Downloads": {
            "Installers": {},
            "Documents": {},
            "Images": {},
            "Archives": {}
        },
        "Pictures": {
            "Personal": {},
            "Work": {},
            "Wallpapers": {},
            "Screenshots": {}
        },
        "Music": {
            "Albums": {},
            "Playlists": {},
            "Podcasts": {},
            "Audiobooks": {}
        },
        "Videos": {
            "Movies": {},
            "TV Shows": {},
            "Personal": {},
            "Tutorials": {}
        },
        "Desktop": {
            "Current Projects": {},
            "To Sort": {}
        }
    }
    
    home_dir = str(Path.home())
    create_structure(home_dir, basic_structure)
    print(f"Structure created successfully in {home_dir}")

🚀 Using These Structures

Browse & Explore

Navigate through each structure directory to understand its organization principles and advantages for different use cases. Compare multiple structures to find elements that might work best for your needs.

Copy & Implement

You can copy entire structures or portions that fit your needs:

# Clone the entire repository
git clone https://github.com/deathrashed/filesystem-structures.git

# Copy a specific structure to your home directory
cp -r filesystem-structures/Structure 1 - Basic/* ~/

# For Windows users (using PowerShell)
Copy-Item -Path "filesystem-structuresStructure 1 - Basic*" -Destination $HOME -Recurse

Customize & Adapt

These structures are starting points. Modify them to better match your specific requirements:

  • Rename directories to match your terminology preferences
  • Add or remove subdirectories based on your actual usage patterns
  • Combine elements from multiple structures to create a hybrid system
  • Create symlinks to frequently accessed locations

💡 Customization Examples

Photo Organization Hybrid

A photographer combined the Multimedia Structure with Time-Based approach:

Photos/
├── Projects/                # Active photo projects
│   ├── Client_Shoots/       # Client work organized by client name
│   └── Personal_Projects/   # Personal creative projects
├── Archive/                 # Completed work
│   ├── 2021/               
│   │   ├── Q1/             # Quarterly organization
│   │   ├── Q2/
│   │   └── ...
│   ├── 2022/
│   └── ...
├── Portfolio/               # Best work for showcase
│   ├── Landscapes/
│   ├── Portraits/
│   └── ...
└── Resources/               # Reference materials
    ├── Presets/
    ├── Textures/
    └── Educational/

Developer Knowledge Base

A software developer combined Developer-Focused with Johnny.Decimal:

KnowledgeBase/
├── 10-19 Development/
│   ├── 11 Languages/
│   │   ├── 11.01 Python/
│   │   ├── 11.02 JavaScript/
│   │   └── ...
│   ├── 12 Frameworks/
│   │   ├── 12.01 React/
│   │   ├── 12.02 Django/
│   │   └── ...
│   └── ...
├── 20-29 Systems/
│   ├── 21 DevOps/
│   ├── 22 Databases/
│   └── ...
├── 30-39 Projects/
│   ├── 31 Personal/
│   ├── 32 Work/
│   └── ...
└── 90-99 Meta/
    ├── 91 Templates/
    ├── 92 Scripts/
    └── ...

Small Business Admin Structure

A small business owner combined GTD with PARA:

Business/
├── Projects/                     # Current business initiatives
│   ├── Website_Redesign/
│   ├── Product_Launch_Spring23/
│   └── ...
├── Areas/                        # Ongoing business functions
│   ├── Accounting/
│   │   ├── A_Pending/            # Needs action
│   │   ├── A_Complete/           # Archived by year
│   │   └── A_Reference/          # Templates, etc.
│   ├── HR/
│   │   ├── H_Pending/
│   │   ├── H_Complete/
│   │   └── H_Reference/
│   └── ...
├── Resources/                    # Business knowledge
│   ├── Marketing/
│   ├── Industry_Research/
│   └── ...
└── Archives/                     # Completed projects and old items
    ├── 2021/
    ├── 2022/
    └── ...

🛠️ Customization Tips

  • Use Consistent Naming - Decide on naming conventions (CamelCase, kebab-case, snake_case) and apply them consistently
  • Consider Automation - Tools like Hazel (macOS), File Juggler (Windows), or inotify scripts (Linux) can help maintain your structure
  • Start Small - Implement a structure for new files first, then gradually organize existing files
  • Include Metadata - Consider adding tagging, color-coding, or README files within directories to add context
  • Review Periodically - Schedule regular reviews to adjust your structure as your needs evolve

🔄 Maintenance Recommendations

  1. Regular Reviews - Schedule monthly or quarterly reviews of your structure
  2. Inbox Processing - Maintain an inbox system for temporary files before proper filing
  3. Archive Old Content - Move inactive files to an archive to keep active directories lean
  4. Backup Strategy - Implement backups that respect your organizational structure
  5. Documentation - Keep notes on your customizations for future reference

🤝 Contributing

Contributions are welcome! Feel free to:

  • Submit additional structure designs
  • Suggest improvements to existing structures
  • Share your experiences and customizations
  • Report issues or suggest clarifications

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.


Created for the organizationally obsessed

GitHub

Featured Templates

View More
AI Assistants
AI Chatbot Starter Kit v0.1
140 912
AI Engineering
Python Bug Fixer
119 1433
AI Assistants
Talk with Claude 3
159 1523
Verified Icon
AI Agents
AI Chatbot Starter Kit
1336 8299 5.0
AI Characters
Your Speaking Avatar
169 928

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.