# 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. Applications adapting the prior keyed configuration or versioned-prompt format can consult the [configuration migration guide](docs/consumers/configuration-migration.md). See 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.16.0 release notes](docs/releases/v0.16.0.md) cover explicit smoke diagnostics, configuration collections, scoped engine views, and discovery. Upgrading consumers should review the breaking changes to bundled configuration and prompt version selection and follow the linked migration guide. 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.