Document the machine-readable Wave diagnostic JSON contract
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- Half a day
- Newbie friendliness
- 78/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- rust
- Domain
- cli, documentation
Research direction
Read src/errors.rs and src/main.rs to verify the JSON fields, option handling, output streams, and exit-code categories, then inspect the JSON diagnostic regressions in tests/codegen_regressions.rs. Document the selection commands, one parsing example, compatibility rules, and completion criteria so Vex and editor authors can use the contract without reading Rust source.
Written by the indexing model from the issue text.
Description
Why
wavec --error-format=json is regression-tested and useful to editors, Vex, and other tools, but its fields, output stream, exit behavior, and compatibility expectations are not documented for consumers.
Scope
- Document how to select JSON errors and which commands honor the option.
- Describe the current top-level fields with one short, real example.
- State that diagnostics are emitted on stderr and normal command output remains on stdout.
- Document exit-code categories already exposed by the CLI.
- Explain which fields consumers may treat as stable and how new optional fields may be added.
- Do not redesign the schema in this issue.
Likely references
src/errors.rssrc/main.rs- JSON diagnostic regressions in
tests/codegen_regressions.rs
Completion criteria
- The example parses as JSON.
- Field descriptions match the implementation.
- Human and JSON selection commands are shown.
- Vex/editor authors can consume the contract without reading Rust source.
- Dominant language
- Rust
- Stars
- 56
- Forks
- 21
- Avg merge
- 3h 20m
- Merged PRs (30d)
- 66
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from wavefnd/Wave
-
enhancement good first issue needs testing
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
enhancement good first issue needs testing
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
enhancement good first issue needs testing
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
enhancement good first issue needs testing
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
enhancement good first issue needs testing
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
Similar issues
-
review-drift
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
oxidecomputer/hansei#14 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
rubys/roundhouse#444 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
install: root SSH tmpfiles.d drop-in is labeled etc_runtime_t instead of etc_tPossibly taken @andrewdunndev claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day