-
Notifications
You must be signed in to change notification settings - Fork 0
chore(refresh): refreshed configuration and documentation #27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -16,6 +16,14 @@ Exceptions are acceptable depending on the circumstances (critical bug fixes tha | |||||
|
|
||||||
| ## [Unreleased] | ||||||
|
|
||||||
| ### Added | ||||||
|
|
||||||
| - added `CLAUDE.md` with project guidance for Claude Code sessions | ||||||
|
|
||||||
| ### Changed | ||||||
|
|
||||||
| - refreshed `.github/copilot-instructions.md` to reflect Go 1.26.2 version requirement | ||||||
|
||||||
| - refreshed `.github/copilot-instructions.md` to reflect Go 1.26.2 version requirement | |
| - refreshed `.github/copilot-instructions.md` alongside the Go `1.26.2` version update |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| # CLAUDE.md | ||
|
|
||
| This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. | ||
|
|
||
| ## Project | ||
|
|
||
| Go testing utility library (`github.com/rios0rios0/testkit`). Provides a modular builder framework for test environment setup. Pure library -- no deployable artifacts. Requires Go 1.26.2+. | ||
|
|
||
| ## Commands | ||
|
|
||
| ```bash | ||
| go build ./... # build all packages | ||
| go test ./... -v # run all tests | ||
| go fmt ./... # format (required before commit) | ||
| go vet ./... # static analysis (required before commit) | ||
| golangci-lint run ./... # lint (matches CI) | ||
| go run cmd/example/main.go # run example app -- use to validate changes | ||
| ``` | ||
|
|
||
| The `Makefile` pulls shared targets from `rios0rios0/pipelines` via `$SCRIPTS_DIR`. Use `go` commands directly for local development. | ||
|
|
||
| ## Architecture | ||
|
|
||
| All library code is in `pkg/test/` (Go package name: `testkit`). | ||
|
|
||
| | File | Purpose | | ||
| |------|---------| | ||
| | `builder.go` | `BaseBuilder` struct and `Builder` interface | | ||
| | `factory.go` | `BuilderFactory`, `BuilderConfig`, global registry | | ||
| | `examples.go` | `UserBuilder` reference implementation, `TestUser` entity | | ||
| | `doc.go` | Package-level documentation | | ||
|
|
||
| Tests live in the same package (`package testkit`) for internal field access. | ||
|
|
||
| ## Conventions | ||
|
|
||
| - Custom builders embed `*BaseBuilder` and implement `Builder` (`Build`, `Reset`, `Clone`). | ||
| - `With*` methods return the builder (method chaining). | ||
| - Validation guards with `IsValidationEnabled()`; errors accumulate via `AddError()` and surface from `Build()`. | ||
| - `Build()` returns a defensive copy of the entity. | ||
| - Builders are not thread-safe. | ||
| - Update `CHANGELOG.md` under `[Unreleased]` for user-facing changes. | ||
|
|
||
| ## CI | ||
|
|
||
| `.github/workflows/default.yaml` delegates to `rios0rios0/pipelines/.github/workflows/go-library.yaml`. Runs on push/PR to `main` and tags. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The file updates the stated Go requirement to 1.26.2+, but there are still later references to Go 1.26.0+ (e.g., the
go.modbullet in the Repository Structure section and the Troubleshooting section). Please update those remaining occurrences so the document is internally consistent about the minimum Go version.