Skip to main content
Glama
README.md
# project-fmod-api

Bounded FMOD Studio game-audio automation for MCP/CLI workflows and engine handoff.

## Purpose

This repository is the durable AI-facing game-audio automation layer for the
game-development stack. It integrates FMOD Studio with MCP/CLI workflows and
`project-unity-api` while preserving FMOD Studio as the authority for authored
audio project state.

## What belongs here

- Stable normalized schemas for FMOD project state
- Inspection contracts and snapshots
- Safe mutation policy, previews, and receipts
- High-level game-audio workflows (events, assets, parameters, adaptive music,
  spatial audio, banks, mixer/routing)
- CLI (`fmod-api`) and MCP adapters
- Operation receipts, validation, artifact manifests, and drift detection
- Agent guidance and integration handoff contracts

## What does not belong here

- Generative sound/music models or audio asset marketplaces
- FMOD Studio, FMOD Engine, or proprietary FMOD SDK binaries (users install
  FMOD separately under FMOD's licensing terms)
- Unrestricted JavaScript evaluation against FMOD Studio
- Production Unity project mutation (owned by `project-unity-api`)
- Subjective mix/artistic quality judgment from deterministic tests

## Quick start

```bash
# Install in development mode
pip install -e ".[dev]"

# Verify the installation
fmod-api --version
fmod-api doctor
fmod-api qualify
```

## Required checks

```bash
python -m ruff check .
python -m mypy src
python -m pytest -q
```

## FMOD authority boundary

FMOD Studio is authoritative for FMOD project objects, events, parameters,
mixer/routing state, and bank builds. This repository owns the normalized
inspection, safe mutation policy, and high-level workflows — it does not
replace FMOD Studio.

## Safety

No arbitrary model-supplied JavaScript/eval surface is exposed as a normal
agent tool. All operations are typed, schema-validated, and explicitly
targeted. See [SECURITY.md](./SECURITY.md).

## License

This repository is not yet licensed. See repository owner for terms.