# Quickstart

Make Effects is the shared record for finished, reproducible media Assets. Use
the `makefx` CLI when an agent, script, or local workflow needs to generate,
upload, or download media files. Use [makefx.app](https://makefx.app) to review Variants,
choose the main result, organize work, and collaborate. Both interfaces operate
on the same Space state.

## Install the CLI

```sh
npm install -g makefx
makefx --version
```

The CLI defaults to production at `https://makefx.app`.

Use `--env stage` for staging or `--local` for a local development server.

## Sign in

```sh
makefx login
```

The login flow opens the browser, authenticates with Google, and stores local CLI credentials outside your project directory.

## Create or bind a space

A Space is the shared project boundary for Assets, Variants, Recipes,
References, Lineage, Collections, and collaborators.

```sh
makefx spaces create "My Game Assets" --init
```

If you already have a space ID:

```sh
makefx init --space YOUR_SPACE_ID
```

This writes `.inventory/config.json` with the environment and Space ID. It does
not store prompts, media, or auth tokens.

## Generate your first media

Generate an image:

```sh
makefx image generate "A cozy pixel-art market background" \
  --name "Market Background" \
  --type scene \
  -o art/market.png
```

Generate sound:

```sh
makefx audio sfx generate "A crisp magical item pickup" \
  --name "Item Pickup" \
  -o audio/item-pickup.wav
```

Generate video:

```sh
makefx video generate "A looping idle animation for a tiny robot" \
  --name "Robot Idle" \
  --type animation \
  -o video/robot-idle.mp4
```

Each command creates a durable Asset, waits on its Variant state, and downloads
the completed media.

## Review and choose

```sh
makefx assets list
makefx assets show <asset-ref> --json
```

Open the Space at [makefx.app](https://makefx.app), then open the Asset and
compare its actual Variants. A completed result that needs creative changes can
be opened with **Regenerate…**. A failed Variant exposes **Retry**, which runs
the same Recipe again without changing its identity.

Choose **More → Use as main variant** on the completed result that should
represent the Asset. The same explicit choice is available from the CLI:

```sh
makefx variants activate <variant-ref>
```

## Organize or remove work

Use **Organize Space** in the web app to create Collections, arrange Assets, and
rename or delete Collections. The CLI exposes the same organization:

```sh
makefx collections create "Approved"
makefx collections add <collection-id> <asset-ref>
```

Deletion is permanent and has no trash. Activate another completed Variant
before deleting the current one; delete the Asset to remove its only Variant.

```sh
makefx variants delete <variant-ref> --yes
makefx assets delete <asset-ref> --yes
```

The authoritative Space state is shared by the web app, CLI, and MCP, so every
interface now sees the chosen and organized result.

## Next steps

- [Core Concepts](/docs/concepts) explains the data model.
- [Web Workspace](/docs/web-workspace) covers visual review, selection, organization, and permanent deletion.
- [CLI Reference](/docs/cli) covers commands and agent automation.
- [MCP Setup & Agent Guide](/docs/mcp) connects Claude Code or another remote MCP client.
- [Model & Parameter Selection](/docs/model-and-parameter-selection) explains live capability discovery.
- The [Image](/docs/image-playbook), [Video](/docs/video-playbook), and [Audio](/docs/audio-playbook) playbooks own medium-specific workflows.
- [LLM index](/llms.txt) and [focused LLM context](/llms-full.txt) expose the public guides and linked reference estate to agents without guessed URLs.
