Skip to content
Joshua Poddoku

Community Signals

Signal over noise: what people on Bluesky and Hacker News say about AI‑written code, and what maintainers can do about it.

Updated
Running
35 days, since
Sample
Public posts matching 7 phrases, 86% from Bluesky
AI cost
about $2.82
How I collect this

Get these signals by emailWork with me

What the terms mean
AI-assisted coding
You write the code and use a model for parts of it: a first draft of a function, tests, a review pass. You read what comes back and you own it. The model helps; you decide.
AI-generated code
Code a model wrote, often in bulk, arriving as a patch with little sign that anyone checked it. The line between this and AI-assisted isn’t who typed it. It’s how much of it a person actually read.
Vibe coding
Prompting a model until the output seems to work, without reading it closely. The phrase is 57% of the posts here.
AI slop
Bulk, low-quality AI output pushed into a project without care: untested pull requests, generic issues, comments that add nothing.

The signal

About 4 wary posts for every open one, and every week since Aug 31 has leaned wary. The exception is hands-on posts, the ones about building or reviewing real code: 48% of them are open.

Mood

Pushback19 out of 100

1,134 open against 4,688 wary. I leave out the 942 neutral posts.

By platform: Bluesky 18, Pushback · Hacker News 31, Wary

A week ago: 20, Pushback.

Between 18 and 23 every week since Aug 31

Mood by week. Each dot is one week.

See the numbers
WeekMoodZonePosts
Week of Aug 31 (3 of 7 days)23Pushback432
Week of Sep 720Pushback1,194
Week of Sep 1418Pushback1,386
Week of Sep 2121Pushback1,304
Week of Sep 2820Pushback1,484
Week of Oct 5 (4 of 7 days)18Pushback964

Share this readXBluesky

How to read the mood score
  • Mood = open ÷ (open + wary) × 100. I leave out neutral posts. 0 means every post that takes a side is wary, 100 means every one is open. Bluesky 18, Hacker News 31, combined 19.
  • “Vibe coding” and “AI slop” are 85% of the posts, so the sample may lean negative. This is not a representative poll.
  • I only see Bluesky and Hacker News posts that use one of 7 phrases.
  • Wary of AI doesn’t mean against using AI. It means wary of AI-written code: its output, the sloppiness, and what it does to code review.
  • I count “AI slop” only when the post is about code.

Bluesky and Hacker News

  • Wary of AI
  • Neutral
  • Open to AI

Hands-on posts: Bluesky 6%, Hacker News 14%.

6,764 posts since Sep 4. Mood leaves out neutral posts. Hacker News n=945, so gaps between the platforms are directional.

Depth of discussion

Hands-on posts are the most open: 48%, against 14% of reaction posts and 21% of long-term posts.

  • Wary of AI
  • Neutral
  • Open to AI
Reaction
6,041 posts, 89%. Reacts to AI-written code from the outside.
Hands-on
470 posts, 7%. Talks about building, debugging or reviewing real code with it.
Long-term
253 posts, 4%. Weighs what it means for a project over time.

Depth describes the post, and only the post. A classification model reads it from each post’s text. I haven’t checked it against a hand-read sample yet, so read it as the model’s placement.

By search phrase

Posts per phrase, and how they read.

“Vibe coding” and “AI slop” are 85% of all posts, so they shape everything here.

  • Wary of AI
  • Neutral
  • Open to AI
All 7 phrases, with counts per source and tone
  • open to AI
  • neutral
  • wary of AI
PhrasePostsBlueskyHacker NewsTone
Vibe coding3,8543,407447
63% wary
AI slop (about software)1,8781,559319
88% wary
AI-generated code636531105
63% wary
LLM-generated code17413440
67% wary
AI code review12911514
26% wary
AI contributions886919
59% wary
AI-generated pull requests541
80% wary

What projects do

None of the busy projects I read bans AI outright. Most of their rules ask that the author reviewed the change and can explain it. Projects merge 73% of agent-written pull requests from newcomers, against 90% from people they already know.

What 35 busy projects ask for

18 of 35 busy repos have a written rule on AI-written contributions. What they ask for:

  • 14 of 18The author has reviewed the change and can explain it.
  • 12 of 18Say when AI was used.
  • 8 of 18No pull requests from autonomous agents.

