Course → Module 4: The Workspace
Session 4 of 7

The Cost of Chaos

Every content producer has done this: saved a file called final_draft.md, then final_draft_v2.md, then final_draft_FINAL.md, then final_draft_FINAL_actually_final.md. This is not a joke. It is the natural result of producing content without a file management system. And when AI enters the picture, the chaos multiplies. Now you have prompt files, output files, reviewed files, and multiple versions of each.

Professional content production requires organized files. Not because organization is virtuous, but because disorganization costs you time, causes errors, and makes your pipeline impossible to scale.

File structure is pipeline architecture. Every folder in your project maps to a stage in your production process. Inputs, prompts, raw outputs, reviewed outputs, finals. If you cannot trace a piece of content from source to publication by following your folder structure, the structure is wrong.

The Standard Project Structure

A production project needs five top-level folders, each representing a pipeline stage, plus a configuration folder for settings and credentials.

graph TD ROOT["project-name/"] --> IN["inputs/"] ROOT --> PR["prompts/"] ROOT --> RAW["outputs/raw/"] ROOT --> REV["outputs/reviewed/"] ROOT --> FIN["outputs/final/"] ROOT --> CFG[".config/"] ROOT --> README["README.md"] ROOT --> ENV[".env"] ROOT --> GIT[".gitignore"] IN --> R1["research-brief.md"] IN --> R2["source-data.csv"] PR --> S1["system-prompt-v3.md"] PR --> S2["few-shot-examples.md"] RAW --> D1["2026-04-02-draft-001.md"] RAW --> D2["2026-04-02-draft-002.md"] REV --> RV1["2026-04-02-reviewed.md"] FIN --> F1["published-article.md"] style ROOT fill:#222221,stroke:#c8a882,color:#ede9e3 style IN fill:#191918,stroke:#6b8f71,color:#ede9e3 style PR fill:#191918,stroke:#c8a882,color:#ede9e3 style RAW fill:#191918,stroke:#c47a5a,color:#ede9e3 style REV fill:#191918,stroke:#8a8478,color:#ede9e3 style FIN fill:#191918,stroke:#6b8f71,color:#ede9e3

Naming Conventions

Consistent file naming is not a preference. It is a requirement. When you have 200 files in a folder, the only way to find what you need is predictable naming. Two rules eliminate most naming chaos.

Rule Bad Example Good Example Why
Date-prefix outputs draft.md 2026-04-02-draft-001.md Files sort chronologically, versions are distinct
Kebab-case everything My Blog Post.md my-blog-post.md No spaces means no escaping in terminal commands
Version with numbers prompt-final.md system-prompt-v03.md Numbered versions sort correctly, "final" is meaningless
Type prefix for prompts blog.md prompt-blog-review.md Type is visible without opening the file

Use leading zeros in version numbers (v03 not v3) so that file sorting works correctly. v10 sorts after v9 only if you use v09.

The README File

Every project root needs a README.md file. This file answers three questions for anyone who opens the project (including future you, six months from now): What is this project? What goes in each folder? How do I run the pipeline?

It does not need to be long. Ten lines is enough. But those ten lines prevent the confusion that accumulates when a project grows beyond what you can hold in your head.

Scaling the Structure

The five-folder structure works for single projects. When you run batch operations producing dozens of pieces, you add a layer: a content-type folder inside each stage folder.

For a project producing both blog posts and product descriptions:

The structure grows with the project. Start simple. Add depth only when the flat structure becomes unwieldy. Premature complexity is as harmful as premature optimization.

Further Reading

Assignment

Design the folder structure for your first real AI production project. Create it in VS Code. Include folders for: inputs, prompts, raw outputs, reviewed outputs, and finals. Create a README.md in the root that documents what goes where. Name three hypothetical files for each folder using the naming conventions above. This structure will be used for the rest of the course.