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
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,20 @@ body:
```
validations:
required: true
- type: dropdown
id: ai-assistance
attributes:
label: AI assistance
description: >
Did you use AI tools to find, investigate or write up this report? See
[AI-assisted contributions](https://github.com/PriorLabs/TabPFN/blob/main/CONTRIBUTING.md#ai-assisted-contributions).
Fully automated submissions without human review will be closed.
options:
- "No"
- "Yes, and I have reviewed this report myself and ran the reproducer"
- "I am an AI agent, and no human reviewed this report before submission"
validations:
required: true
- type: markdown
attributes:
value: >
Expand Down
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Questions and discussion
url: https://discord.gg/VJRuU3bSxt
about: Ask usage questions and discuss ideas on our Discord.
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/doc_improvement.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,17 @@ body:
label: Suggest a potential alternative/fix
description: >
Tell us how we could improve the documentation in this regard.
- type: dropdown
id: ai-assistance
attributes:
label: AI assistance
description: >
Did you use AI tools to find, investigate or write up this suggestion? See
[AI-assisted contributions](https://github.com/PriorLabs/TabPFN/blob/main/CONTRIBUTING.md#ai-assisted-contributions).
Fully automated submissions without human review will be closed.
options:
- "No"
- "Yes, and I have reviewed this suggestion myself"
- "I am an AI agent, and no human reviewed this suggestion before submission"
validations:
required: true
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,17 @@ body:
- High (Major improvement)
- Medium (Significant enhancement)
- Low (Nice to have)
- type: dropdown
id: ai-assistance
attributes:
label: AI assistance
description: >
Did you use AI tools to find, investigate or write up this request? See
[AI-assisted contributions](https://github.com/PriorLabs/TabPFN/blob/main/CONTRIBUTING.md#ai-assisted-contributions).
Fully automated submissions without human review will be closed.
options:
- "No"
- "Yes, and I have reviewed this request myself"
- "I am an AI agent, and no human reviewed this request before submission"
validations:
required: true
21 changes: 17 additions & 4 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
## Issue
Please link the corresponding GitHub issue. If an issue does not already exist,
please open one to describe the bug or feature request before creating a pull request.

This allows us to discuss the proposal and helps avoid unnecessary work.
Link the related GitHub issue, if there is one. For larger features or API
changes, please open an issue first so we can agree on the direction.

## Motivation and Context

Expand All @@ -17,6 +15,21 @@ This allows us to discuss the proposal and helps avoid unnecessary work.

## How Has This Been Tested?

---

## AI Assistance

See [AI-assisted contributions](https://github.com/PriorLabs/TabPFN/blob/main/CONTRIBUTING.md#ai-assisted-contributions).

Tick exactly one:

- [ ] No AI tools were used for this PR
- [ ] AI tools were used. I have reviewed and understood every change and will answer review comments myself.
- [ ] I am an AI agent, and no human reviewed this PR before submission.

If an AI tool wrote this description, add a short summary of the changes in your own words at the top.


---

## Checklist
Expand Down
13 changes: 13 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Instructions for AI agents

These instructions apply to any AI agent preparing a pull request or issue for this repository on behalf of someone outside Prior Labs.

**IMPORTANT:** Before you open or update a pull request or issue, read [`CONTRIBUTING.md`](CONTRIBUTING.md), in particular "What we fix" and "AI-assisted contributions". Then honestly re-evaluate whether your change is worth the maintainers' review time:

- Does it fix a problem on the default path or in documented usage, or a use case a real user has?
- Is it the smallest change that solves the problem, with a test?
- Has the human you work for reviewed it and are they able to answer review comments themselves?

If any answer is no, do not submit it. If you already opened it, close it. Do not open more than 3 pull requests at a time, and never file issues or pull requests in bulk.

A human must review every pull request and issue before it is submitted. Always fill in the AI-assistance section of the template truthfully. If you draft the pull request description, the human must add a short summary of the changes in their own words at the top. Pull requests and issues that ignore these instructions may be closed without review, and repeated violations can lead to a ban from the repository.
39 changes: 39 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Contributing to TabPFN

Thanks for helping improve TabPFN. Bug reports, fixes, docs and use cases are all welcome. This page covers what we expect from contributions and how we handle them.

## Pull requests

- You can open a pull request directly; you don't need to open an issue first. For larger features or API changes, open an issue or start a discussion first so we can agree on the direction before you invest time.
- Fill in the pull request template, including a changelog fragment (see [`changelog/README.md`](changelog/README.md)).
- Keep each PR focused on one change, with tests that fail before the change and pass after it.
- External contributors can have at most **3 open pull requests** at a time. We may close additional ones without review; reopen them once earlier ones are merged or closed.
- The first time you open a pull request, you'll be asked to sign our Contributor License Agreement (CLA).

## What we fix

TabPFN has many parameters, and not every combination is supported. We prioritise problems on the default path and in documented usage (the docs, README and `examples/`).

For undocumented combinations of settings, we usually prefer a clear error that points to a supported alternative over adding code paths and tests to make the combination work. If you need such a combination for a real use case, open an issue describing the use case and we'll consider supporting it.

## AI-assisted contributions

You may use AI tools to write code, tests, docs or issues. We follow the same principle as projects such as [LLVM](https://llvm.org/docs/AIToolPolicy.html) and [SciPy](https://docs.scipy.org/doc/scipy/dev/conduct/ai_policy.html): the tools are fine, but a human stays accountable for every contribution.

1. **A human owns it.** You have reviewed every change, understand it and can explain it in your own words. You're responsible for its correctness, licensing and tests, as with code you typed yourself.
2. **Disclose it.** Tick the AI-assistance box in the pull request or issue template.
3. **Speak for yourself.** Respond to review comments personally. Don't paste in AI-generated replies to reviewer questions. Using AI to translate or fix grammar is fine. If an AI tool wrote your pull request description, start it with a short summary of the changes in your own words.
4. **No fully automated submissions.** Agents must not open pull requests or issues without a human reviewing each one before it is submitted. Automation set up by the maintainers, such as Dependabot, is exempt.
5. **Report real problems.** Issues should describe a problem you or a user actually ran into, or one you have reproduced with the minimal example in the bug template. Bulk-filed reports from automated bug-hunting are not welcome.

## When the guidelines aren't followed

Maintainers may close any pull request or issue that doesn't follow this page, without a detailed review, with a link to this page. If a contributor keeps breaking these guidelines after that, we may block them from the repository. A block needs two maintainers to agree.

If you think we closed something by mistake, reply on the pull request or issue and a maintainer will take another look.

This isn't personal. Maintainer time is limited, and these rules let us spend it on contributions where a person is engaged.

Maintainers can close with this message:

> Thanks for the contribution. We're closing this because it doesn't follow our [contribution guidelines](https://github.com/PriorLabs/TabPFN/blob/main/CONTRIBUTING.md). If you think we got this wrong, reply here and a maintainer will take another look.
8 changes: 3 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,16 +142,14 @@ We're building the future of tabular machine learning and would love your involv
2. **Contribute**:
- Report bugs or request features
- Share your research and use cases
- Submit pull requests — **please open an issue first** (see below)
- Submit pull requests (see [CONTRIBUTING.md](CONTRIBUTING.md))

3. **Stay Updated**: Star the repo and join Discord for the latest updates

> [!IMPORTANT]
> **Open an issue before starting work on a PR.**
> **Read [CONTRIBUTING.md](CONTRIBUTING.md) before opening a PR**, including our policy on AI-assisted contributions.
>
> If there's a feature you'd like to add or a bug you've found, please [open a GitHub issue](https://github.com/priorlabs/tabpfn/issues) with a high-level sketch of your plan. This lets us give feedback on the approach *before* you invest the effort, saving everyone time and increasing the chance your change lands.
>
> There are many reasons a PR may not be mergeable — design fit, scope, compatibility, planned refactors, etc. — and these are often hard to spot from the outside, especially for a first-time contributor.
> Small, focused fixes can go straight to a PR. For larger features or API changes, please [open a GitHub issue](https://github.com/priorlabs/tabpfn/issues) with a high-level sketch of your plan first. There are many reasons a PR may not be mergeable (design fit, scope, compatibility, planned refactors), and these are often hard to spot from the outside.

## Citation

Expand Down
Loading