The broadcasting layer for software teams.
Yanib drafts release updates, flags declared code-surface changes for review, and publishes across the channels you configure. Connect a repo, then ship in public.
Free forever. No credit card. Or see how it works first.
Surface detection
One service ships. Every other service that uses what changed hears about it the moment it lands.
Yanib records what each service depends on, and can open that configuration as a pull request itself.
- 01Two services depend on a third
- 02The service they depend on ships
- 03Yanib matches the diff to a surface
- 04Yanib broadcasts to your own surfaces
- 05The services it breaks find out
Everything above runs today. The dashed node, flagging the blast radius on the pull request itself, is what we are building next.
Three services in one organisation. yanib/checkout-web and yanib/reporting-api both depend on the api-routes surface of yanib/payments-api. When a pull request removes the GET /api/billing/estimate endpoint and merges to the default branch, Yanib matches the diff against the api-routes surface, records one removed and one added capability, and resolves the owner from CODEOWNERS. It then posts to the #api-consumers channel and opens a documentation pull request, and separately files a row in each affected repository's activity and opens an issue in every affected repository that has enabled them, naming the dependency that changed. Flagging the affected services on the open pull request, before the merge, is not yet built.
Everything above is a diagram. This is the same feature pointed at Yanib itself, counted from the production database when this page loaded, with our own test fixtures left out.
- 600
- capabilities tracked
- 924
- changes recorded
- 6
- removals and edits
- 92%
- confirmed by a human
schema models, fields and paths
across 45 days
what a flat log cannot see
the rest we dismissed
Every Yanib release is published by Yanib. Read our stories
How it works
Three steps. Two minutes.
Connect
Sign in with GitHub, GitLab, or Google. Connect a repo, webhook installed automatically. Import your release history in one click.
Detect
Yanib reads every merge and works out which parts of your product actually changed. It drafts the release note in seconds, on a tag or fully on autopilot, then a second, stronger model checks every claim against the real PRs and commits.
Broadcast
Review if you want, then publish. One push reaches every channel your users already read, while the owners of what changed get told without anyone having to remember.
Surface detection
Every system has parts other teams quietly depend on.
A surface is anything outside your repo can rely on: an endpoint, a database field, an env var. You list yours once, in a file next to your code. Yanib checks default-branch diffs against those rules and records matching changes as candidates with source evidence.
How detection decidespayments-api#482Swap the billing estimate endpoint for the new preview one
+ app/api/billing/preview/route.ts
− app/api/billing/estimate/route.ts
~ lib/pricing/round.ts
api-routes- ADDED
POST /api/billing/preview - REMOVED
GET /api/billing/estimate
@acme/payments· read from your CODEOWNERSThe third file does not match the declared surface rules. The two matches still need human confirmation.
When notifications are enabled, a match follows the surface’s configured routes and remains available for review in Yanib.
docs: document new api-routes capabilitiesOpened as a PR on your repo. Yours to merge.
.yanib.ymlcommitted to your repo, reviewed like code- api-routes
- schema
- env-vars
- background-jobs
- ai-tasks
feat: add POST /api/billing/previewapi-routes · candidaterefactor: move helpers into lib/silentchore: bump prisma to 6.1silentremove GET /api/billing/estimateapi-routes · reviewstyle: reformat route handlerssilent
Three of those five did not match the declared structural rules. The two matches remain review candidates, not verified impact. A person confirms the evidence before either change enters the confirmed inventory.
You don’t start from an empty list
Connect a repo and Yanib reads back through 90 days of history first, so the inventory of what you expose already exists before you have written a line of config.
Nothing new to maintain
Owners come from the CODEOWNERS file you already have. The watchlist is one small file in the repo, changed in a pull request like everything else you version.
Off until you turn it on
Detection is per repo, and opening docs pull requests is a second switch again. Yanib never writes to your default branch, whichever way both are set.
Accuracy status: the structural rules have automated coverage, but cross-repository real-history accuracy is still being calibrated. Yanib does not present candidates as independently verified truth.
One publish, every channel
You ship. Yanib broadcasts.
You never write a word. Yanib drafts the update from your actual commits and PRs, QA checks every claim against the evidence, then publishes everywhere your users, community, and stakeholders already read. Approve it or run on autopilot. Formatted for each channel, routed per repo.
One update, zero writing
- Detected from your commits & PRs
- AI written, evidence checked
- Approve or run autopilot
One update, zero writing
- Detected from your commits & PRs
- AI written, evidence checked
- Approve or run autopilot
Plus one more audience that never reads announcement posts, meet the ninth channel below.
The ninth channel
Agents are an audience too.
Coding agents check what a dependency shipped before they upgrade it. Every Yanib story is served in machine readable formats, markdown for LLMs, JSON for tools, MCP for agents, so the answer is one request away.
$ curl https://yanib.dev/llms.txt
# the broadcasting layer, indexed for agents
/llms.txt → product + endpoint index
/stories/{slug}/llms.txt → stories as clean markdown
/api/v1/releases/latest → latest release, JSON
/api/mcp/public → read only MCP, no account
Features
Everything you need to ship in public
Detect, write, publish, be known, and let agents do it for you. Five layers, one tool.
01 · Detect
Catch new capabilities where they enter the codebase.
Structural surface detection
Check configured paths for added files, schema additions, or custom pattern matches. Each match keeps its diff evidence and enters review as a candidate.
A persistent capability ledger
See what Yanib found, the commit or merged PR behind it, whether it was announced, and which declared docs stayed unchanged.
Docs follow-up with consent
Declare related docs in .yanib.yml. Yanib records stale docs and, when repo write access is enabled separately, opens a reviewable update PR.
02 · Write
Release notes that write and review themselves.
AI drafts from your real PRs
Structured release notes from your commits and PRs on every tag push. Every draft is QA reviewed against the PRs it actually shipped: missing entries, overclaims, undocumented breaking changes, plus a suggested semver bump.
Rewrite in your voice
Concise, detailed, user facing, or technical, plus multi audience versions for devs, PMs, and end users.
Translate for every reader
Localize entries for international readers with one click. Translations are cached per release.
03 · Publish
One publish. Every channel your users live in.
Everywhere at once
One click publishes to every channel at once, or leave it on autopilot for every tag.
- GitHub Releases✓delivered
- Slack✓delivered
- Discord✓delivered
- Email subscribers✓delivered
- Public story page✓delivered
- RSS✓delivered
- Widgets✓delivered
- API✓delivered
Publish releaseon tag push · autopilot- GitHub Releases✓delivered
- Slack✓delivered
- Discord✓delivered
- Email subscribers✓delivered
- Public story page✓delivered
- RSS✓delivered
- Widgets✓delivered
- API✓delivered
Team digests
AI velocity reports on your cadence, daily, weekly, or monthly, delivered to Slack with per contributor breakdowns.
Import your history
One click backfill turns your past tags into structured releases, so your story page starts with history, not a blank page.
04 · Be known
What you ship becomes who you are.
Your public shipping profile
Every release you publish builds a public record of what you’ve shipped. This card is the real product output, generated from real releases.
live, updates on every release
View the profileREADME cards & badges
SVG profile cards and per repo release badges for any GitHub README. They update automatically on every ship.
Year in review + streaks
A shareable annual recap, plus week based ship streaks rendered right on your card.
05 · Agents
Agent callable, end to end.
A real MCP server
Agents in Claude Code, Claude Desktop, or Cursor query, draft, QA, and, with your approval, publish releases. OAuth on first connect. Nothing to copy and paste. Manage tokens and connections in Settings → Agents.
Agents get tools including yanib_draft_release, yanib_review_release, and yanib_publish_release, publish requires explicit human approval.
Read the MCP docsReadable by any agent
A public MCP endpoint plus llms.txt on every story page. No auth required to read.
Scoped & safe
OAuth 2.1 with PKCE, per scope consent, and human approval publish. Agents never ship without you.
Embeds
One embed, drop it anywhere
Add the script once, pick a component, paste the tag. Works anywhere you can drop HTML.
Preview
Stories
acme/web
Copy
Embed markup for Story feed
<script src="https://yanib.dev/sdk.js"></script> <yanib-stories repo="owner/repo" theme="light" limit="5"> </yanib-stories>
Use repo="owner/name" instead of slug when it fits your setup.
Components
Pick a component to update the preview and the copy and paste snippet.
Live playground: Embed demo
Built for
Two kinds of dev. One product.
Whether you ship in public or ship for customers, Yanib works the moment you connect a repo. Same tool, different surface.
Make what you ship into what you're known for.
Free public profile at /u/username with a shipping heatmap, AI tagline, and pinned releases. Embed on your site or paste into your portfolio.
- Public profile + shipping heatmap
- README cards & badges that update automatically
- A shareable year in review, every year you ship
Stop writing release notes. Start broadcasting them.
AI drafts every release; one click sends it everywhere your users already are. Surface detection flags changes on the code paths you declare, keeps the diff as evidence, and applies the notification routes you configure.
- Surface detection: evidence-backed candidates for human review
- Release stories across your repos, unlimited on Pro or BYOK
- Multi channel publish + team digests
- Owner / Admin / Member roles
See Yanib live.
Get a walkthrough tailored to how your team ships. We'll show you around and help you get set up. Free to start, no credit card.
- Release stories across your repos
- Public story page + shipping profile
- Slack, Discord, email & embeddable widgets
- Team commit digests, roles & analytics
Your releases deserve an audience.
Minutes to set up. No card required.
