Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, this project adheres to Semantic Versioning, commits follow Conventional Commits, and this changelog is generated by Structured Changelog.
Unreleased¶
v0.4.0 - 2026-07-06¶
Highlights¶
- Default profile expanded to 106 rules with SDK generation optimization (ogen, openapi-generator)
- New built-in profiles: comprehensive, minimal, microsoft-rest, microsoft-graph
- New
score-profilecommand for evaluating style guide quality using LLM-as-Judge - JSONPath validation system to prevent linting crashes from unsupported expressions
Added¶
score-profilecommand for LLM-based style guide quality evaluation (5340352)- JSONPath validation functions:
ValidateProfile,FilterInvalidRules,DisableInvalidRules(1ba1de2) - JSONPath validation integration in
VacuumLinterinitialization (ace919e) - New profiles:
comprehensive(88 rules),minimal(29 rules),microsoft-rest(123 rules),microsoft-graph(82 rules) (12262ab) - Expanded default profile to 106 rules across 27 categories with SDK optimization (
e5495d8) - Multi-tenancy patterns with
~alias for current tenant context (e5495d8) - RFC 9457 Problem Details for standardized error responses (
e5495d8) - Discriminated unions for clean polymorphism in generated SDK code (
e5495d8) - Compliant API example spec demonstrating all style patterns (
c5d4562)
Changed¶
- Profiles now embedded in
pkg/profile/builtin/and loaded viaprofile.Load()(31870a2)
Fixed¶
- Spectral ruleset generation for truthy/falsy functions outputs
fieldinstead offunctionOptions.match(6bbe499) - Error handling in file watcher with proper cleanup on close (
a05ff23) - Error comparison for context cancellation uses
errors.Is(a05ff23) - Remove custom
minfunction (use Go 1.21+ builtin) (a05ff23)
Documentation¶
- Profile documentation for comprehensive, minimal, microsoft-rest, microsoft-graph (
af95f0e) - Updated default profile documentation with accurate 106 rules, 27 categories (
af95f0e) - Profile comparison guide (
12b51ce) - Profile scoring guide (
12b51ce) - CLI documentation for
score-profilecommand (a6c7bcd)
Build¶
- Update
github.com/daveshanley/vacuumfrom v0.29.6 to v0.29.9 (69fb6bb) - Update
github.com/daveshanley/vacuumfrom v0.29.4 to v0.29.6 (45f8aa9) - Update
github.com/plexusone/assistantkitfrom v0.13.0 to v0.14.0 (9e41f9a) - Update dependencies via
go mod tidy(d12f407)
Tests¶
- Updated tests for profile version and rule count expectations (
bb42f6d)
v0.3.0 - 2026-06-22¶
Highlights¶
- Extended type definitions for patterns, principles, glossary, decision tables, and migration guidance
- MkDocs multi-page documentation site generator with Material theme support
- Rubric generation for structured-evaluation LLM-as-Judge integration
- Vendor API style profiles for reference implementations
Added¶
- Extended type definitions:
Pattern,Principle,GlossaryTerm,Section,DecisionTable,DetailedExample,MigrationGuidance,RuleApplicability,Condition,RuleRelation,DeprecationInfo(c4b191f) - Enhanced
Ruletype withdescription,background,priority,version,deprecated,applicability,conditions,relations,decisionTables, andmigrationfields (c4b191f) - Enhanced
JudgeCriteriawith pass/partial/fail criteria and few-shot examples (c4b191f) - Markdown generator support for patterns, principles, glossary, decision tables, and detailed examples (
20efa34) - Mermaid diagram support in markdown output (
20efa34) - MkDocs multi-page documentation site generator with Material theme (
62b356b) - MkDocs generator options:
--split-patterns,--no-split-categories,--no-search(62b356b) - Rubric generation for structured-evaluation integration (
GenerateRubricSet) (8794add) generate mkdocsCLI subcommand with site configuration flags (231ede8)generate rubricCLI subcommand for LLM evaluation rubrics (231ede8)generate guideflags:--no-patterns,--no-principles,--no-glossary(231ede8)- Vendor API style profiles: Microsoft Graph, Microsoft REST, OmniAgent, PayPal, PlexusOne, Zalando (
9fb12fb)
Changed¶
- JSON schema updated with extended type definitions (
9ca05cc) - Style guide quality rubric added to schema (
9ca05cc)
Documentation¶
- CI/CD integration guide with exit codes, pipeline examples, pre-commit hooks (
366ff8b) - Documentation generation guide comparing Markdown and MkDocs output (
366ff8b) - CLI reference updates for
generate mkdocsandgenerate rubric(6cb42c6) - Getting started and profiles guides updated for new features (
6cb42c6)
Build¶
- Add
github.com/plexusone/structured-evaluation v0.8.0dependency (32f6204) - Update
github.com/plexusone/omniskillfrom v0.8.0 to v0.9.0 (32f6204) - Update
github.com/plexusone/assistantkitfrom v0.12.0 to v0.13.0 (3ef736c) - Update
github.com/daveshanley/vacuumfrom v0.29.2 to v0.29.4 (c84d697) - Update indirect dependencies via
go mod tidy(77e8c42)
Tests¶
- Unit tests for extended markdown generation (patterns, principles, glossary, decision tables) (
eaf71cb)
v0.2.0 - 2026-06-07¶
Highlights¶
- Configuration file support (
.api-style.yaml) for project-level governance settings - Multi-file linting with glob patterns and recursive directory search
- Watch mode for continuous linting during development
- Git pre-commit hook generator for blocking commits with violations
Added¶
- Configuration file support with profile, level, include/exclude patterns, exceptions, and severity overrides (
b548e01) - Config file auto-discovery (
.api-style.yaml,.api-style.yml,api-style.yaml) (b548e01) - Multi-file resolution with glob patterns (
api/*.yaml) (d186981) - Recursive directory search (
--recursiveflag) (d186981) - Include/exclude pattern filtering with
**double-star glob support (d186981) MultiLintReporttype for aggregating results from multiple files (d186981)- Git pre-commit hook generator (
api-style hooks init) (b25c337) - Pre-commit hook with configurable profile and conformance level (
b25c337) - File watcher using fsnotify with debouncing (
1b58b0a) - Watch mode (
--watchflag) for continuous re-linting (9118701) --configflag for explicit config file path (9118701)--recursiveflag for directory traversal (9118701)hooks initsubcommand with--force,--levelflags (254d538)
Changed¶
api-style lintaccepts multiple file arguments (9118701)- CLI flags override config file settings (
9118701)
Documentation¶
- Configuration file reference (
docs/reference/config.md) (6d5f069) - Example config file (
.api-style.yaml.example) (6d5f069) - CLI reference updates for new flags and commands (
d3703dc) - Getting started guide with config, multi-file, watch, pre-commit sections (
d3703dc) - Hooks reference with git pre-commit section (
d3703dc) - Automated API Governance guide for AI-first API design workflow (
e4bcaf0) - README and examples updates for v0.2.0 features (
2d3370e)
Build¶
- Add
github.com/fsnotify/fsnotify v1.10.1dependency (2334a2e) - Update indirect dependencies (regexp2/v2 to v2.2.1) (
baf0bee)
v0.1.0 - 2026-06-06¶
Highlights¶
- OpenAPI style linting with vacuum integration and configurable style profiles (Azure, Google, custom)
- LLM-powered API evaluation using Claude for semantic analysis beyond static rules
- MCP server for Claude Desktop and Claude Code integration with resources and prompts
- Web UI with Lit components and REST API backend for browser-based linting
Added¶
- Core types package with
LintReport,Violation,StyleProfile, andEvaluationResultstructs (7148015) - JSON Schema generation from Go types with embedded schemas (
7148015) - Vacuum-based linting engine with severity mapping and JSON path extraction (
4222198) - Style profile loading from YAML/JSON with built-in Azure and Google profiles (
363656a) - Profile inheritance via
extendsfield for building on base profiles (363656a) - LLM evaluation with Claude using structured prompts and JSON output (
5bdc90d) - Evaluation categories: naming, structure, documentation, security, versioning (
5bdc90d) - Analysis orchestrator combining static linting and LLM evaluation (
fb2d291) - Spectral ruleset generator from style profiles (
0d156fc) - Markdown report generator with configurable output options (
0d156fc) - CLI with
lint,analyze, andevaluatecommands (e027306) - Multiple output formats: text, JSON, SARIF (
e027306) - Exit codes based on violation severity for CI integration (
e027306) - MCP server with
openapi://resource URIs for spec access (a039bd5) - MCP prompts for guided API review workflows (
a039bd5) - MCP tools for linting and evaluation from Claude Desktop (
a039bd5) - Claude Code hooks for pre-commit and post-save linting (
384d812) - Claude Code skills for
/lintand/evaluateslash commands (384d812) - SARIF 2.1.0 output format for IDE integration (VS Code, JetBrains) (
b935239) - GitHub Code Scanning compatible SARIF output (
b935239) - REST API server with
/api/lintand/api/profilesendpoints (f096739) - CORS support for development and cross-origin requests (
f096739) - Web UI with Lit components: spec editor, profile selector, results panel (
767a898) - Vite-based frontend build with hot module replacement (
767a898) - Example OpenAPI specs: PetStore and E-Commerce APIs (
3de679f) - Example custom style profiles demonstrating profile customization (
3de679f)
Documentation¶
- MkDocs documentation site with Material theme (
47b6dc8) - Getting started guide with installation and basic usage (
47b6dc8) - Profile customization guide with YAML examples (
47b6dc8) - MCP integration guide for Claude Desktop setup (
47b6dc8) - Feature roadmap with prioritized enhancements
Build¶
- GitHub Actions workflows for CI/CD: build, lint, test (
c74e181) - golangci-lint configuration with security and style checks (
c743abf) - Schema generator tool for JSON Schema from Go types (
ed7302b)