# r/ClaudeAI post — paste-ready

> Post T+1 (the day after Show HN). 862K subscribers. The angle should *differ from r/ClaudeCode* (which you post the week before) and *differ from the Show HN* (workflow-share framing, not launch-marketing framing).

## Title

```
I built a Claude Code plugin that turns your codebase into a wiki the agent reads — ER diagrams from your ORM models, a cross-service map, cited answers. I also benchmarked it and published the null.
```

197 chars. Reddit allows 300; long title is fine here, the audience reads it.

## Subreddit choice

r/ClaudeAI (the larger / general one). For r/ClaudeCode (smaller / more workflow-focused), see `reddit-claudecode.md` — different post, posted T-7 to T-3 as a soft seed.

## Body

```
TL;DR — Claude Code is great on clean small codebases. On the
8-year-old enterprise codebases most of us actually work in, the
context it needs lives in Jira threads, Confluence pages, and a DB
schema that drifted from the ORM models three refactors ago. I built
a plugin that generates and maintains a wiki over all of that, which
the agent reads before touching code. Open-sourced today:
github.com/narailabs/doc-wiki.

Up front, because you'd find it anyway: I benchmarked whether the wiki
lifts the agent's *fully autonomous* ticket-fix rate — 92 ticket pairs,
SWE-bench-style, container-isolated — and it doesn't (baseline 57/92,
wiki 54/92). The full null is published at benchmark/RESULTS.md. What
the tool gives you is the artifact, and a workflow where you and the
agent navigate it together.

Apache 2.0 forever, runs in your existing Claude Code session, no SaaS.

---

**The actual problem**

Real-world codebases aren't shaped like the SWE-bench fixtures.
8 years of accumulated patterns. A DB schema that drifted from the ORM
models three refactors ago. Half the answers buried in Jira tickets
from 2022. Another 40 services in the ecosystem nobody fully
understands.

Claude can't see what isn't in its context window. Dumping the whole
repo doesn't fit, and wouldn't be useful even if it did, because raw
source is the wrong shape of input for "should I refactor or write a
new service here?"

**What I built**

doc-wiki is a Claude Code plugin (Apache 2.0). 8 slash commands:

- /doc-wiki:init — scaffold + onboarding (detects language, ORM, DB, external services)
- /doc-wiki:atlas — document the whole codebase in one phased pass
- /doc-wiki:ingest — add a source (file / URL / Jira ticket / Confluence page); --refresh keeps it current
- /doc-wiki:query — synthesize a cited answer from the wiki; --promote turns a good answer into a permanent page
- /doc-wiki:lint, :edit, :unarchive, :stats

Output is a structured markdown wiki at `docs/<app>-wiki/`: per-topic
architecture pages, ER diagrams derived from your actual ORM models,
and — when it detects more than one service (root repo + submodules) —
an auto-generated cross-service map: service dependencies, client
registry, queue registry, shared libraries. Claude Code reads it via
your `CLAUDE.md` before touching code. Works the same on a small
single-repo project, just leaner.

External services route through one planner (`gather()` from
narai-primitives) — Jira, Confluence, GitHub, GitLab, Notion, Linear,
AWS, GCP, plus read-only DB connectors with a policy gate. You
configure credentials once.

ORM cross-validation against the live DB through 7 profiles: Prisma,
SQLAlchemy, Django, JPA, TypeORM, ActiveRecord, Entity Framework.

**The numbers, honestly**

I built a hardened benchmark to test the autonomous-accuracy claim:
four configurations, 92 valid ticket pairs on two OSS repos (vitest,
Saleor), egress firewall, sanitized tickets, contamination floors.
Result: no lift — baseline 57/92, wiki 54/92. Published in full at
benchmark/RESULTS.md, per-run artifacts included, reproducible from a
fresh checkout.

Separately: on my own private 500k-LOC enterprise codebase, used
human-in-the-loop (me reading the cross-service map, pointing the
agent at the right pages), my fix rate went from ~10% to ~50%. That's
one engineer's anecdote in a regime the benchmark doesn't cover, and
I label it that way everywhere.

**What I want from you**

Try it on a real-world codebase — gnarly enterprise monolith, root-of-
microservices submodules, or even a small side project — and tell me
what the wiki gets right and wrong. Pop a /doc-wiki:atlas --dry-run,
see what it estimates. The plugin is at github.com/narailabs/doc-wiki.
Manifesto + benchmark linked from the README.

Built it solo, no funding. Happy to argue methodology, defend the
artifact, hear that I'm wrong.
```

---

## Notes

- **Post time:** weekday morning (Mon-Thu 8–11am ET works best on r/ClaudeAI based on top-of-subreddit cadence).
- **Flair:** "Showcase" or "Tools" if those flairs exist; otherwise leave blank.
- **First-hour engagement:** check in every 30 min for the first 4h. Reply to every comment within 20 min. Reddit's first-hour velocity is what determines whether a post gets on the front page of the sub.
- **Don't cross-post.** Posting the same content to r/ClaudeCode the same day will get flagged. The r/ClaudeCode post (separate file, different angle) goes the week before.
- **If a mod removes it for self-promotion:** message the mods politely, point out that the post is workflow-share with explicit open-source commitment, no commercial element. Most mod teams will reinstate.
- **DM strategy:** if someone DMs asking how to use it on their codebase, respond. These DMs are the people who become contributors.
- **Never claim an autonomous-accuracy lift.** The published benchmark is null; the only accuracy numbers allowed are the null (cited) and the ~10%→~50% anecdote (qualified: private codebase, human in the loop, unbenchmarked regime).

## Cross-channel coordination

Same day:
- ⛔ Don't tweet this post. Reddit and X don't share audiences and double-posting reads thirsty.
- ⛔ Don't drop the link in the Anthropic Discord (you already did the Discord post on Day 0).

Day after (T+2):
- ✅ Cross-post a different angle to r/ChatGPTCoding (see `reddit-chatgptcoding.md`).
- ✅ DM swyx (see `cold-dm-swyx.md`).
