Adapted from
docs/PROJECT_FORMAT.mdin Script-Control-Software. See Script Control Software for the overview.
An SCS project is a normal folder whose portable source of truth is JSON plus open screenplay/document formats.
MyProject.scs/
scs.project.json
scripts/
main.fountain
episode-2.fountain
treatments/
notes/
references/
assets/
exports/
.scs/
versions/
collaboration/
archives/
cache/
scs.project.jsonStores project identity/type, timestamps, complete screenplay documents, top-level project prose (genericDocuments), shared workspace data, and project history. Each screenplay document includes one primary titlePage, optional ordered additional title pages (max 32), screenplay blocks, story/development metadata, and portable source provenance.
Shared workspace data includes: series metadata, collaborators/roles, scoped reviews, approvals, writer-room state, portable saved layouts, SmartType/Format Assistant/proofing settings, writing statistics, project/template macros, bookmarks, positional notes, Track Changes proposals, navigator/character data, shortcuts, sync configuration.
History holds named whole-project/episode/season/show-bible snapshots, milestones, Alternate Draft branches, and merge ancestry. Each snapshot deliberately excludes its containing history so files can't grow recursively. Files are UTF-8 pretty-printed JSON — copyable, diffable, versionable with ordinary tools.
Portable: everything above, plus script provenance and text fingerprints.
Not portable (stripped on write): acting identity, absolute paths, Companion watch-folder path, linked-FDX paths/timestamps, Git author details, last-sync status, open tabs, scroll/selection, active mode/layout, board selection, breakdown disclosure state, dock geometry.
Deliberately outside the format: hosted credentials, device identity, invitations, grants, revocation epochs, audit records, device-local undo/redo journals. Portable collaborator data is workflow metadata and cannot authorize a remote command.
Schema v4 is the current on-disk format; schema v5/v6 migration is gated on contracts for storage durability, CRDT ownership, and retained history. Older manifests migrate on open; malformed documents are repaired or rejected before the editor renders.