> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mauvely.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Saving and files

> What a .course file actually contains, how autosave and recents work, where Compose keeps things on disk, and how to move a course between machines.

## The `.course` file

A course is one file. Inside it is a container holding your course data alongside every image,
video, audio file, 3D model and downloadable resource you added — not links to them, the files
themselves.

That means:

* **A course is portable.** Copy the `.course` to another machine and everything comes with it.
* **Moving or deleting the original media does not break the course.** Once added, it is embedded.
* **A media-heavy course produces a large file**, and a correspondingly large export. Keep long
  video hosted elsewhere and link to it if package size is a constraint.

<Note>
  Courses saved by much older builds as plain JSON still open. Saving always writes the container
  format.
</Note>

## The media picker

Because a course carries its own media, anything you have added once is already there — so every
media control opens the course's own library first.

Choosing an image, video, audio file or 3D model shows what the course already contains, filtered
to the kind you are picking. Click a tile to use it; **Import from disk…** adds something new.

<Info>
  This matters most on a course somebody else made. Opening a shared `.course` and clicking an
  image control used to send you looking through your own Pictures folder for a file that only
  ever existed on their machine. Now it shows you what is in the course.
</Info>

Picking the same file twice reuses the one copy rather than embedding a second — so swapping a
logo across ten blocks costs one image, not ten.

## Saving

|          |                    |
| -------- | ------------------ |
| Save     | `Ctrl` `S`         |
| Save as… | `Ctrl` `Shift` `S` |

An unsaved change is shown as a dot beside the course name in the title bar, and by the status
strip.

### Autosave

On by default, five seconds after you stop editing, with a small confirmation toast. Both the
interval (2 s, 5 s or 15 s) and the toast are configurable in **Settings ▸ Editing ▸ Saving**.

**Autosave only ever writes to a file you already chose.** A new, untitled course is never written
somewhere behind your back — it waits for you to save it once.

Rapid edits never queue up a backlog of writes: while a save is in flight, the newest request is
held and runs immediately afterwards, so two saves never overlap on the same file.

### Leaving a course

Every path out of a course — New, Open, Welcome screen, closing the window — goes through the same
unsaved-changes prompt. There is no route that quietly discards work.

## Recent courses

The welcome screen shows recent courses as cards with their real titles and lesson and block
counts, not just filenames. Those details are cached when a course is saved or opened, so the
welcome screen does not have to open every file to draw itself.

A course saved by an older build, or opened before the cache existed, falls back to its filename
and modification time — and Compose knows not to display counts it does not actually have.

**File ▸ Open recent** gives the same list as a menu.

## Where Compose keeps things

```
~/Documents/Mauvely Compose/
├── (your .course files)
├── Templates/     .cetemplate — course templates
├── Themes/        .cetheme    — design presets
└── Blocks/        .ceblock    — shared blocks
```

New projects default to that folder, but a `.course` file can live anywhere.

Preferences, recent files and custom shortcuts are stored in your platform's normal settings
location — **Settings ▸ Advanced ▸ About** shows the exact path. Your session token is kept in a
separate, owner-only file; see [Accounts](/get-started/accounts).

## Moving a course between machines

Copy the `.course` file. That is the whole procedure — media travels inside it.

To carry your **look** as well, export the design preset (`.cetheme`) or the course template
(`.cetemplate`) from the [Design tab or the Course menu](/compose/templates); those embed their own
media too.

<Warning>
  Compose has no built-in sync and no simultaneous editing. Two people editing copies of the same
  `.course` produce two divergent files with no way to merge them. Decide who owns the file.
</Warning>

## Backing up

A `.course` is a single self-contained file, so any backup tool covers it. Uploading it to
[Mauvely Cloud](/cloud/overview) works too — it is encrypted in your browser before it is uploaded,
and Pro and Max plans keep previous versions.

<Note>
  Automatic syncing between Compose and Cloud is planned but not built. Today, uploading a course
  is something you do yourself.
</Note>
