feat: implement T01-T04 — Go module, canonical model, LDAP validator, error taxonomy
- T01: Go module (keycape), full directory skeleton, Makefile, CI workflow - T02: spec/canonical-model.yaml with 6 entities + Go domain types - T03: spec/ldap-schema.yaml + validator binary with structural/semantic rules - T04: Error taxonomy — 4 stable error types, JSON format, HTTP helpers 28 tests pass, go vet clean, go build clean. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
f3b1cdcba4
commit
329e996619
21 changed files with 1992 additions and 0 deletions
29
src/Makefile
Normal file
29
src/Makefile
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
GOBIN ?= $(shell go env GOPATH)/bin
|
||||
BINDIR = ../bin
|
||||
|
||||
.PHONY: all build test lint vet clean
|
||||
|
||||
all: vet lint test build
|
||||
|
||||
build:
|
||||
go build -o $(BINDIR)/keycape ./cmd/keycape/
|
||||
go build -o $(BINDIR)/validator ./cmd/validator/
|
||||
go build -o $(BINDIR)/lldap-export ./cmd/lldap-export/
|
||||
go build -o $(BINDIR)/keycape-to-keycloak ./cmd/keycape-to-keycloak/
|
||||
go build -o $(BINDIR)/lldap-to-ldap ./cmd/lldap-to-ldap/
|
||||
|
||||
test:
|
||||
go test ./...
|
||||
|
||||
vet:
|
||||
go vet ./...
|
||||
|
||||
lint:
|
||||
@if command -v golangci-lint >/dev/null 2>&1; then \
|
||||
golangci-lint run ./...; \
|
||||
else \
|
||||
echo "golangci-lint not installed, skipping (run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest)"; \
|
||||
fi
|
||||
|
||||
clean:
|
||||
rm -rf $(BINDIR)
|
||||
Loading…
Add table
Add a link
Reference in a new issue