# Development This is the contributor entry point for Promptkit, a reusable Go library. All contributors must read the [architecture policy](policy/architecture.md) before making changes. ## Initial Orientation Before starting work: 1. inspect the working tree and preserve unrelated changes; 2. read the policy, contract, and internal documents listed for the task; 3. inspect the relevant implementation and tests before deciding how to change them; and 4. keep documentation limited to implemented behavior unless an accepted decision or temporary roadmap explicitly owns future work. Start with: - the [architecture policy](policy/architecture.md) for library boundaries, dependency direction, invariants, and non-goals; - the [internal component overview](internal/overview.md) for the current package and component inventory; - the [documentation policy](policy/documentation.md) before changing documentation; - the [testing policy](policy/testing.md) before adding, rewriting, or deleting tests; and - the [release procedure](release.md) for version and publication work. ## Task-Specific Reading Guide | Task | Read before changing | | --- | --- | | Root public API | The [architecture policy](policy/architecture.md), [consumer guide](consumers/pkg-promptkit.md), [testing policy](policy/testing.md), and existing GoDoc. | | Prompt, profile, or schema formats | The [framework format reference](formats.md), owning parser or validator package, and [documentation policy](policy/documentation.md). | | Source loading or validation | The [framework format reference](formats.md), [internal source document](internal/sources.md), and owning package tests. | | Model-client behavior | The [OpenAI-compatible integration contract](integrations/openai-compatible-chat.md), [internal model-client document](internal/llm.md), and owning package tests. | | Internal package implementation | The [architecture policy](policy/architecture.md), [internal component overview](internal/overview.md), and focused internal document listed for that package. | | Tests or test fixtures | The [testing policy](policy/testing.md), owning package, and focused internal document listed by the component overview. | | Maintained example | The [example](../examples/go-library/prepare/main.go), [consumer guide](consumers/pkg-promptkit.md), [framework format reference](formats.md), and [documentation policy](policy/documentation.md). | | Documentation | The [documentation policy](policy/documentation.md) and canonical owner of every affected contract. | | Release preparation or publication | The [release procedure](release.md). | For cross-cutting changes, follow every applicable row. Do not create placeholder documents for packages, APIs, or integrations that do not yet exist.