Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions CONTRIBUTING.md

This file was deleted.

1 change: 1 addition & 0 deletions CONTRIBUTING.md
33 changes: 28 additions & 5 deletions docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,27 @@ or simply mention what you plan to do in the
PRs are often either rejected or need to change significantly after submission
so make sure before you start working on something it won't be a wasted effort.

## Contribution Expectations

Before opening a PR, unless it is something obvious, consider creating a
discussion or mentioning what you plan to do in
[Discord](https://discord.gg/UBa7pJUN7Z). The important part is to settle the
direction before much review happens. mise has a specific scope and design
taste. I am comfortable saying no to changes that do not clearly fit.

Before I review a PR, CI must be passing and all automated AI review comments
must be addressed. If those are still open, assume I will wait to look at the
PR.

If I am on the fence about a contribution, I will probably reject it for that
reason alone. If I did not do this, mise and the rest of these projects would
suffer from feature bloat. I may also reject a PR if the quality is poor enough
that I do not have confidence the contributor can get it across the finish line.
I do not have time to coach contributors.

I get hundreds of PRs per week across my projects, so I do not have time to
respond to every PR with detailed context. A rejection may be brief.

## Contributing Guidelines

1. **Before starting**: Create a discussion or discuss in Discord for non-obvious changes
Expand All @@ -23,7 +44,8 @@ so make sure before you start working on something it won't be a wasted effort.
1. **PR titles**: Must follow conventional commit format (validated
automatically)
- For new tools in registry: Use `registry: add tool-name (backend:full/name)`
2. **Auto-formatting**: Code will be automatically formatted by autofix.ci
2. **Formatting and linting**: Run the repo formatting and lint tasks before
opening a PR
3. **CI checks**: All tests must pass across Linux, macOS, and Windows
4. **Coverage**: New code should maintain or improve test coverage
5. **Dependencies**: New dependencies are validated with cargo-deny
Expand Down Expand Up @@ -556,11 +578,12 @@ BREAKING CHANGE: The old configuration format is no longer supported
mise uses several automated workflows to maintain code quality and streamline
development:

### Automated Code Formatting
### Formatting and Linting

- **autofix.ci**: Automatically formats code and fixes linting issues in PRs
- Runs `mise run render` and `mise run lint-fix` automatically
- Commits fixes directly to the PR branch
- Run `mise run render` and `mise run lint-fix` before opening a PR
- Generated docs, completions, and snapshots should be committed with the
change that requires them
- PRs with formatting or lint failures should be fixed by the contributor

### PR Title Validation

Expand Down
Loading