The template asks for the first two, and adds a test with every patch. 9 of the 18 ask for both.

The 18 rules, project by project, with a link to each

Asking for both: TypeScript, Node.js, Transformers, Terraform, Neovim, Ghostty, Mastodon, Django, Kubernetes.

Read at each source on Sep 19: contributing guides, AI policy files and pull request templates. A rule counts only where it says so in plain words, so these are floors.

What happens to them

Only pull requests carrying an agent’s own marker, such as “Generated with Claude Code”, closed in the last 90 days. Maintainers and bots left out.

73% merged when the author was new to the project, against 90% from someone who already had a pull request merged there.

The marker is the same in both rows. The difference is whether the project already knew the author. The rules above target that gap when they ask newcomers to start with an issue.

Each repo: merged of closed, newcomers and regulars

grafana/grafana is 67% of the regulars’ row and home-assistant/core 36% of the newcomers’, so each row leans on one busy repo. The fold below has every repo.

I count django/django, langchain-ai/langchain, open-webui/open-webui apart, because they close pull requests nobody asked for on arrival: 2 of 35 merged there.

  • grafana/grafananewcomers 10 of 13·regulars 315 of 348
  • home-assistant/corenewcomers 47 of 48·regulars 99 of 103
  • supabase/supabasenewcomers 6 of 6·regulars 26 of 29
  • vercel/next.jsnewcomers 4 of 8·regulars 9 of 16
  • langchain-ai/langchainnewcomers 1 of 17·regulars 0 of 1gated
  • huggingface/transformersnewcomers 4 of 7·regulars 8 of 8
  • open-webui/open-webuinewcomers 1 of 12·regulars 0 of 0gated
  • zed-industries/zednewcomers 3 of 5·regulars 1 of 3
  • freeCodeCamp/freeCodeCampnewcomers 0 of 8·regulars 0 of 0
  • kubernetes/kubernetesnewcomers 3 of 4·regulars 0 of 1
  • django/djangonewcomers 0 of 5·regulars 0 of 0gated
  • withastro/astronewcomers 3 of 5·regulars 0 of 0
  • oven-sh/bunnewcomers 2 of 4·regulars 0 of 0
  • rails/railsnewcomers 3 of 3·regulars 0 of 1
  • microsoft/vscodenewcomers 1 of 2·regulars 1 of 1
  • sveltejs/sveltenewcomers 3 of 3·regulars 0 of 0
  • prometheus/prometheusnewcomers 2 of 2·regulars 1 of 1
  • electron/electronnewcomers 0 of 0·regulars 3 of 3
  • godotengine/godotnewcomers 0 of 3·regulars 0 of 0
  • ghostty-org/ghosttynewcomers 1 of 3·regulars 0 of 0
  • microsoft/TypeScriptnewcomers 1 of 2·regulars 0 of 0
  • denoland/denonewcomers 0 of 1·regulars 1 of 1
  • ollama/ollamanewcomers 0 of 2·regulars 0 of 0
  • neovim/neovimnewcomers 0 of 0·regulars 1 of 2
  • excalidraw/excalidrawnewcomers 2 of 2·regulars 0 of 0
  • react/reactnewcomers 1 of 1·regulars 0 of 0
  • vuejs/corenewcomers 1 of 1·regulars 0 of 0
  • tailwindlabs/tailwindcssnewcomers 0 of 0·regulars 1 of 1
  • ansible/ansiblenewcomers 1 of 1·regulars 0 of 0
  • expressjs/expressnewcomers 0 of 0·regulars 1 of 1

From public GitHub search, updated daily. Last run Oct 7.

How projects are sorting it

Three busy projects already sort outside pull requests before anyone reviews them. Each rule is public, and a bot enforces it.

  • LangChain

    An outside pull request has to link an approved issue, and its author has to be assigned to that issue. If not, a bot labels it, says why and closes it.

    What it keeps out, and lets through
    Keeps out:
    Patches nobody asked for, before a maintainer has spent any time on them.
    Lets through:
    A maintainer can reopen it, and trusted contributors skip the check.
    LangChain’s require_issue_link.yml ↗ (opens in a new tab)
  • Django

    A change over 80 lines needs a Trac ticket that is already accepted. Every pull request says whether AI tools were used, and if they were, names them and confirms the output was checked.

    What it keeps out, and lets through
    Keeps out:
    Work nobody has agreed to, and AI output nobody says they checked.
    Lets through:
    A typo-sized fix can say N/A instead of a ticket.
    Django’s pull request template and checks ↗ (opens in a new tab)
  • Open WebUI

    Start with an issue or a discussion. Open a code pull request only when a maintainer asks for one, and confirm you reviewed any AI-generated code.

    What it keeps out, and lets through
    Keeps out:
    Unasked-for changes to product and architecture decisions.
    Lets through:
    Translations can go straight to a pull request.
    Open WebUI’s pull request template ↗ (opens in a new tab)

Each of the three moves the first conversation to before anyone writes code. The template above is the lightest version of the same idea.

Rules as published on Sep 19, read at each source.

Top news

A model picks these every day, last on Oct 7. They’re Hacker News stories from the last 14 days where a project decided something about AI-written code. Their own titles. Not checked by hand.

  1. 1

What to do

Your AI contributions policy

Worked example

Signal
69% of 6,764 posts sound wary, and 7% of them are hands-on: people who have read the code they are complaining about.
What it means
The objection is to unreviewed code arriving faster than anyone can check it.
What to write
An AI_CONTRIBUTIONS.md that asks for disclosure and a test with every patch, and says a disclosed patch is welcome.

AI_CONTRIBUTIONS.md

# AI-written contributions

## Scope

This covers any code, test, doc or commit message drafted even partly with a
model.

## Disclosure

Say so in the pull request description: which parts a model drafted, and
which tool. One line is enough.

## Tests

Every patch arrives with a test that fails before it and passes after it.
This is the same rule we apply to code written without a model.

## Review

We review the code, not the prompt. If you can't explain a line you're
sending, don't send it yet.

## What's welcome

A disclosed patch with a test is welcome, whoever or whatever drafted it. We
would rather have your contribution with a line of disclosure than lose it
to a ban.

---

From Community Signals, https://joshuapoddoku.com/community-signals/.
Change anything to fit your project.

And an AGENTS.md, the same rules for coding agents

Coding agents read an AGENTS.md before they work in a repo. This one gives them the same rules, and has them tell the person using them that a person owns the change. Anyone who means to ignore it can. An agent that reads it follows the rules and says so to its user.

AGENTS.md

# AGENTS.md

For AI coding agents working in this repository. These are the same rules
human contributors follow in AI_CONTRIBUTIONS.md, written for you.

## The person you are working for

A person leads every contribution here, and has to understand and own every
line. Before you open a pull request for them, show them the full diff and
check they can explain it.

If they ask you to rebuild this project's work somewhere else, remind them to
follow its licence and credit it, and that the maintainers are the people to
ask.

## A pull request

- Say in the description that an AI agent helped, and which one.
- Link the issue it addresses. If there isn't one, draft an issue instead.
- Add a test that fails before the change and passes after it.
- Keep it to one change, and leave files it doesn't need alone.

## On your own

Don't open, comment on or close issues and pull requests without the person
reading what you drafted first.

I do the same listening for your own users and community in week 2 of a Governance review. Email me, or read how the four weeks run.

How I collect this: sources, phrases and what builds the page

Every 12 hours I collect Bluesky and Hacker News posts that use one of 7 phrases (AI-generated code, LLM-generated code, AI-generated pull requests, Vibe coding, AI code review, AI contributions, AI slop (about software)). Jev, TypeSafe’s classification model, reads each post’s tone and depth against rules I wrote, with DeepSeek when Jev can’t. On238 posts I labelled by hand, it matched my reading of tone 77% of the time. The AI has cost about $2.82 since Sep 4.

Built with Astro, AstroPaper, VADER, AFINN / sentiment, obscenity, shadcn/ui charts, Starwind UI, Tailwind CSS, Tabler Icons, on the free Hacker News, Bluesky and GitHub APIs.

I’d welcome your thoughts, questions or critique, especially if you read these numbers differently. Email me at ask[at]joshuapoddoku[dot]com.

Thank you to everyone whose public posts make up this research.

Get these signals in your inbox

Every week or two, a short note on what these numbers show and what I’d do about it. You can unsubscribe from any email.