3.9 KiB
Migration Step 5: Promptkit Repository Foundation
Status
Complete as of 2026-07-28.
Purpose
Establish Promptkit as an independent, maintainable Go library repository ready to receive framework extraction in Migration Step 6 without moving framework behavior prematurely.
The main migration roadmap owns the overall sequence. ADR 0002 owns the repository boundary, module path, versioning direction, and cross-repository ordering. ADR 0003 owns the maintainer-run validation and tag-only release decision.
Completed Work
Repository And Module Foundation
- Confirmed the Promptkit repository, maintainer governance, configured origin,
and
maintracking oforigin/main. - Created dependency-free module
gitea.maximumdirect.net/eric/promptkitwith Go1.25.5. - Added the root
promptkitpackage as the sole implemented Go package and public package boundary. - Added no framework implementation, exported API, internal package, speculative package tree, command, workspace file, or local replacement.
- Retained GPLv3 and changed only the two template project names in its example
notices to
Promptkit.
Durable Repository Guidance
- Replaced application-template architecture, documentation, and testing policies with library-specific policies.
- Recorded the root package as the only implemented component and kept future framework boundaries explicitly unimplemented.
- Rewrote repository orientation and contributor workflow for the Promptkit module.
- Documented deterministic, offline, parallel-safe, maintainer-run validation.
- Documented temporary sibling workspace and uncommitted replacement workflows without committing machine-local coupling.
- Added a semantic Go module tag release procedure with no runnable binaries or hosted CI.
Decision Reconciliation
- Accepted ADR 0003 as the later controlling decision for Promptkit validation while leaving ADR 0002 Accepted and its repository-split decision unchanged.
- Reconciled the main migration roadmap with maintainer-run validation, tag-only releases, and the requirement that Promptkit publish its first versioned tag before Scriptorium adopts it.
Acceptance Record
From a clean Promptkit checkout with no active Go workspace or local replacement, the maintainer successfully ran:
go test ./...
go vet ./...
go build ./...
gofmt -l $(git ls-files '*.go')
git diff --check
The formatting command produced no paths. Acceptance also confirmed:
- module path
gitea.maximumdirect.net/eric/promptkit, Go1.25.5, root packagepromptkit, and matching import path; - no external dependency,
go.sum,go.work,go.work.sum, orreplacedirective; - no hosted CI configuration, command package, release artifact, version tag, or placeholder framework package;
- every maintained Markdown link resolves;
- repository orientation, policies, inventory, contributor workflow, and release procedure are internally consistent and free of template residue;
- the configured origin belongs to Promptkit and
maintracksorigin/main; - GPLv3 wording and attribution remain unchanged apart from the two approved Promptkit example-notice names; and
- Scriptorium contains only the decision and roadmap documentation required for this foundation work, with no production code or module dependency change.
Scope Boundary And Next Gate
No framework implementation or public framework API was extracted, no consumer
was migrated, and no v0.1.0 tag was created. Promptkit remains an independently
valid repository foundation.
Migration Step 6 is now authorized to extract and stabilize the framework. It must pass Promptkit's documented validation and publish the first versioned tag before Scriptorium or another consumer adopts the module.