You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AI is a great tool for drafting, searching, summarizing, and exploring. Humans must own judgment, accountability, and quality.
4
+
5
+
---
6
+
7
+
## You Own What You Post
8
+
9
+
If you submit a message, pull request, comment, or code with AI assistance, you are fully accountable for it. Before posting anything AI helped produce, you should be able to explain it without AI's help and feel confident putting your name behind it.
10
+
11
+
## Avoid AI Slop
12
+
13
+
"AI slop" is AI generated content copied and pasted with minimal to no human review. Use AI for brainstorming, research, and drafting, but treat it as a starting point, not the final result. Add your own context and nuance before sharing.
14
+
15
+
## Don't Trust AI Blindly
16
+
17
+
AI confidently says things that sound correct but are wrong. Always verify claims against source material. It's your job to understand and validate any AI-generated information you act on or share.
18
+
19
+
## When AI Isn't Enough
20
+
21
+
If a task can be fully automated with no human review, it should be automated for everyone, not done manually with AI. Our [AI Reviewers](/contributingGuides/philosophies/AI-REVIEWER.md) are an example: they do a first pass on code review, but they don't replace human review. You should still apply your own judgment when reviewing code, writing updates, or making decisions.
22
+
23
+
---
24
+
25
+
## Best Practices
26
+
27
+
### Don't
28
+
29
+
- Paste AI output directly without adding your own value
30
+
- Submit AI-generated code you haven't tested, debugged, and confirmed follows our [coding standards](./STYLE.md)
31
+
- Submit AI-generated code you don't fully understand
32
+
- Post poorly formatted AI output or long walls of text without distilling the key points
33
+
- Blame AI for mistakes. The mistake is yours regardless of the source
34
+
- Use AI to generate responses during live conversations instead of engaging directly
35
+
36
+
### Do
37
+
38
+
- Use AI to summarize, draft, research, and explore
39
+
- Review and edit all AI output before sharing. Put it in your own voice and make sure it's accurate
40
+
- Verify AI claims against source information
41
+
- Review all AI-generated code and content before asking others to review it
42
+
- Verify AI-written PR descriptions and add context needed to explain the change
43
+
- Provide evidence of manual testing on PRs, especially when test steps were AI-generated
44
+
- Invest time in learning to write effective prompts and recognize quality output
Copy file name to clipboardExpand all lines: contributingGuides/CONTRIBUTING.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -211,6 +211,9 @@ This helps future investigators understand the history and current status of err
211
211
### Important note about JavaScript Style
212
212
- Read our official [JavaScript and React style guide](https://github.com/Expensify/App/blob/main/contributingGuides/STYLE.md). Please refer to our Style Guide before asking for a review.
213
213
214
+
### Using AI tools
215
+
- If you use AI tools (Copilot, Cursor, ChatGPT, etc.) to help write code or PR descriptions, please read our [AI Etiquette guide](https://github.com/Expensify/App/blob/main/contributingGuides/AI_ETIQUETTE.md). You are accountable for all AI output you submit.
216
+
214
217
### For external agencies that Expensify partners with
215
218
Follow all the above above steps and processes. When you find a job you'd like to work on:
216
219
- Post “I’m from [agency], I’d like to work on this job”
see [`src/components/CountrySelector.tsx`](../src/components/CountrySelector.tsx) (navigationcall)
816
+
and [`src/pages/settings/Profile/PersonalDetails/DynamicCountrySelectionPage.tsx`](../src/pages/settings/Profile/PersonalDetails/DynamicCountrySelectionPage.tsx)
0 commit comments