Skip to content

Troupe

An open file format for AI roleplay: characters, the worlds they live in, the scenarios that bring them together, the mechanics that drive a story, and sessions: the chats people play, exported so any app can continue them.

Status: v0.12 draft. Breaking changes are allowed until 1.0, which is tagged once none is pending and the conformance suite covers the spec.

A complete Troupe file: one character, and a scenario that starts a chat with her.

{
"troupe": "0.12",
"kind": "bundle",
"characters": [
{ "id": "elena", "name": "Elena Voss", "description": "A meticulous thief and mapmaker. Calm, exacting, dry humor." }
],
"scenarios": [
{
"id": "workshop",
"openings": [
{ "id": "late", "content": [{ "speaker": "elena", "text": "You're late. Sit down, and don't touch the maps." }] }
]
}
]
}

The beginner’s guide grows this card into a full story, with lore, secrets, state and events.

Troupe Format The files and what every field means: bundles, characters, worlds, scenarios, entries, variables, events, sessions and chronicles.
Schemas JSON Schemas, normative for structure (Format Appendix A).
Conformance suite Language-neutral test cases and the protocol a test runner follows.
Examples The spec’s worked examples as files.

These are informative.

License