Skip to content

3D3Q3/C-PARAMDS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C-PARAMDS

A structured filesystem template combining PARA, Johnny Decimal, and real-world lessons.

License: MIT Shell: Bash Platform: Linux / macOS / WSL


What Is C-PARAMDS?

Most people organize files by gut feeling. Folders grow organically, naming is inconsistent, and finding anything older than a week requires a search tool. C-PARAMDS fixes this with a principled structure you can set up in seconds and maintain for years.

It combines two proven methodologies:

  • PARA Method (Tiago Forte) — Categorize everything by actionability: Projects (active, with deadlines), Areas (ongoing responsibilities), Resources (reference material), Archives (inactive items).
  • Johnny Decimal — Give every folder a fixed numeric address so it always sorts the same way and you always know where to look.

C-PARAMDS extends PARA with three additional ranges that modern digital life demands: Media (50-59), Development (60-69), and Sync (70-79), plus a first-position Inbox (00-09) for unsorted incoming files.

The "C" root directory is a deliberate choice — it mirrors the drive-letter convention, keeps repo-level files separate from your organized data, and gives you a single, portable root to back up, sync, or move between machines.

Quick Start

git clone https://github.com/3D3Q3/C-PARAMDS.git
cd C-PARAMDS

# Create the full structure in ./C
bash setup_folders.sh

# Or target your home directory
bash setup_folders.sh --target ~/C

# Preview without creating anything
bash setup_folders.sh --dry-run

# Top-level categories only (add subcategories later)
bash setup_folders.sh --minimal --target ~/C

Directory Structure

C/
├── 00-09_Inbox/              Unsorted incoming files — sort weekly!
│
├── 10-19_Projects/           Active work with defined goals and deadlines
│   ├── 11_Client/              Client and work projects
│   ├── 12_Personal/            Personal projects
│   └── 13_Experimental/        Experiments and prototypes
│
├── 20-29_Areas/              Ongoing responsibilities (no end date)
│   ├── 21_Health/               Medical, fitness, nutrition
│   ├── 22_Finances/             Banking, taxes, investments
│   ├── 23_Home/                 Home maintenance, appliances, utilities
│   ├── 24_Career/               Resume, certifications, reviews
│   └── 25_Identity/             Personal branding, domains, digital identity
│
├── 30-39_Resources/          Reference material and topics of interest
│   ├── 31_Learning/             Tutorials, courses, study material
│   ├── 32_Reference/            Documentation, manuals, collections
│   └── 33_Templates/            Reusable document and code templates
│
├── 40-49_Archives/           Completed or inactive items from above
│
├── 50-59_Media/              Media library
│   ├── 51_Books/                Ebooks, audiobooks, PDFs
│   ├── 52_Music/                Music collection
│   ├── 53_Movies/               Films
│   ├── 54_TV-Shows/             Television series
│   ├── 55_Images/               Graphics, artwork, wallpapers
│   ├── 56_Photos/               Personal photography
│   └── 57_Videos/               Video files
│
├── 60-69_Development/        Code and dev environments
│   ├── 61_Servers/              Server configs and infrastructure
│   ├── 62_Software/             Installed software and licenses
│   ├── 63_Repos/                Git repositories
│   └── 64_Dotfiles/             Shell configs, editor settings, dotfiles
│
└── 70-79_Sync/               Cloud and device synchronization
    ├── 71_Cloud-Primary/        Main cloud provider (Google Drive, etc.)
    ├── 72_Cloud-Secondary/      Backup cloud provider (OneDrive, etc.)
    └── 73_Device-Sync/          Device-to-device sync staging (Syncthing, etc.)

Numbering System

The numbering is intentional and serves three purposes:

Pattern Example Purpose
XX-YY_Name 10-19_Projects Range — top-level category with room for 10 subcategories
XX_Name 12_Personal Category — a subcategory within a range
XX.01_Name 12.01_My-App Item — a specific project, folder, or topic

Zero-pad your decimals. Always 12.01, never 12.1. This keeps sort order correct through 12.09, 12.10, 12.11, etc.

00-09 Inbox sorts first — this is deliberate. You see your unsorted files every time you list the directory, which creates healthy pressure to triage them.

10-unit gaps leave room for future subcategories. You can add 14_Freelance inside Projects or 26_Hobbies inside Areas without renumbering anything.

Naming Conventions

