Release Notes: schemalint v0.2.0¶
Release Date: 2026-02-08
Overview¶
This release renames the project from schemago to schemalint and introduces the scale profile for strict static type compatibility. The new name better reflects the tool's purpose as a JSON Schema linter for statically-typed languages.
Breaking Changes¶
- Binary renamed:
schemagois nowschemalint - Module path changed:
github.com/grokify/schemagois nowgithub.com/grokify/schemalint
Update your installation:
# Old
go install github.com/grokify/schemago/cmd/schemago@latest
# New
go install github.com/grokify/schemalint/cmd/schemalint@latest
Highlights¶
- Scale Profile: New
--profile scaleoption for strict static type compatibility - Homebrew Support: Install via
brew install grokify/tap/schemalint - Multi-Language Focus: Rebranded to emphasize support for all statically-typed languages (Go, Rust, TypeScript, etc.)
Installation¶
Homebrew¶
brew install grokify/tap/schemalint
Go Install¶
go install github.com/grokify/schemalint/cmd/schemalint@latest
New Features¶
Scale Profile¶
The scale profile enforces strict rules for clean code generation in statically-typed languages:
schemalint lint schema.json --profile scale
| Code | Description |
|---|---|
composition-disallowed |
Disallow anyOf, oneOf, allOf |
additional-properties-disallowed |
Disallow additionalProperties: true |
missing-type |
Require explicit type field |
mixed-type-disallowed |
Disallow type arrays like ["string", "number"] |
Profile Selection¶
Use --profile or -p to select a linting profile:
schemalint lint schema.json # default profile
schemalint lint schema.json -p scale # strict scale profile
Property Case Convention¶
Use --property-case to enforce a naming convention for object properties. The default is camelCase.
# Enforce snake_case
schemalint lint schema.json --property-case snake_case
# Disable case checking
schemalint lint schema.json --property-case none
| Convention | Description |
|---|---|
none |
No case validation |
camelCase |
e.g., myProperty (default) |
snake_case |
e.g., my_property |
kebab-case |
e.g., my-property |
PascalCase |
e.g., MyProperty |
What's Next¶
Future releases will add:
- Code generation for Go, Rust, TypeScript
- Full
$refresolution including circular references - Configuration file support
- OpenAPI 3.1 support
See TASKS.md for planned features.
Documentation¶
- README.md - Quick start guide
- CHANGELOG.md - Full changelog
- PRD.md - Product requirements
- TRD.md - Technical requirements
License¶
MIT License