github.com/gemaraproj/gemara@v0.23.0

docs/sdk/index.md raw

 1---
 2layout: page
 3title: SDKs
 4---
 5
 6Language-specific SDKs provide programmatic access to Gemara documents. SDK types are generated from CUE schemas, ensuring consistency between validation and programmatic access.
 7
 8## Available SDKs
 9
10- [Go SDK](./go-sdk.html) — Type-safe Go APIs for reading, writing, and manipulating Gemara documents
11
12## Versioning and Maintenance
13
14Project release deliverables are divided into the **Core Specification** and language-specific **SDKs**.
15
16* **Core Specification Release:** The CUE schemas are versioned and released as the core specification. These schemas implement the Model, which is published separately.
17* **SDK Releases:** Language-specific implementations that support programmatic access to Gemara documents. SDK types are generated from the CUE schemas.
18
19Each maintains its own independent [SemVer](https://semver.org/) lifecycle.
20
21### SDK Release Versioning
22
23SDK releases are versioned independently to allow for rapid iteration on tooling, bug fixes, and utilities without requiring core specification version bumps.
24
25* The CUE schemas in the core specification release are the source of truth for validation.
26* SDKs must explicitly document which core specification release version they support.
27* When a new core specification release is published, SDKs regenerate their types from the updated schemas and release new versions that support the updated specification.
28
29## Relationship to Other Components
30
31### [The Model](../model)
32Provides the conceptual foundation. SDK types correspond to elements in the model.
33
34### [The Schemas](../schema/)
35SDK types are generated from the CUE schemas. The schemas are the source of truth for data structures.