feat: v2.2.0 — auto-fix, diff command, wildcard re-exports#47
Merged
corvid-agent merged 4 commits intomainfrom Mar 25, 2026
Merged
feat: v2.2.0 — auto-fix, diff command, wildcard re-exports#47corvid-agent merged 4 commits intomainfrom
corvid-agent merged 4 commits intomainfrom
Conversation
…improvements - TypeScript: support `export * from` wildcard re-exports (resolves sibling files), `export * as Ns` namespace re-exports, and `export default` declarations - New `--fix` flag on `check` command auto-adds undocumented exports to spec Public API tables as stubs - New `diff` command shows export changes since a git ref, useful for CI/PR comments to detect spec drift - Config validation: warn on unknown keys in specsync.json and .specsync.toml - Fix: replace `.expect()` panic in `init` with proper error message and exit - Add unit tests for validator.rs (cross-project refs, levenshtein, spec validation) and scoring.rs (TODO counting, section content, project scores) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… update specs Add 12 new integration tests covering the three features from the previous commit that had zero test coverage: - --fix flag: 4 tests (adds exports, no duplicates, creates missing section, JSON mode) - diff command: 4 tests (new exports, removed exports, no changes, human-readable output) - wildcard re-exports: 4 tests (barrel file, fix+wildcard, namespace re-export, depth limit) Update CLI and exports specs to document --fix, diff, and wildcard re-export behavior with invariants, behavioral examples, and public API entries. 131 tests pass (57 unit + 74 integration), all 13 specs pass, clippy clean. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Bump version to 2.2.0 in Cargo.toml - Add v2.2.0 changelog entry covering --fix, diff, and wildcard re-exports - Update README: new commands in Quick Start, CLI Reference, Flags table - Add Auto-Fix & Diff section with usage examples and workflow guidance - Document wildcard re-export resolution in Supported Languages table - Add diff JSON output shape example Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
b273d84 to
58236ff
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three new features that close the loop on spec maintenance:
--fixflag —specsync check --fixauto-adds undocumented exports as stub rows in Public API tables. Creates the section if missing. Never duplicates existing entries. Works with--json.diffcommand —specsync diff [ref]shows exports added/removed since a git ref. Human-readable and JSON output. Essential for code review and release notes.export * from './module'in TypeScript barrel files now resolves and validates the re-exported symbols. Namespace exports (export * as Ns) detected as a single entry. Depth-limited to one level.Quality:
cli.spec.mdandexports.spec.mdwith full behavioral examples and invariantsRelease prep:
Test plan
specsync checkpasses on own specs (13/13)specsync check --fixadds stubs without duplicating existing entriesspecsync diff HEAD~1shows the expected added/removed exports🤖 Generated with Claude Code