Skip to content
JordanNewellPublic

About

The .curt single-file AI conversation format — spec, reference implementation, and JSON Schema

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

dot_curt — the .curt conversation format

.curt is an open, single-file format for AI chat conversations: one file, one conversation, full fidelity (images and tool calls ride verbatim). Born in Curtis AI Chat, specified here so any app can read and write it.

Spec site → — served by Cloudflare Pages (dotcurt-site project). Pushes deploy via .github/workflows/deploy-site.yml: main → production, other branches → previews; or run wrangler pages deploy site --project-name=dotcurt-site by hand.

Install

npm install curt-format

Use

import { serializeCurt, parseCurt } from 'curt-format';

const body = serializeCurt(conversation, 'my-app@1.0.0');
const back = parseCurt(body); // CurtConversation | null — null means invalid

Beyond the parse/serialize pair: isCurtMessage and isCurtConversation are the spec's validation predicates as type guards, curtFilename(conversation) builds the recommended "<date> <slug> <suffix>.curt" name from the immutable fields, and CURT_MAGIC/CURT_VERSION expose the envelope constants. Parsing tolerates a single leading UTF-8 BOM and preserves unknown fields verbatim.

For non-TypeScript validators, the JSON Schema ships with the package:

curt-format/schema/curt-v1.schema.json

Implementations

See CAPABILITIES.md for the full ecosystem tracker — who reads and writes .curt, which spec revision each implementation carries, and where conformance has drifted. Audited 2026-10-14.

PRs welcome for bindings in other languages; keep src/index.ts and SPEC.md in lockstep.

Conformance

Implementations are graded against executable vectors in conformance/ — L1 CORE (must), L2 NAMED, L3 BULK, L4 per-extension. The registry of optional capabilities is EXTENSIONS.md. Ecosystem status: capabilities.json.

License

MIT — see LICENSE. The spec, reference implementation, schema, and fixtures are free to use, fork, and build on. The Curtis applications (plugin, Porter, web, cloud) are separate works under BUSL-1.1; this standard is not.

About

The .curt single-file AI conversation format — spec, reference implementation, and JSON Schema

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages