Get Your Project Listed
Two steps. The first one is you, the second one is your AI.
Before you start
You need a GitHub repository for your project. If you don't have one yet, create a new repo on GitHub first, then come back here.
Works with private repos too. Your source code stays on GitHub -- only your prompts are shared.
Sign in and add your project
Sign in with GitHub and add your repo from the dashboard. After adding your project, you will get two credentials:
- YELLINGATBOTS_TOKEN -- your sync authentication token
- YELLINGATBOTS_PROJECT_ID -- your project's unique identifier
You can always find these again on your project's settings page in the dashboard.
Copy this prompt into your AI
Paste your sync token and project ID into the placeholders below, then copy the whole thing into Claude Code (or your AI coding tool). It handles the rest.
I want to set up whogitit (by dotsetlabs) for AI code attribution and connect this project to yellingatbots.com so my prompts are publicly visible. Here is what to do:
1. Install whogitit: curl -sSL https://github.com/dotsetlabs/whogitit/releases/latest/download/install.sh | sh
2. Run "whogitit setup" then "whogitit init" in this repo
3. Push the whogitit notes: git push origin refs/notes/whogitit
4. Add these as GitHub repo secrets (use gh secret set):
- YELLINGATBOTS_TOKEN: <paste your token here>
- YELLINGATBOTS_PROJECT_ID: <paste your project ID here>
5. Create .github/workflows/yellingatbots-sync.yml with this content:
name: Sync to yellingatbots.com
on:
push:
branches: [main]
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Fetch whogitit notes
run: git fetch origin refs/notes/whogitit:refs/notes/whogitit || true
- name: Install whogitit
run: cargo install whogitit
- name: Export and sync
env:
YELLINGATBOTS_TOKEN: ${{ secrets.YELLINGATBOTS_TOKEN }}
YELLINGATBOTS_PROJECT_ID: ${{ secrets.YELLINGATBOTS_PROJECT_ID }}
run: |
set -e
REPO_TOTAL_COMMITS=$(git rev-list --count HEAD)
REPO_TOTAL_LINES=$(git ls-files -- '*.ts' '*.tsx' '*.js' '*.jsx' '*.css' '*.html' '*.py' '*.rs' '*.go' '*.java' '*.rb' '*.vue' '*.svelte' | xargs wc -l 2>/dev/null | tail -1 | awk '{print $1}')
REPO_TOTAL_LINES=${REPO_TOTAL_LINES:-0}
whogitit export --full-prompts > /tmp/export.json
jq --argjson tc "$REPO_TOTAL_COMMITS" --argjson tl "$REPO_TOTAL_LINES" \
'. + {repo_stats: {total_commits: $tc, total_lines: $tl}}' \
/tmp/export.json > /tmp/payload.json
HTTP_CODE=$(curl -s -o /tmp/response.json -w '%{http_code}' \
-L -X POST \
-H "Authorization: Bearer $YELLINGATBOTS_TOKEN" \
-H "Content-Type: application/json" \
-d @/tmp/payload.json \
"https://yellingatbots.com/api/sync?project_id=$YELLINGATBOTS_PROJECT_ID")
echo "Sync response (HTTP $HTTP_CODE):"
cat /tmp/response.json
[ "$HTTP_CODE" -eq 200 ] || exit 1
6. Commit and push everything.We automatically detect and hide setup prompts from your public timeline. If one slips through, you can manually hide it from your prompt timeline.
What that prompt does
Installs whogitit
Sets up AI code attribution tracking by dotsetlabs. Every prompt you use and every line your AI writes gets recorded in git notes.
Adds auto-sync
Creates a GitHub Action that sends your prompt data to yellingatbots every time you push. No manual steps after this.
Pushes it all
Commits the workflow file, pushes your whogitit notes, and you are live. Your project page shows your full prompt timeline.
Already have whogitit installed?
If you already have whogitit tracking your project, you just need the GitHub Action. Paste your credentials into the placeholders and give this shorter prompt to your AI:
Add a GitHub Action to sync my whogitit data to yellingatbots.com. My sync credentials are: - YELLINGATBOTS_TOKEN: <paste your token here> - YELLINGATBOTS_PROJECT_ID: <paste your project ID here> Set those as GitHub repo secrets with gh secret set, then create .github/workflows/yellingatbots-sync.yml that runs on push to main, checks out with full depth, fetches whogitit notes, installs whogitit via cargo, counts real repo stats (total commits via git rev-list and total source lines via git ls-files + wc -l), exports whogitit data to a temp file, uses jq to merge repo_stats into the export JSON, and pipes it to a curl POST to https://yellingatbots.com/api/sync with the token and project ID. Commit and push.
Frequently asked questions
Does my code get stored on yellingatbots?
No. Your code stays on GitHub. We store the full text of your AI prompts, model information, commit metadata, and line-level attribution statistics. You can hide individual prompts from public view at any time from your dashboard.
What is whogitit?
whogitit is a tool by dotsetlabs that tracks AI-generated code at line-level granularity using git notes. It records which prompts generated which code, what models were used, and automatically redacts sensitive data. yellingatbots would not be possible without it.
What does whogitit work with?
whogitit currently has first-class integration with Claude Code, capturing prompts, models, and file changes automatically through hooks. It tracks which AI model generated each line of code and records the full prompts used.
Is sensitive data protected?
Yes. whogitit automatically detects and redacts API keys, passwords, and other sensitive data from prompts before they are stored. You can also configure custom redaction patterns.
Will the setup prompt show on my timeline?
We automatically detect setup prompts (like the ones on this page) and hide them from your public timeline. If one slips through, you can manually hide any prompt directly from your prompt timeline.
Can I remove my project?
Yes. You can delete your project from your dashboard at any time. This removes all cached data from yellingatbots. Your GitHub repo is not affected.