ci(docs): open documentation PRs when public API changes - #202
Merged
Conversation
Installs the automation this repo has never had. The five docs PRs that swept this package against v1.2.0 found twelve commands that fail when run, six false statements, and an undocumented command group — all of it accumulated because nothing here opens a docs PR when public API changes. The workflow is pipecat's, with four adaptations rather than a rewrite, so the hardening it accumulated carries over intact: the 90-turn cap that fixed the ~40% silent-drop rate, the formatting-then-llms.txt ordering the docs repo's lint requires, outcome recording, and failure reporting back onto the source PR. The adaptations: - Scope is src/pipecatcloud/**, excluding tests. - Branches are docs/cloud-pr-N rather than docs/pr-N. pipecat already uses the unprefixed form, and two repos numbering from one would eventually collide on a shared branch name in the docs repo. - This repo is in daily-co while the docs repo is in pipecat-ai, so the App token is minted for owner pipecat-ai scoped to `docs` alone. Reading this repo's own PRs uses the default GITHUB_TOKEN. - Every gh invocation that targets the source repo points at daily-co/pipecat-cloud, including the failure label, the comment, and the re-run hint in it. Requires DOCS_BOT_APP_ID and DOCS_BOT_PRIVATE_KEY as repository secrets, which do not exist here yet. A header comment says so; until they are set the workflow fails at its first step rather than running and quietly doing nothing.
markbackman
force-pushed
the
mb/update-docs-workflow
branch
from
August 28, 2026 00:27
5a909d3 to
e8e8843
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Installs the docs automation this repo has never had. Builds on the profile merged in #201.
Why
Five docs PRs swept this package against
v1.2.0and found twelve commands that fail when run, six false statements, and an entire undocumented command group. That wasn't neglect — it accumulated because nothing here opens a docs PR when public API changes. The correlation across the org is exact: repos with this workflow stayed in sync, repos without it drifted.Not a rewrite
This is pipecat's workflow with four adaptations, so everything it has accumulated carries over intact:
pipecat-flowsis still at 30)llms.txtgeneration — the reverse order leaves both files stale and fails the docs repo's lintThe four adaptations:
src/pipecatcloud/**, excluding testsdocs/cloud-pr-N, notdocs/pr-Nowner: pipecat-ai, scoped todocsaloneghcall targetsdaily-co/pipecat-cloudTwo things that aren't obvious
Branch namespacing. pipecat already uses
docs/pr-N. Two repos each numbering from one will eventually both wantdocs/pr-412in the docs repo, and the second would push onto the first's branch. Prefixing here avoids it.pipecat-flowshas the same latent collision with pipecat today, though it's about to be archived so it will resolve itself.Cross-org token. This repo is in
daily-co; the docs repo is inpipecat-ai. The app-token step can only mint for one owner, so it's scoped topipecat-ai/docs— used for checking out docs and opening the PR there. Reading this repo's PRs uses the defaultGITHUB_TOKEN, which needs no extra grant.Prerequisite — this needs three secrets before it works
None of these exist in this repo today:
DOCS_BOT_APP_IDDOCS_BOT_PRIVATE_KEYANTHROPIC_API_KEYThe App needs no new installation. The token is minted for
owner: pipecat-aiscoped todocs, and the App is already installed there — only the credentials have to be present in this repo.(I could not check for org-level secrets, which need admin access to list. If any of these are set org-wide and inherited, fewer are needed here.)
Until they are, the workflow fails at its first step rather than running and silently doing nothing — which is the failure mode you want, since a red run is visible and a quiet no-op isn't. There's a header comment in the file saying so.
Honest caveat
The shared skill this follows has been verified statically — the profile's nine contract sections are present, all 78 cloud doc pages are reachable by a rule, the YAML parses with 12 steps — but it has not been run end to end since being refactored. The first real merged PR here will be its first live exercise.
That's a deliberate tradeoff: this repo ships every ~3 weeks, so feedback comes soon, and the blast radius of a failure is a missing docs PR (visible via the failure label) rather than a wrong one. If you'd rather see it green first, a
workflow_dispatchrun on pipecat against a known-good merged PR is the test.🤖 Generated with Claude Code