Note: This article focuses on folder structure design. For the foundational principles and philosophy, see Part 1: Philosophy and Good Practice. For file naming conventions, see Part 2: Naming Your Files Properly.
Folder structure design
You want to package your files in a way that is easy to both understand and navigate. There are many ways to structure folders. A good way to keep things clean is to organize them by concerns and units.
- Concerns: Components of a project
- Examples:
docs,assets,work,exports
- Examples:
- Units: Sub-projects within a project
- Examples:
features,episodes,deliverables
- Examples:
A concern should be nested at the level where it is most relevant. It can belong to the project as a whole or to a specific unit.
video-project
assets
video-project_logo.png
video-project_hero.jpg
docs
video-project_outline.pdf
episodes
episode-1
assets
episode-1_thumbnail.png
docs
episode-1-script.pdf
work
exports
In this example, both our project and the first episode have a docs and assets folder. These folders have different contexts and should be kept separate.
Single unit or repeating unit
It's important to understand the difference between a single unit and a repeating unit.
- Single unit: Project with one main deliverable. The project itself is the unit.
- Examples: movie, presentation, wedding planning
- Repeating unit: Project that has repeating deliverables. The project itself might have deliverables, but it has episodes as repeating units.
- Examples: TV show, podcast series, album with many songs, quarterly reports.
This distinction will help you decide between a single unit structure and a repeating unit structure.
1. Single unit structure
Let's say the project is to produce a video for a client. The deliverable is one video, a single unit.
video-project_name
docs
script.md
storyboard.pdf
assets
footage
raw
proxies
audio
music
sfx
vo
graphics
fonts
work
project-name_v001.prproj
project-name_v001.aep
exports
project-name_1080p_v001.mp4
project-name_4k_v001.mp4
project-name_web_v001.mp4
2. Repeating unit structure
Now if we produce a video series instead and we deliver multiple videos on a recurring basis, we have a repeating unit. Our structure will grow as we add more episodes by creating new episode folders and files. Each episode is treated as a sub-project with its own structure.
video-project
project_name
docs
README.md
assets
graphics
fonts
luts
episodes
episode-1 (this is a repeating unit)
assets
footage
raw
proxies
audio
music
sfx
vo
work
project-name_episode-1_v001.prproj
project-name_episode-1_v001.aep
exports
project-name_episode-1_1080p_v001.mp4
project-name_episode-1_4k_v001.mp4
project-name_episode-1_web_v001.mp4
One item type per folder
A good rule of thumb is to have one item type per folder. This is a good way to keep your file structure clean and easy to understand.
Item types can be grouped by their purpose, format, file type, etc. Just make sure not to mix different item types in the same folder.
assets
images
client-name_project-name_logo_001.png
client-name_project-name_hero_001.jpg
videos
client-name_project-name_trailer_001.mp4
client-name_project-name_teaser_001.mp4
assets: Only contains foldersassets/images: Only contains imagesassets/videos: Only contains videos
If you have more files, or if you expect there will be multiple increments of the same file, you should add more subfolders for each item.
assets
audio
music
client-name_project-name_music_001.mp3
sfx
client-name_project-name_sfx_001.mp3
images
cover
client-name_project-name_cover_001.jpg
logos
client-name_project-name_logo_001.png
client-name_project-name_logo_002.png
hero
client-name_project-name_hero_001.jpg
client-name_project-name_hero_002.jpg
videos
episode-1
trailers
mov
client-name_project-name_episode-1_trailer_001.mov
client-name_project-name_episode-1_trailer_002.mov
mp4
client-name_project-name_episode-1_trailer_001.mp4
client-name_project-name_episode-1_trailer_002.mp4
teasers
mov
client-name_project-name_episode-1_teaser_001.mov
client-name_project-name_episode-1_teaser_002.mov
mp4
client-name_project-name_episode-1_teaser_001.mp4
client-name_project-name_episode-1_teaser_002.mp4
This stays very readable and will still scale easily with hundreds or even thousands of files.
If you don't use enough subfolders, things will quickly become hard to visually scan:
assets client-name_project-name_cover_001.jpg client-name_project-name_episode-1_trailer_001.mp4 client-name_project-name_episode-1_trailer_001.mov client-name_project-name_episode-1_trailer_002.mp4 client-name_project-name_episode-1_trailer_002.mov client-name_project-name_episode-1_teaser_001.mp4 client-name_project-name_episode-1_teaser_001.mov client-name_project-name_episode-1_teaser_002.mp4 client-name_project-name_episode-1_teaser_002.mov client-name_project-name_logo_001.png client-name_project-name_logo_002.png client-name_project-name_music_001.mp3 client-name_project-name_sfx_001.mp3 client-name_project-name_hero_001.jpg client-name_project-name_hero_002.jpg