feat: chainsaw-grade maturity upgrade (v0.2.0)#1
Merged
rocketman-code merged 4 commits intomainfrom Feb 23, 2026
Merged
Conversation
rocketman-code
added a commit
that referenced
this pull request
Feb 23, 2026
- Make --json and --quiet mutually exclusive via clap conflicts_with - Recover original crate name on thread panic instead of "?" - Use "invalid" status in JSON output for InvalidName (matches tab format) - Normalize #[ignore] style to string-message form in tests/api.rs
rocketman-code
added a commit
that referenced
this pull request
Feb 23, 2026
- Update README JSON example to match actual --json output (status "invalid" not "error") - Gate publish-check CI job on quality checks via needs: directive - Remove redundant serde_json from [dev-dependencies]
Exit code 1 now strictly means "at least one name is unavailable" (taken, reserved, or invalid). Network and internal errors use exit code 3, so CI scripts can distinguish "definitively unavailable" from "we couldn't check." - Add CheckError::Internal variant for honest thread-panic reporting (no longer masquerades as IndexLookup) - Recover original crate name on thread panic via zip instead of "?" - Normalize #[ignore] attributes to string-message form
--json outputs one JSON object per line (NDJSON) with name, status, and optional error fields. InvalidName gets status "invalid" to match tab-separated output; network errors get status "error". --version prints the crate name and version from Cargo.toml. --json and --quiet are mutually exclusive via clap conflicts_with.
- Enable clippy::pedantic (zero suppressions needed) - Pin toolchain to 1.85.0 via rust-toolchain.toml - CI: pin all jobs to 1.85.0, gate publish-check on quality jobs - Add CLAUDE.md project guide - Add CONTRIBUTING.md - Add GitHub issue templates and PR template
Update Cargo.toml version, changelog, README examples, and gitignore docs/plans/. Remove obsolete plan documents.
7ef86a6 to
69fd243
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
Upgrades cargo-avail from v0.1.0 to v0.2.0 with production-grade maturity, driven by a pre-release code review.
Code fixes
CheckError::Internalvariant for thread panics (no longer masquerades asIndexLookup)--versionflagFeatures
--jsonflag for NDJSON machine-readable outputInfrastructure
clippy::pedanticenabled (zero suppressions needed)rust-toolchain.toml(1.85.0)docs/plans/gitignoredTest plan
cargo test-- 40 pass, 0 fail, 5 ignored (network)cargo clippy --all-targets -- -D warnings-- cleancargo fmt --check-- cleancargo doc --no-deps-- clean