Promptkit
Promptkit is a reusable Go library for preparing and executing prompt-defined LLM workflows. Its module path is:
gitea.maximumdirect.net/eric/promptkit
The root promptkit package provides the supported public engine. Consumers
can configure filesystem or in-memory prompt, profile, and schema sources,
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:
go run ./examples/go-library/prepare
It loads a repository-local prompt, supplies an in-memory profile and inline input, and prints deterministic preparation metadata without contacting a provider or requiring credentials. Read the example source, the Go package consumer guide, and the framework format reference to build a consumer workflow.
Contributors should start with the development guide. The architecture policy defines the library boundary and constraints that framework work must preserve.
Release Guidance
Consumers upgrading to the v0.10.0 profile-policy transition
should read the v0.10.0 transition guide.
Consumers upgrading from v0.8.0 to v0.9.0 should read the
v0.9.0 changelog and migration guide.
Consumers upgrading from v0.7.0 to v0.8.0 can consult the
v0.8.0 changelog and migration guide.
Earlier adopters can consult the v0.7.0 changelog and migration guide.
Consumers upgrading from v0.5.0 to v0.6.0 can consult the
v0.6.0 changelog and migration guide.
Consumers upgrading from v0.4.0 to v0.5.0 can consult the
v0.5.0 changelog and migration guide.
Consumers upgrading from v0.3.0 to v0.4.0 should read the
v0.4.0 changelog and adoption guide.
Consumers upgrading from v0.2.0 to v0.3.0 should read the
v0.3.0 changelog.
Consumers moving from v0.1.0 to v0.2.0 should read the
v0.2.0 changelog and migration guide.
Related Project
Scriptorium is the CLI and HTTP application built on Promptkit.
License
Promptkit is licensed under the GNU Lesser General Public License version 3
or later (LGPL-3.0-or-later). The accompanying GPLv3 text
is incorporated by LGPLv3. This maintainer-authorized change applies from this
revision forward; existing release tags and their license notices are unchanged.
Dependencies, including the backend catalogs, retain their own licenses.
Applications may use their own licenses subject to the LGPL's combined-work conditions. Distributors of statically linked Go binaries must account for the applicable notices, license copies, library source, and materials and permissions needed to recombine or relink with a modified library; installation information may also be required. Providing library source alone is not necessarily enough. See section 4 of the LGPL text for the governing requirements, rather than treating this summary as a complete distribution checklist.