casset/docs
FeaturesOpen app
docs indexreference
00Overview01Thesis02Architecture03Casset Apps04System reality05Roadmap06Investor brief07Technical brief08Full tech HTML09API reference10Playback11Audio pipeline12Commerce13Base anchoring14Hook system15Music video16Theming17Creator guide18Glossary
LearnQuickstartApp modelSDKStartersReferenceDistribution

Casset Apps · Starters

0.1.0-alpha.0

Three real projects. Three deliberately different boundaries.

Each deterministic ZIP includes source, tests, a valid manifest, the vendored repository-local SDK, AGENTS.md, CLAUDE.md, and a prompt for making something original.

Download

Choose the smallest starter that proves your idea.

Minimal Profile AppDependency-light TypeScript + DOM. Reads bounded artist and Catalog context with complete sparse states.Minimal · PROFILE_SURFACEReact Profile AppReact + TypeScript. Reads release/Track context and guards a host-approved PLAY_TRACK request.Intermediate · PROFILE_SURFACETrack ExperienceTypeScript + DOM. Reconstructs one visual interaction from canonical Track seconds without playback control.Advanced · TRACK_RUNTIME

Comparison

Match the runtime to the experience.

Casset App starter comparison
StarterStackPrimary lessonPlayback
Minimal Profile AppTypeScript + DOMHost subscription, bounded Catalog, authored sparse states, complete cleanup.No playback request.
React Profile AppReact + TypeScriptTyped release/Track selection and accepted/denied host decisions.Profile-only PLAY_TRACK with permission and capability guards.
Track ExperienceTypeScript + DOMDeterministic visual reconstruction across pause, seek, completion, deactivate, and reactivate.Read-only canonical Track time.

Open with Codex

Copy a bounded implementation prompt.

Codex prompttext
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.

Claude Code prompttext
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.

Starter file responsibilities
FileResponsibility
casset-app.jsonStrict public manifest parsed by @casset/apps at startup.
README.mdReal install, dev, test, and build commands plus integration boundaries.
AGENTS.md / CLAUDE.mdTool-specific constraints for permission handling, playback ownership, sparse states, mobile, and cleanup.
PROMPT.mdAn 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.

Distribution remains curated

A successful local build is not an installation or review approval. Distribution remains curated, and no open third-party publishing flow exists.
© Casset 2026
Trust & PrivacyTerms