Skip to content

Latest commit

 

History

History
130 lines (103 loc) · 5.71 KB

File metadata and controls

130 lines (103 loc) · 5.71 KB

Contributing

Thank you for your interest in contributing to Perspective!

Guidelines

When submitting or commenting on an Issue, please respect the following guidelines. Github Issues are Perspective's project record of bugs and feature development, e.g. for publishing a release's Changelog, and as such it is important to keep them informative and on-topic. As such, please understand that we may remove or reclassify comments, Issues or PRs which violate the guidelines.

Please note that due to the we may close your Issue or Pull Request for one of the reasons listed here or in the associated contribution template. If you find your contribution closed with a link to this document or a contribution template, please make sure you've followed the instructions closely before re-submitting.

  • Be respectful and civil!
  • Use the provided Issue and Pull Request templates. If the templates don't fit your need, please open a discussion instead.
  • Don't ask for issues to be assigned to you if you're a first-time contributor. If you need help picking an issue to work on, please open a discussion.
  • Don't add comments asking when a feature will be delivered or a reported issue fixed. The Issue will link any in-progress draft PRs or Milestones (if known).

When submitting a Pull Request (PR), please respect the following coding guidelines:

  • Don't open a PR without an associated Open Issue which has been tagged by a project maintainer.

  • Make sure your PR passes build, test and lint steps completely before opening a PR. Make sure you've run these locally, even if you think your change will not impact this step!

  • Sign commits (e.g. with -s) in accordance with the DCO policy detailed below, before opening a PR.

  • Please make sure PRs include the following not optional components:

    • Tests asserting behavior of any new or modified features.
    • Docs for any new or modified public APIs.
    • Benchmarks for any performance-critical changes.
  • Keep PRs clean, simple and to-the-point:

    • Squash "WIP", "Reverting ..", etc., commits.
    • No merge commits (git merge master), prefer rebase to resolve conflicts with the master branch.
    • Try to organize commits as functional components (as opposed to timeline-of-development).

DCO

Important

Signed commits are required for all PRs.

The Perspective project requires contributors to affirm their contributions via a Developer Certificate of Origin, which certifies that developers are authorized to make their contribution, either on their own behalf or on behalf of their employer.

In practice, this means that all commits to Perspective must be signed (e.g. with -s/-S). Pull requests with any unsigned commits, or where the signer does not match the commit author, can not be merged by Perspective's committers. We ask that you check that you have a signed all your commits before making a pull request. A DCO enforcement bot will automatically scan and flag any pull requests that lack a valid sign-off.

If you have any general questions about contributing to Perspective, please feel free to open a discussion on github

AI Assistance Notice

This section was forked from ghostty, MIT License (File) (PR). Thanks @mitchellh!

Important

If you are using any kind of AI assistance to contribute to Perspective, it must be disclosed in the pull request.

If you are using any kind of AI assistance while contributing to Perspective, this must be disclosed in the pull request, along with the extent to which AI assistance was used (e.g. docs only vs. code generation). If PR responses are being generated by an AI, disclose that as well. As a small exception, trivial tab-completion doesn't need to be disclosed, so long as it is limited to single keywords or short phrases.

An example disclosure:

This PR was written primarily by Claude Code.

Or a more detailed disclosure:

I consulted ChatGPT to understand the codebase but the solution was fully authored manually by myself.

Failure to disclose this is first and foremost rude to the human operators on the other end of the pull request, but it also makes it difficult to determine how much scrutiny to apply to the contribution.

In a perfect world, AI assistance would produce equal or higher quality work than any human. That isn't the world we live in today, and in most cases it's generating slop. I say this despite being a fan of and using them successfully myself (with heavy supervision)!

Please be respectful to maintainers and disclose AI assistance.

Final Pull Request Checklist

Before opening a Pull Request, be sure:

  • Includes a thorough Description which clearly states what problems the PR solves.
  • Description contains a link to the Github Issue, and any relevent Discussions, this PR applies to.
  • Include new tests that fail without this PR but passes with it.
  • Include any relevent Documentation changes related to this change.
  • Verify all commits have been signed in accordance with the DCO policy.
  • Disclosed AI tooling assistance.
  • Reviewed PR commit history to remove unnecessary changes.
  • Make sure your PR passes build, test and lint steps completely.