Rule Good Bad
Use hyphens, not spaces My-Cool-Project My Cool Project
Title-Case for folders 12.01_Budget-Tracker 12.01_budget_tracker
Date prefix for files 2026-04-12-meeting-notes.md meeting notes april.md
Version suffix proposal-v02.pdf proposal-final-FINAL.pdf
No special characters Client-ABC Client (ABC)

See docs/NAMING-CONVENTIONS.md for the full guide with media-specific naming rules.

The Inbox Problem

The number one bad habit with any organization system is the desktop dump: periodically sweeping everything from your desktop into a date-stamped folder and forgetting about it. This defeats the entire purpose.

Instead:

  1. Everything new goes into 00-09_Inbox/
  2. Set a weekly 15-minute triage calendar reminder
  3. For each file: move it to its proper category, or delete it
  4. If a file has lived in Inbox for 30+ days, it either belongs somewhere or should be deleted
  5. Use scripts/sort-inbox.sh to speed this up — it suggests destinations by file type

OS Integration

Your operating system has default directories (Desktop, Downloads, Documents, Music, Pictures, Videos) that applications dump files into. These compete with C-PARAMDS unless you integrate them.

Option 1: Symlinks — Replace OS directories with symlinks pointing into C-PARAMDS:

bash scripts/integrate.sh --symlink-into --target ~/C
# ~/Desktop   → ~/C/00-09_Inbox/
# ~/Downloads → ~/C/00-09_Inbox/
# ~/Music     → ~/C/50-59_Media/52_Music/
# ~/Pictures  → ~/C/50-59_Media/55_Images/
# ...

Option 2: XDG Redirect (Linux only) — Tell the OS that C-PARAMDS folders are the default directories:

bash scripts/integrate.sh --xdg-redirect --target ~/C

Both modes support --dry-run, --undo, and --skip. See docs/LINUX-INTEGRATION.md for the full guide.

Shell Helpers

Add this to your ~/.bashrc or ~/.zshrc:

source /path/to/C-PARAMDS/scripts/shell-helpers.sh

This gives you:

Command Action
cdc Jump to C/ root
cdp Jump to Projects
cda Jump to Areas
cdr Jump to Resources
cdm Jump to Media
cdd Jump to Development
cdi Jump to Inbox
inbox Show inbox contents
newproj "Name" Scaffold a new project
audit Run the audit script
cdfind term Fuzzy-find a directory in C/

Scripts

Script Purpose
setup_folders.sh Create the directory structure (--target, --minimal, --full, --dry-run)
scripts/sort-inbox.sh Interactive inbox triage — suggests destinations by file type
scripts/audit.sh Check for naming violations, secrets, duplicates, empty directories
scripts/archive.sh Move completed projects to Archives with date stamps
scripts/integrate.sh Link OS directories (Desktop, Downloads, etc.) into C-PARAMDS
scripts/newproject.sh Scaffold a new project with templates and auto-numbering
scripts/shell-helpers.sh Bash aliases and functions for fast navigation

Customization

This template is a starting point. Customize it for your life:

  • Add subcategories within any range: 26_Hobbies/ inside Areas, 14_Freelance/ inside Projects
  • Rename Sync folders for your cloud providers: 71_Google-Drive/, 72_OneDrive/
  • Add Media subcategories: 58_Podcasts/, 59_Audiobooks/
  • Extend Development: 65_Databases/, 66_Containers/

Don't over-create. Start with the defaults and add subcategories only when you actually have files that need them. Empty directories are organizational debt.

Tool Recommendations

Tool Purpose C-PARAMDS Category
Calibre Ebook library management 51_Books
MusicBrainz Picard Auto-tag music files 52_Music
rclone Cloud sync and backup automation 70-79_Sync
Syncthing Peer-to-peer device sync 73_Device-Sync
fzf Fuzzy finder for fast navigation shell-helpers.sh
fd Fast file finder audit.sh
GNU Stow Dotfile management 64_Dotfiles
trash-cli Safe deletes (recoverable) General use
zoxide Smart directory jumping Navigation
ncdu Disk usage visualization Maintenance

Documentation

References

Contributing

See CONTRIBUTING.md for guidelines on suggesting categories, submitting scripts, and code style.

License

MIT

About

A structured filesystem template combining PARA, Johnny Decimal, and real-world lessons.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages