diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..e57dd47 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,44 @@ +## Problem + + + +## Changes + + + +## How did you test this code? + + + + + +## Checklist + +- [ ] Tests for new code (if applicable) +- [ ] Accounted for backwards compatibility of any changes (no breaking changes!) + +## 🤖 Agent context + + + + + +**Autonomy:** Human-driven (agent-assisted) — or — Fully autonomous + + + diff --git a/AI_POLICY.md b/AI_POLICY.md new file mode 100644 index 0000000..db67148 --- /dev/null +++ b/AI_POLICY.md @@ -0,0 +1,45 @@ +# AI contributions policy + +PostHog is built with plenty of AI assistance. +This policy exists because of a growing volume of low-quality, AI-generated contributions that waste maintainer time. + +## The standard + +**You own what you submit.** +Understand your code, test it, and be ready to explain why it's correct and how it interacts with the rest of the system (without re-prompting an LLM). +This is no different from what we'd expect of any contribution; AI makes it easier to skip the work – please don't skip the work. + +**Prove it works.** +Before submitting, please verify the change actually works end-to-end — don't rely on "it compiles" or "tests pass" alone. + +Add tests for new behavior, smoke test the change in an example project where applicable, and describe your test strategy in the PR description: what you tested, how you tested it, and what edge cases you considered. + +For changes with user-visible UI, include a short demo (screenshot, screen recording, or GIF) of the feature working in the PR description. Ideally you demo more than just the happy path. + +PRs that clearly weren't run or tested will be closed under this policy. + +**Disclose AI usage.** +Our [PR template](.github/pull_request_template.md) includes an Agent context section — please use it (most agents will pick it up automatically). +If an agent co-authored or authored your PR, say so and leave context about the tools and session. +This helps reviewers calibrate. + +**Prefer PRs over AI-generated issues.** +If AI helped you find a bug, fix it and open a pull request — don't paste the AI's output into an issue. +Unreviewed, AI-generated bug reports and security disclosures will be closed without response. + +**Don't submit unsolicited AI-generated PR reviews.** +If you didn't write the code and aren't a maintainer, don't point an LLM at someone else's PR and leave its output as a review comment. +This is generally never helpful. + +## What happens when contributions don't meet this bar + +- **First time:** We'll close the PR/issue with a link to this policy and a brief explanation. +- **Two or more closures:** We'll block the account. + +## Why we're not anti-AI + +We think the best contributions today often involve AI. +A contributor who uses an LLM to help them understand unfamiliar code, draft a first pass, or catch edge cases they'd miss is probably _more_ productive than someone doing everything by hand. +The key difference is that they're driving the AI, not the other way around. + +If you're new to open-source contributing and want to learn, we're genuinely happy to help — open an issue, ask questions, submit small PRs.