Consider adding a checklist / lints of best practices
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 15.5k
- Forks
- 3k
- Avg merge
- 23h 30m
- Merged PRs (30d)
- 51
Description
Right now there are several checks done by cargo publish. Unfortunately there isn't a concise list of the necessary requirements for publishing a crate. The only way to tell is cargo publish or cargo publish --dry-run. The latter is harder to discover. And once you detect and error, it could take a while to fix (like if you're using unversioned dependencies).
There are also higher-level best-practices that could be described to the user that they should follow. Ideally all of these would be checkable via lints within cargo itself. Some examples:
- Check that there isn't a
use_*feature where*is an existing crate name with underscores (from this issue) - That the crate has a
stdfeature if this crate could expose functionality that made sense in ano_stdenvironment.
Ideally this would be something that would be part of the publishing process for the first version of a crate and then could also be part of cargo publish --dry-run as a check in the future. I don't know if cargo checklist is a good name for this or it could all be contained within the cargo publish command.
Contributor guide
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.
Research direction
Start by reviewing the existing checks performed by cargo publish and cargo publish --dry-run. Determine the intended scope for a concise publishing checklist or lints, including the proposed feature-name and std checks. Done should include an agreed command or publishing-flow design and clearly defined checks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100