# Promptkit Promptkit is a reusable Go library for preparing and executing prompt-defined LLM workflows. Its module path is: ```text gitea.maximumdirect.net/eric/promptkit ``` The root `promptkit` package provides the supported public engine. Consumers can configure file, embedded, or programmatic backend, profile, and prompt definitions alongside filesystem or in-memory schemas, prepare requests without generation, run requests with the built-in OpenAI-compatible client, or inject their own model client and artifact reader. ## Quickstart Run the maintained offline preparation example from the repository root: ```sh go run ./examples/go-library/prepare ``` It composes two explicitly selected synthetic collections, imports source-relative prompt content, supplies an inline input, and prepares through a scoped view. The example also demonstrates collection inventories and namespace-filtered discovery, without contacting a provider or requiring credentials. The [consumer guide](docs/consumers/pkg-promptkit.md) also shows a local backend, ordered file/embedded sources, programmatic mappings, and how to replace an engine when source files change. Read the [example source](examples/go-library/prepare/main.go), the [Go package consumer guide](docs/consumers/pkg-promptkit.md), and the [framework format reference](docs/formats.md) to build a consumer workflow. The consumer guide also covers explicit, live smoke diagnostics and interpreting their factual reports; they are separate from the offline quickstart. Contributors should start with the [development guide](docs/development.md). The [architecture policy](docs/policy/architecture.md) defines the library boundary and constraints that framework work must preserve. ## Release Guidance The [v0.15.0 release notes](docs/releases/v0.15.0.md) cover error-only validation of concrete requests with `Engine.ValidateRequest`. Consumers upgrading to `v0.12.0` should read the [v0.12.0 release notes](docs/releases/v0.12.0.md) for the intentional ConfigKit configuration and public construction API migration. The [v0.11.2 release notes](docs/releases/v0.11.2.md) cover policy alignment and copied-policy attribution updates. The [v0.11.1 release notes](docs/releases/v0.11.1.md) cover the MIT-licensed catalog updates and licensing documentation improvements. Consumers upgrading to `v0.11.0` should read the [v0.11.0 changelog and migration guide](docs/releases/v0.11.0.md), particularly the default retry behavior and license change. Consumers upgrading to the `v0.10.0` profile-policy transition should read the [v0.10.0 transition guide](docs/releases/v0.10.0.md). Consumers upgrading from `v0.8.0` to `v0.9.0` should read the [v0.9.0 changelog and migration guide](docs/releases/v0.9.0.md). Consumers upgrading from `v0.7.0` to `v0.8.0` can consult the [v0.8.0 changelog and migration guide](docs/releases/v0.8.0.md). Earlier adopters can consult the [v0.7.0 changelog and migration guide](docs/releases/v0.7.0.md). Consumers upgrading from `v0.5.0` to `v0.6.0` can consult the [v0.6.0 changelog and migration guide](docs/releases/v0.6.0.md). Consumers upgrading from `v0.4.0` to `v0.5.0` can consult the [v0.5.0 changelog and migration guide](docs/releases/v0.5.0.md). Consumers upgrading from `v0.3.0` to `v0.4.0` should read the [v0.4.0 changelog and adoption guide](docs/releases/v0.4.0.md). Consumers upgrading from `v0.2.0` to `v0.3.0` should read the [v0.3.0 changelog](docs/releases/v0.3.0.md). Consumers moving from `v0.1.0` to `v0.2.0` should read the [v0.2.0 changelog and migration guide](docs/releases/v0.2.0.md). ## Related Project [Scriptorium](https://gitea.maximumdirect.net/eric/scriptorium) is the CLI and HTTP application built on Promptkit. ## License Promptkit is licensed under the [LGPL v3.0 or later](COPYRIGHT). [Open Source attribution notices](docs/oss/attribution.md) are available.