Skip to content

Add guidelines for what goes into vstd and how to publish Verus crates on crates.io#2166

Open
parno wants to merge 2 commits intomainfrom
contrib-guidelines
Open

Add guidelines for what goes into vstd and how to publish Verus crates on crates.io#2166
parno wants to merge 2 commits intomainfrom
contrib-guidelines

Conversation

@parno
Copy link
Collaborator

@parno parno commented Feb 10, 2026

As discussed at the Verus meeting, here's some documentation on both items. Additional thoughts are quite welcome.

By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.

file that appears on the crates.io landing page. For example, you might say:
"This crate contains formal specifications and proofs about Widgets,
primarily for use with [Verus](https://github.com/verus-lang/verus), a tool
for verifying the correctness of Rust code."
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For case 1, should we recommend a naming convention? e.g., verus-{}

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm open to making that recommendation. @Chris-Hawblitzel, what do you think?

- We add a `lemma_` prefix to the name of a lemma (i.e., a `proof fn`) to make its purpose explicit.
- We try to make lemmas associated functions when possible, e.g., `my_map.lemma_remove_keys_len(keys)`, not `lemma_remove_keys_len(my_map, keys)`.

## Best practices for publishing Verus-verified code on crates.io
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we put this section somewhere more user-facing than in CONTRIBUTING.md?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm open to putting it elsewhere. We've tried to keep the main README.md relatively simple though. We could potentially put it into its own file and then link to it from both README.md and CONTRIBUTING.md. What do you think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants