From 323fc2b78a7e3e12c982451b0b71b369695ca1c7 Mon Sep 17 00:00:00 2001 From: Travis Lyons Date: Thu, 25 Jun 2026 17:34:41 +0000 Subject: [PATCH 1/3] docs: add missing AGENTS.md (and README where missing) --- AGENTS.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..9a6747d --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,47 @@ +# AGENTS.md + +Guidance for coding agents working in `github.com/sourcegraph/go-jsonschema`, an +**experimental** Go library for reading JSON Schema (draft-07) documents and +generating Go types from them. + +## Layout + +- `jsonschema/` — core library: schema types, parsing, walking, URI handling. +- `compiler/` — generates Go source from JSON Schemas (parser, resolver, + generators); golden-file fixtures live in `compiler/testdata/`. +- `cmd/go-jsonschema-compiler/` — CLI that emits Go types from schema files. +- `internal/` — test helpers (`testutil`) and the official JSON Schema test + suite runner (`jsonschematestsuite`). +- `testdata/` — shared schema fixtures (e.g. the draft-07 meta-schema). + +## Setup + +Requires the Go toolchain matching `go.mod` (`go 1.25.9`). + +The official test suite is vendored as a git submodule. After cloning, run: + +```sh +git submodule update --init --recursive +``` + +## Build, test, run + +```sh +go build ./... # build all packages +go test ./... # run the full test suite (as in CI) +go vet ./... # static checks +go run ./cmd/go-jsonschema-compiler -pkg schema -o out.go schema.json +``` + +The CLI accepts one or more JSON Schema files; `-pkg` sets the emitted package +name and `-o` writes to a file instead of stdout. + +## Conventions + +- Standard Go formatting (`gofmt`); generated output is run through + `go/format`. +- Compiler tests are golden-file based: each `compiler/testdata//` holds a + `schema.json` input and a `want.go` expected output. Update the corresponding + `want.go` when intentionally changing generated code. +- CI (`.github/workflows/go-ci.yml`) checks out submodules recursively and runs + `go test ./...`; keep that command green. From aeb6f400889833844e960478f295cd9738b06b86 Mon Sep 17 00:00:00 2001 From: Travis Lyons <212733+trly@users.noreply.github.com> Date: Mon, 6 Jul 2026 09:02:54 -0400 Subject: [PATCH 2/3] Update AGENTS.md Co-authored-by: Keegan Carruthers-Smith --- AGENTS.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 9a6747d..db1c52a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -27,9 +27,6 @@ git submodule update --init --recursive ## Build, test, run ```sh -go build ./... # build all packages -go test ./... # run the full test suite (as in CI) -go vet ./... # static checks go run ./cmd/go-jsonschema-compiler -pkg schema -o out.go schema.json ``` From a62810e6ed4f6f2aba5f202b45aa2e9ef181386d Mon Sep 17 00:00:00 2001 From: Travis Lyons <212733+trly@users.noreply.github.com> Date: Mon, 6 Jul 2026 09:03:04 -0400 Subject: [PATCH 3/3] Update AGENTS.md Co-authored-by: Keegan Carruthers-Smith --- AGENTS.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index db1c52a..327fd3a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -16,8 +16,6 @@ generating Go types from them. ## Setup -Requires the Go toolchain matching `go.mod` (`go 1.25.9`). - The official test suite is vendored as a git submodule. After cloning, run: ```sh