# OurDigital Drive Folder Conventions Canonical reference for naming and organization patterns enforced by `our-gdrive-organizer`. The script's rules live in `code/organizer.py` — keep this document and that code in sync. For the **gotcha library** (canonical examples + edge cases consulted during interactive content-based reorganization), see `patterns/`: - `patterns/canonical-files.md` - `patterns/canonical-folders.md` - `patterns/categorization-rules.md` - `patterns/gotchas.md` The brand prefix rules (`D.intelligence …` → `OurDigital …`) now apply to folder names too, at depth 2+. Top-level folders (e.g., `00_Brand Management/`) are never auto-renamed. ## Folder naming ### 2nd-level Drive folders (top-level practice areas) `NN_descriptive name`, where NN is a 2-digit numeric prefix indicating the "sort bucket": | Range | Meaning | |-------|---------| | 00–09 | Brand / core / cross-cutting | | 10–19 | Product or specialty practice | | 20–29 | Data / integrations | | 90–99 | Archive | Examples observed: `00_OurDigital`, `01_Brand in Action`, `02_SEO in Action`, `10_OurSEO Agent`, `20_DataForSEO`, `99_Project Archive`. ### 3rd-level subfolders `NN_descriptive name` again, scoped to the parent. Maturity ordering: | Range | Meaning | |-------|---------| | 00–05 | Frameworks / always-on assets | | 10–13 | Productized tooling / specialty modules | | 20 | Data | | 90+ | Archive within this practice | ### Client / project subfolders Inside `01_Active Workspaces/` or `99_Project Archive/`: `NN_{client name}` — e.g., `00_Jamie Clinic`, `04_오현이혼상속센터`, `05_1가다`. NN is assigned in chronological / engagement order. ### Reserved / system subfolders - `screenshots/` — auto-created by the organizer when moving stray screenshot files out of a parent folder root. - `_unsorted/` — auto-created by the organizer for incomplete downloads (`.crdownload`, `.tmp`, `.partial`). ## File naming ### Templates and quotes (in `05_Working Template/`) `OurDigital-{Service}-OOO {date}.{ext}` or `OurDigital-{Service}-OOOOOO {modifier}.{ext}`. `OOO` and `OOOOOO` are the canonical placeholder strings for "client name goes here" — chosen to be visually obvious and easy to grep for. Use whichever makes more visual sense in the filename. Examples: - `OurDigital-SEO Coaching-OOO 견적-20240612.gsheet` - `OurDigital-SEO Treatment-OOO 호텔 견적-20240903.gsheet` - `OurDigital-OOO 호텔 SEO Basic 패키지-20250416.gsheet` - `OurDigital-Data Access & Management Agreement - 2026.gsheet` ### Brand prefix — parent company / SEO child brand D.intelligence is the **parent company**; OurDigital is its **SEO-specialty child brand**. The rebrand-to-OurDigital rule only applies when the asset is SEO-related. Rules (filesystem rename only — does not touch cell/body content): - `D.intelligence Lab-` → `OurDigital-` - `D.intelligence` (anywhere) → `OurDigital` - `D intelligence` (no-dot variant) → `OurDigital` The organizer applies these to both files and folders at depth 2+. Top-level folders (`NN_…`) are never auto-renamed. **Important**: The script doesn't enforce the SEO-context caveat. When you point the organizer at the whole Drive Stream or a non-SEO folder, it will rename ALL D.intelligence references — which is wrong outside SEO context. Only run the organizer on SEO folders (`02_SEO in Action/`, `00_OurDigital/04_SEO/`, etc.). For non-SEO D.intelligence assets, do not rename — they belong to the parent company. See `patterns/gotchas.md` "D.intelligence vs OurDigital" for full guidance. ### Archive client files Files inside `99_Project Archive/{client}/` should KEEP their original filenames including real client names. The script skips these folders for rename/move operations. ### Date stamps Use `YYYYMMDD` (no separator) when embedding a date in a filename: `OurDigital-Data Access & Management Agreement - 2026.gsheet` `OurDigital-SEO Coaching-OOO 견적-20240612.gsheet` When a date range is needed: `YYYYMMDD-YYYYMMDD`. ### Extensions and stub files Google Drive Apps formats appear as 180-byte JSON stubs on the local filesystem with these extensions: | Drive type | Extension | |-----------|-----------| | Docs | `.gdoc` | | Sheets | `.gsheet` | | Slides | `.gslides`| | Forms | `.gform` | Renaming the stub on the filesystem only changes the local filename — the backing Google document, its Doc ID, sharing links, and revision history are untouched. Safe to rename. Cell-level / body-level changes still require opening the file in the corresponding Google app. ## What the organizer does NOT enforce - Cell content inside `.gsheet`, body content inside `.gdoc`, slide content inside `.gslides`, or any binary file (`.pdf`, `.pptx`, `.xlsx`). Those need manual editing in the source app. Track them with a `TODO.md` if needed (see `02_SEO in Action/98_Training/TODO.md` for an example pattern). - Folder maturity ordering — the NN prefix system is a convention, but the script doesn't reorder or renumber folders. - Per-folder `README.md` content beyond the AUTO-STRUCTURE block — manual Topics / Notes sections are preserved. ## Sensitive folders (never auto-modified) Internal regex list (`SENSITIVE_SUBFOLDER_PATTERNS` in `organizer.py`): - `^04_Case Studies$` - `^99_Project Archive$` - `.*Archive$` (case-insensitive) - `^진단.*$` These folders are still indexed (counts appear in the README structure), but no files inside them are renamed or moved.