Filesystem Structures

Provides ready-to-use filesystem organization structures tailored for various use cases, enabling users to set up and optimize their digital content management with adaptable templates. Supports productivity, development, media management, and personal knowledge organization through structured directory hierarchies.

Author

Filesystem Structures logo

deathrashed

MIT License

Quick Info

GitHub GitHub Stars 1
NPM Weekly Downloads 0
Tools 1
Last Updated 16/8/2025

Tags

filesystem directory hierarchies deathrashed filesystem filesystem organization filesystem structures

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

Structure Complexity Best For Key Feature Learning Curve
1: Basic Low General users, beginners Standard directory conventions Minimal
2: Intermediate Low-Medium General users with more needs Extended top-level organization Low
3: Advanced High Power users, professionals Granular organization, symlinks Steep
4: Multimedia Medium Artists, media producers Media type specialization Moderate
5: PARA Method Medium Knowledge workers Actionability-based organization Moderate
6: Johnny.Decimal Medium-High Detail-oriented organizers Numeric classification system Moderate
7: Action-Oriented (GTD) Medium Task-focused workers Status-based organization Moderate
8: Time-Based Low-Medium Project managers, archivists Chronological organization Low
9: Developer-Focused High Software developers Code-specific organization Moderate-Steep
10: Deep Hierarchy Very High Taxonomists, librarians Multi-level categorization Very Steep
11: Linux-Based Medium-High Linux users, sysadmins FHS-inspired organization Moderate

📂 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

🧠 Methodology-Based

⚙️ Advanced Approaches

🎭 Real-World Use Cases

Professional Scenarios
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 = @(
    "$HOME\Documents\Personal",
    "$HOME\Documents\Work",
    "$HOME\Documents\School",
    "$HOME\Documents\Financial",
    "$HOME\Downloads\Installers",
    "$HOME\Downloads\Documents",
    "$HOME\Downloads\Images",
    "$HOME\Downloads\Archives",
    "$HOME\Pictures\Personal",
    "$HOME\Pictures\Work",
    "$HOME\Pictures\Wallpapers",
    "$HOME\Pictures\Screenshots",
    "$HOME\Music\Albums",
    "$HOME\Music\Playlists",
    "$HOME\Music\Podcasts",
    "$HOME\Music\Audiobooks",
    "$HOME\Videos\Movies",
    "$HOME\Videos\TV Shows",
    "$HOME\Videos\Personal",
    "$HOME\Videos\Tutorials",
    "$HOME\Desktop\Current Projects",
    "$HOME\Desktop\To 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-structures\Structure 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