# JSONSchema Linter This linter helps detect and prevent a common issue with Go struct tags in this project. ## The Problem In Go struct tags using `jsonschema`, commas in the `description` field need to be escaped using `\\,` syntax. If commas aren't properly escaped, the description is silently truncated at the comma. For example: ```go // Problematic (description will be truncated at the first comma): type Example struct { Field string `jsonschema:"description=This is a description, but it will be truncated here"` } // Correct (commas properly escaped): type Example struct { Field string `jsonschema:"description=This is a description\\, and it will be fully included"` } ``` ## Usage You can use this linter by running: ```shell make lint-jsonschema ``` or directly: ```shell go run ./cmd/linters/jsonschema --path . ``` ### Auto-fixing issues The linter can automatically fix unescaped commas in jsonschema descriptions by running: ```shell make lint-jsonschema-fix ``` or directly: ```shell go run ./cmd/linters/jsonschema --path . --fix ``` This will scan the codebase for unescaped commas and automatically escape them, then report what was fixed. ## Flags - `--path`: Base directory to scan for Go files (default: ".") - `--fix`: Automatically fix unescaped commas - `--help`: Display help information ## Integration This linter is integrated into the default `make lint` command, ensuring all PRs are checked for this issue.