Casset Apps · Starters
0.2.0-alpha.0Choose a starter and run it locally.
Start with plain TypeScript, React, or a read-only Track experience. Each ZIP includes source, sample Casset data, tests, a valid manifest, the local SDK, and prompts for making something original. No credentials are required.
Download
Choose the smallest starter that proves your idea.
Minimal Profile AppDependency-light TypeScript + DOM. Reads artist and Catalog data supplied by Casset and handles every loading or unavailable state.Minimal · PROFILE_SURFACEReact Profile AppReact + TypeScript. Reads release/Track context and guards a host-approved PLAY_TRACK request.Intermediate · PROFILE_SURFACETrack ExperienceTypeScript + DOM. Builds one visual interaction from playback time supplied by Casset without playback control.Advanced · TRACK_RUNTIME
Run it
Start with the Minimal Profile App.
curl -LO https://casset.fm/downloads/casset-apps/casset-minimal-profile-app-v0.2.0-alpha.0.zip
unzip casset-minimal-profile-app-v0.2.0-alpha.0.zip
cd casset-minimal-profile-app
pnpm install
pnpm test
pnpm devComparison
Match the runtime to the experience.
| Starter | Stack | Primary lesson | Playback |
|---|---|---|---|
| Minimal Profile App | TypeScript + DOM | Casset-supplied Catalog data, loading and unavailable states, and complete cleanup. | No playback request. |
| React Profile App | React + TypeScript | Typed release/Track selection and accepted/denied host decisions. | Profile-only PLAY_TRACK with permission and capability guards. |
| Track Experience | TypeScript + DOM | A visual experience that responds correctly to pause, seek, completion, deactivate, and reactivate. | Read-only playback time supplied by Casset. |
Developer kit
Know what each archive proves before you install it.
| Starter | Demonstrates | Runs in | Credential / data | Version | Commands | Known limitation |
|---|---|---|---|---|---|---|
| Minimal Profile App | Profile identity, approved Catalog data, and loading or unavailable states. | Local Native Profile fixture. | No credential; mocked host context. | 0.2.0-alpha.0 | pnpm install · pnpm test · pnpm build | No lockfile; install resolves current registry dependencies. |
| React Profile App | React Profile context and a guarded PLAY_TRACK request. | Local Native Profile fixture. | No credential; mocked host context. | 0.2.0-alpha.0 | pnpm install · pnpm test · pnpm build | No lockfile; a local accepted request is not production playback authority. |
| Track Experience | Read-only visual synchronization to canonical Track time. | Local Track Runtime fixture. | No credential; mocked host context. | 0.2.0-alpha.0 | pnpm install · pnpm test · pnpm build | No lockfile; it cannot control playback. |
| Headless React Site | Public Artist and Catalog UI, typed failures, and a server-only local proxy. | Developer-owned Vite site outside Casset. | Exact mocks by default; optional one-time local sandbox credential stays in Vite. | 0.2.0-alpha.0 | pnpm install · pnpm test · pnpm build | Has a lockfile. Public v1 is deployed but unsupported for production use and may fail closed with 503; no production credential exists. |
Open with Codex
Copy a bounded implementation prompt.
Read AGENTS.md, README.md, casset-app.json, and PROMPT.md completely.
Build an original Casset App from the starter without copying its visual composition. Preserve the declared permissions, host-owned playback, availability states, responsive behavior, and lifecycle cleanup. Do not add raw media, a local playback clock, global navigation, private API calls, or unsupported SDK fields.
Run pnpm test and pnpm build. Report the exact context fields, permissions, and host capabilities used.Open with Claude Code
Copy the same contract in Claude's project language.
Read CLAUDE.md, README.md, casset-app.json, and PROMPT.md completely before editing.
Create a new emotionally coherent experience inside the starter's existing Casset context. Keep Casset as the only playback and lifecycle authority. Design loading, empty, permission-denied, unavailable, closed, mobile, keyboard, and reduced-motion states.
Validate with pnpm test and pnpm build, then list every SDK field and host request the experience uses.Inside every ZIP
Agent context and validation travel with the code.
| File | Responsibility |
|---|---|
| casset-app.json | Strict public manifest parsed by @casset/apps at startup. |
| README.md | Real install, dev, test, and build commands plus integration boundaries. |
| AGENTS.md / CLAUDE.md | Tool-specific constraints for permission handling, playback ownership, sparse states, mobile, and cleanup. |
| PROMPT.md | An original build direction that explicitly rejects cloning the starter composition. |
| src/fixture.* | Deterministic local host states with no production credentials or private artist records. |
| src/*.test.* | Focused state, permission, seek, and lifecycle contracts. |