Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
201 commits
Select commit Hold shift + click to select a range
683ecbf
Port redesign, add JS API layout variant, reconstruct Document Servic…
pwizla Jun 19, 2026
d676a9f
Update homepage stats to 300+ plugins and 72k+ GitHub stars
pwizla Jun 19, 2026
147408a
Reconstruct REST locale, sort-pagination, status pages with 2-column …
pwizla Jun 19, 2026
62d54e8
Reconstruct REST filters page: 2-column layout plus populate notes
pwizla Jun 19, 2026
7763024
Reconstruct REST rest, populate-select, understanding-populate with m…
pwizla Jun 19, 2026
542e198
Reconstruct Document Service fields and populate pages with JS layout
pwizla Jun 19, 2026
4cb04b4
Reconstruct quick-start page with StepDetails and NextSteps components
pwizla Jun 19, 2026
fdcc733
Remove new and updated sidebar badges for the v7 release
pwizla Jun 19, 2026
61e71d2
Restore Page summary label and icon on Tldr in elegant mode
pwizla Jun 19, 2026
010ed2a
Fix broken quick-start anchor in REST intro after StepDetails conversion
pwizla Jun 19, 2026
f846479
Fix StepDetails: github-slugger anchors plus manual click-to-toggle c…
pwizla Jun 19, 2026
10e1947
Restore quick-start step anchor link in REST intro
pwizla Jun 19, 2026
b6cac20
Redirect content auto-sync to the redesign release branch via TARGET_…
pwizla Jun 19, 2026
2e228ed
Port documentId char-count fix (#3275) onto redesign branch
pwizla Jun 22, 2026
5a45b8c
Fix documentId in discardDraft request example missed by #3275
pwizla Jun 22, 2026
4900005
Update agent authoring tooling for redesign components
pwizla Jun 22, 2026
451df7f
Remove redundant imports of globally-registered components
pwizla Jun 22, 2026
69e7fed
Remove unused ApiDocLayout component superseded by Endpoint
pwizla Jun 22, 2026
b4ae881
Fix duplicate anchor IDs on API pages by dropping Endpoint id
pwizla Jun 22, 2026
b15d95c
Add license sync delay info to the seats note
pwizla Jun 22, 2026
6924c40
Revert "Add license sync delay info to the seats note"
pwizla Jun 22, 2026
2e60b6a
Constrain code blocks to content width on API pages without Endpoint
pwizla Jun 22, 2026
349b285
Constrain direct images to content width on API pages
pwizla Jun 22, 2026
314426a
Attempt: center prose on non-Endpoint API pages via markdown centerin…
pwizla Jun 22, 2026
50d3697
Attempt: fixed-width centering for prose on non-Endpoint API pages
pwizla Jun 22, 2026
8952e02
Attempt: add display:block to center prose children (images/code now …
pwizla Jun 22, 2026
d2294a3
Center prose on non-Endpoint API pages by overriding heading display
pwizla Jun 22, 2026
41a6bc0
Fix footer tags wrapping by excluding footer rows from TOC placeholde…
pwizla Jun 22, 2026
be999c1
Increase StepDetails content left padding for breathing room from acc…
pwizla Jun 22, 2026
4cf3fc3
Turn StepDetails title and disclosure arrow green when step is completed
pwizla Jun 22, 2026
d92f566
Add intro tip explaining collapsible, completable steps in quick-start
pwizla Jun 22, 2026
d1615b2
Add floating step-progress widget for quick-start pages
pwizla Jun 22, 2026
5deaceb
Strip Step N prefix from titles in the progress widget
pwizla Jun 22, 2026
57784fc
Add balanced padding around StepDetails body content
pwizla Jun 22, 2026
42b4654
Inset framed StepDetails blocks via margin so their borders clear the…
pwizla Jun 22, 2026
0ff6189
Make StepDetails disclosure arrow visible in dark mode
pwizla Jun 22, 2026
4ceddf5
Flatten Endpoint component in Markdown view mode
pwizla Jun 22, 2026
adfd918
Flatten StepDetails, Tldr, IdentityCard and badges in Markdown view mode
pwizla Jun 22, 2026
3d4812e
Fix images and hide step controls in Markdown view mode
pwizla Jun 22, 2026
c295d86
Reposition step-progress widget into docs content area in AI mode
pwizla Jun 22, 2026
11e0c43
Fix Tldr hydration mismatch by replacing its inner p wrapper with a div
pwizla Jun 23, 2026
0745e0b
Fix horizontal overflow on legacy ApiCall pages by restoring their 2-…
pwizla Jun 23, 2026
70ab9d5
Change homepage plugins card CTA from Browse plugins to Learn more
pwizla Jun 23, 2026
4937c1a
Fix indentation and line break in homepage Fully Customizable code sn…
pwizla Jun 23, 2026
8775c53
Add missing pageCount field to API Explorer GraphQL pagination example
pwizla Jun 23, 2026
d400da0
Brighten Use MCP popover icons in dark mode for legibility
pwizla Jun 23, 2026
332f98e
Flatten collapsible details fully in Markdown view mode
pwizla Jun 24, 2026
d2f450b
Move older release notes (5.x and 6.x) to a dedicated archives page
pwizla Jun 24, 2026
f116c51
Flatten Annotation tooltips in Markdown view mode
pwizla Jun 24, 2026
1abef8b
Keep a gap below the navbar for the sticky table of contents on scroll
pwizla Jun 24, 2026
0f85c24
Document license sync delay when changing Growth plan seats (#3285) (…
pwizla Jun 24, 2026
4df0b04
Restore spacing between summary and content in collapsible details
pwizla Jun 24, 2026
1f006c7
Align table of contents top offset with the left navigation (24px)
pwizla Jun 24, 2026
91fad42
Align content-width toggle top offset with the sidebars on scroll (24px)
pwizla Jun 24, 2026
1c844f4
Align view-mode switcher top offset with the sidebars on scroll (24px)
pwizla Jun 24, 2026
e440d76
Rewrite the What's new page around the redesigned docs experience
pwizla Jun 24, 2026
2c8621f
Reduce sticky top offset of floating controls to 18px
pwizla Jun 24, 2026
5865362
Make doc card grids fill the available width instead of capping at 2 …
pwizla Jun 24, 2026
5d368d8
Describe both feedback modes on the What's new page
pwizla Jun 24, 2026
70234d8
Add a selection bar with Copy code action inside code blocks
pwizla Jun 24, 2026
13ad0dd
Keep details blocks open and non-interactive in Markdown view mode
pwizla Jun 24, 2026
aa69a3e
Mention code selection in the What's new feedback entry
pwizla Jun 24, 2026
c06bf6d
Remove tag underline in Markdown view mode except on hover
pwizla Jun 24, 2026
41cb741
Improve readability of the server getters reference page
pwizla Jun 24, 2026
512523d
Reveal all expandable content in Markdown view mode
pwizla Jun 24, 2026
20aa009
Simplify terminal-style code blocks in Markdown view mode
pwizla Jun 24, 2026
87ff12b
Fix collapsed details content staying hidden in Markdown view mode
pwizla Jun 24, 2026
183f42c
Fix typo in react-router-dom page title (users to uses)
pwizla Jun 24, 2026
65f7d9d
Make details disclosure chevron visible in dark mode
pwizla Jun 24, 2026
204edbd
Improve highlighted code line contrast in dark mode
pwizla Jun 24, 2026
ba8fdef
Refine code blocks in Markdown mode and content padding in AI mode
pwizla Jun 24, 2026
3dedeff
Add redirects so breadcrumb category segments resolve (group A)
pwizla Jun 24, 2026
13a3bb1
Remove outdated not-updated-to-v5 callout from pass-data guide
pwizla Jun 24, 2026
97e5f82
Fix invisible details chevron in dark mode (undefined accent token)
pwizla Jun 24, 2026
c08a2db
Resolve remaining breadcrumb category 404s (group B)
pwizla Jun 24, 2026
fdc13e7
Stop underlining tag pills on hover in Markdown mode
pwizla Jun 24, 2026
9944035
Fix AI mode content gutter so wide elements clear the panel divider
pwizla Jun 24, 2026
47c863c
Harden width toggle active state to prevent two buttons looking selected
pwizla Jun 24, 2026
92a2763
Keep regular font on TOC and feedback widget in Markdown mode
pwizla Jun 24, 2026
0f6555d
Align pagination hover color with content links in dark mode
pwizla Jun 24, 2026
d6bcae9
Add hint under AI panel title on how to leave AI mode
pwizla Jun 24, 2026
a0173a1
Keep AI mode pagination clear of the panel divider
pwizla Jun 24, 2026
481cde6
Refine AI panel exit hint (italic, fuller text, tighter spacing)
pwizla Jun 24, 2026
69c7755
Add more space above the page feedback widget
pwizla Jun 24, 2026
a5d1bc1
Preserve feedback widget top spacing in Markdown view mode
pwizla Jun 24, 2026
b8eb35e
Fix ballooned feedback widget in Markdown mode (over-broad selector)
pwizla Jun 24, 2026
c22629c
Align mode and width selectors with the sidebar labels
pwizla Jun 24, 2026
aaac047
Make Markdown tables span the full content width
pwizla Jun 24, 2026
80319df
Left-align StepDetails titles and move the completion pill before the…
pwizla Jun 24, 2026
9e7ae84
Make StepProgress popup tall enough to show all steps without scrolling
pwizla Jun 24, 2026
f1c840e
Reduce feedback widget top margin to 36px
pwizla Jun 24, 2026
a4abf9f
Drive width toggle active state from the shared DOM attribute
pwizla Jun 24, 2026
be3d647
Add spacing between stacked tab variants in Markdown mode
pwizla Jun 24, 2026
67aad90
Redesign generated-index category pages with custom doc cards
pwizla Jun 24, 2026
172e832
Keep mode switcher toolbar at a fixed height across view modes
pwizla Jun 24, 2026
846d931
Increase space above the AI panel title to 24px
pwizla Jun 24, 2026
24636da
Constrain generated-index pages to the regular content width
pwizla Jun 24, 2026
9b13194
Add space below the Page summary block in Markdown mode
pwizla Jun 24, 2026
0db0416
Make tables under list items span the full content width
pwizla Jun 24, 2026
53fd48b
Add inner padding to tab panels
pwizla Jun 24, 2026
ec99b9c
Use a neutral left border on details blocks instead of the accent bar
pwizla Jun 24, 2026
53faaa1
Keep pagination divider neutral on hover
pwizla Jun 24, 2026
dc7973e
Fill generated-index cards with each page's description
pwizla Jun 24, 2026
690458f
Keep feature badges unchanged in Markdown view mode
pwizla Jun 24, 2026
786e9ef
Make configurations/guides an auto-generated index page
pwizla Jun 24, 2026
3404391
Fix StepDetails summary layout and restore its frame
pwizla Jun 24, 2026
276d937
Add spacing between StepDetails and align the arrow with the title
pwizla Jun 24, 2026
dd73db0
Remove underline on badge labels in Markdown mode
pwizla Jun 24, 2026
ae302d8
Lower the StepDetails disclosure arrow to align with the title
pwizla Jun 24, 2026
5ab8822
Tighten the 'What's next?' spacing on the Quick Start Guide
pwizla Jun 24, 2026
3923e8a
Center the StepDetails disclosure arrow on the title line
pwizla Jun 24, 2026
bdf68a4
Nudge StepDetails arrow down 2px and tighten the title-to-checkbox gap
pwizla Jun 24, 2026
0e26ef3
Reduce the StepDetails arrow offset to 1px below the title center
pwizla Jun 24, 2026
884c31a
Offset step-progress scroll so the step title clears the navbar
pwizla Jun 24, 2026
ff896b9
Number the Quick Start steps continuously from 1 to 10
pwizla Jun 24, 2026
3d7b582
Document MCP capability builder helpers for plugin development (#3263…
pwizla Jun 25, 2026
ca8ef94
Remove underlines on NextSteps cards in Markdown mode
pwizla Jun 25, 2026
21297de
Extract code from API components into llms-code.txt
pwizla Jun 25, 2026
c4a7270
Convert ExternalLink components to Markdown links in llms-full.txt
pwizla Jun 25, 2026
f4bd0d8
Mark --help as not required in CLI command tables
pwizla Jun 25, 2026
6325a34
Convert CustomDocCard components to Markdown bullets in llms-full.txt
pwizla Jun 25, 2026
3e12b58
Emit all docs in llms-full.txt and render BreakingChangeIdCard facts
pwizla Jun 25, 2026
be2a1b1
Preserve title prop of titled components in llms-full.txt
pwizla Jun 25, 2026
064e6b2
Wrap the project-structure caption in a block element on the Configur…
pwizla Jun 25, 2026
254c0fc
Inline snippet-backed components into llms-full.txt
pwizla Jun 25, 2026
b3c0a47
Deduplicate JSX scanners by reusing the shared api-components module
pwizla Jun 25, 2026
9f20302
Generate per-page Markdown and serve it to agents
pwizla Jun 25, 2026
7550fa0
Disable zoom on Mermaid fallback images
pwizla Jun 25, 2026
fb5e956
Add View as Markdown affordances (global button + markdown-mode link)
pwizla Jun 25, 2026
fb0f8f8
Add rel=alternate link to each page's Markdown twin
pwizla Jun 25, 2026
d80fc08
Point llms.txt entries at the per-page Markdown (.md) URLs
pwizla Jun 25, 2026
8074290
Move 'View as Markdown' to a right-aligned toolbar button
pwizla Jun 25, 2026
0deadd5
Mention clean Markdown / agent access on the What's new page
pwizla Jun 25, 2026
a3d6079
Show the .md button only in markdown mode, styled like the toolbar
pwizla Jun 25, 2026
9889003
Strengthen toolbar hover contrast in dark mode and clarify What's new
pwizla Jun 25, 2026
a85cadf
Prevent the collapsed left sidebar from flashing open on navigation
pwizla Jun 25, 2026
70dcbe0
Make AI mode use full width regardless of the content-width setting
pwizla Jun 25, 2026
a55e29a
Fix Configuration heading layout on the Preview page
pwizla Jun 25, 2026
a4eb3b8
Add the content-width selector to generated-index pages
pwizla Jun 25, 2026
6a0b86f
Center generated-index content instead of pinning it left
pwizla Jun 25, 2026
6278a03
Align the first view-mode tab with the page H1
pwizla Jun 25, 2026
b4c10c1
Stop the cards-to-list flash on generated-index pages in markdown mode
pwizla Jun 25, 2026
ce221ab
Collapse card height in the markdown bullet list
pwizla Jun 25, 2026
2873638
Stop forcing headings to display:inline-block
pwizla Jun 25, 2026
1449a46
Title the Configurations guides generated-index 'Configuration guides'
pwizla Jun 25, 2026
b7f30ae
Keep inline code inline in headings so titles don't break apart
pwizla Jun 25, 2026
7957b6e
Reserve a right gutter on generated-index pages in max width
pwizla Jun 25, 2026
1ca6ba2
Fix the Advanced example #2 details summary on the CRON page
pwizla Jun 25, 2026
e24dbf1
Fix view-mode switcher showing the wrong active tab after navigation
pwizla Jun 25, 2026
5a416ab
Align ApiCall blocks with the content column at all widths
pwizla Jun 25, 2026
9f70ffc
Align tables with the content column on ApiCall pages
pwizla Jun 25, 2026
173e39c
Show the AI toolbar on pages with a front-matter-only title
pwizla Jun 25, 2026
8763b96
Replace emoji heading icons with Phosphor icons
pwizla Jun 25, 2026
1d2175d
Make AI mode content fill the left half at narrow content-width
pwizla Jun 25, 2026
3e06119
Stack the footer into one left-aligned column in AI mode
pwizla Jun 25, 2026
44dc270
Center expandable-content and card wrappers on API pages
pwizla Jun 25, 2026
1453f7d
Balance code-only endpoint pages to the content width
pwizla Jun 25, 2026
b6b636b
Add frontmatter with cmsSidebar to the GraphQL locale page
pwizla Jun 25, 2026
dccb717
Honor front-matter slug when generating per-page .md URLs
pwizla Jun 25, 2026
f2ab86e
Fix AI-mode footer width and center tables on code-only endpoint pages
pwizla Jun 25, 2026
872e3d2
Fix API-page content alignment in markdown mode and AI-mode footer logo
pwizla Jun 25, 2026
902cc65
Clarify Markdown actions per view mode on the AI for developers page
pwizla Jun 25, 2026
fa89415
Format the View as Markdown cell: line break, quotes, icon
pwizla Jun 25, 2026
e017b68
Explain AI mode in the AI chatbot section
pwizla Jun 25, 2026
f7d89d9
Tighten the AI-mode footer logo-to-links gap
pwizla Jun 25, 2026
75ba003
Raise self-healing workflow max-turns: triage Haiku 10 to 20, drafter…
pwizla Jun 26, 2026
14e4aa8
Fix encoding, find() tab label, and merge tips on the Controllers page
pwizla Jun 26, 2026
25601a8
Prevent the collapsed TOC from flashing open on navigation
pwizla Jun 26, 2026
1b7e5b8
Prefix Cloud page titles with 'Cloud' for context
pwizla Jun 26, 2026
b98088d
Reframe the cookbook callout around FoodAdvisor vs LaunchPad
pwizla Jun 26, 2026
505e8b0
Fix swapped light/dark project overview screenshot
pwizla Jun 26, 2026
a35094e
Remove the work-in-progress callout on Understanding populate
pwizla Jun 26, 2026
4d0fd7a
Add Show more toggle for long API responses on Understanding populate
pwizla Jun 26, 2026
0873f09
Migrate cookbook examples from Entity Service to Document Service API
pwizla Jun 26, 2026
d35e35d
Preserve view mode when navigating via navbar breadcrumbs (SPA nav)
pwizla Jun 26, 2026
99bc1cf
Fix content alignment on Endpoint API pages in Markdown view mode
pwizla Jun 26, 2026
f0502b9
Constrain flattened <details> to content width on API pages in Markdo…
pwizla Jun 26, 2026
f55664d
Collapse Endpoint 2-column layout to single column except at wide/max…
pwizla Jun 26, 2026
a026d43
Show full plugin names in pagination buttons for Documentation and Gr…
pwizla Jun 26, 2026
098f0f2
Add generated-index page for Strapi plugins and extend the index intro
pwizla Jun 26, 2026
5578ae7
Center non-endpoint prose at wide/max on 2-column API pages
pwizla Jun 26, 2026
1019b75
Align feedback widget, tags and pagination to content width on API pages
pwizla Jun 26, 2026
d36cbbd
Fix OpenAPI specification page pagination neighbors
pwizla Jun 26, 2026
7355f2a
Match endpoint width to prose width per content width on 2-column API…
pwizla Jun 26, 2026
65eba9c
Offset anchor scroll so target headings clear the sticky navbar + too…
pwizla Jun 26, 2026
c0d3565
Re-scroll to hash after layout settles on content-heavy API pages
pwizla Jun 26, 2026
9e79400
Fix mobile horizontal overflow and API Explorer layout
pwizla Jun 27, 2026
ab4f493
Polish mobile: mode bar spacing, AI panel hint, API Explorer JSON wrap
pwizla Jun 27, 2026
863db26
Make footer links larger and easily tappable on mobile
pwizla Jun 27, 2026
cb83c17
Fix footer on mobile: clickable first link, logo alignment, tighter s…
pwizla Jun 27, 2026
c5b37a3
Add AI-mode summaries (<Tldr>) to cms/api pages
pwizla Jun 27, 2026
7b821d5
Add AI-mode summaries (<Tldr>) to the remaining 134 doc pages
pwizla Jun 27, 2026
6014c61
Show full API response without inner scroll in 2-column layout
pwizla Jun 27, 2026
97ea937
Revert "Show full API response without inner scroll in 2-column layout"
pwizla Jun 27, 2026
e93f9fa
Show full API response without inner scroll in 2-column layout (v2)
pwizla Jun 27, 2026
eba088b
Clean up API reference: drop param hover, code-column tint, and AI in…
pwizla Jun 27, 2026
2e35cd0
Remove endpoint code inner scroll at narrow width and drop code-block…
pwizla Jun 27, 2026
59e90b4
Strip the white background off the inner <code> in API code/response …
pwizla Jun 27, 2026
29b780e
Fade ExpandableContent overlay to the page background, not hardcoded …
pwizla Jun 27, 2026
f09c5aa
Fix ExpandableContent reload flash and full-viewport width
pwizla Jun 27, 2026
7320d92
Separate flattened endpoint parameters in Markdown mode
pwizla Jun 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/docs-self-healing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ jobs:
anthropic_api_key: ${{ secrets.ANTHROPIC_SELF_HEALING_DOCS_API_KEY }}
github_token: ${{ secrets.PAT_TOKEN_PIWI }}
prompt: ${{ steps.load-triage-prompt.outputs.prompt }}
claude_args: '--model claude-haiku-4-5-20251001 --max-turns 10 --allowedTools "Bash,Read"'
claude_args: '--model claude-haiku-4-5-20251001 --max-turns 20 --allowedTools "Bash,Read"'
show_full_output: true
env:
FILTERED_PRS: ${{ steps.check-prs.outputs.pr_list }}
Expand Down Expand Up @@ -484,7 +484,7 @@ jobs:
anthropic_api_key: ${{ secrets.ANTHROPIC_SELF_HEALING_DOCS_API_KEY }}
github_token: ${{ secrets.PAT_TOKEN_PIWI }}
prompt: ${{ steps.load-drafter-prompt.outputs.prompt }}
claude_args: '--model claude-sonnet-4-6 --max-turns 25 --allowedTools "Bash,Read,Write,Edit,Glob,Grep"'
claude_args: '--model claude-sonnet-4-6 --max-turns 50 --allowedTools "Bash,Read,Write,Edit,Glob,Grep"'
show_full_output: true
env:
DOC_REPO: ${{ github.workspace }}
Expand Down
63 changes: 33 additions & 30 deletions .github/workflows/sync-content-to-next.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ on:
pull_request:
types: [labeled, closed]

env:
TARGET_BRANCH: repo/redesign-v7-cutover

jobs:
# Job for debugging purposes
debug-event:
Expand Down Expand Up @@ -91,17 +94,17 @@ jobs:
PR_TITLE="${{ github.event.pull_request.title }}"
SOURCE_BRANCH="${{ github.event.pull_request.head.ref }}"
SOURCE_REPO="${{ github.event.pull_request.head.repo.full_name }}"
TARGET_BRANCH="next-port-pr$PR_NUMBER"
HEAD_BRANCH="next-port-pr$PR_NUMBER"

echo "Source Branch: $SOURCE_BRANCH"
echo "Source Repo: $SOURCE_REPO"
echo "Target Branch: $TARGET_BRANCH"
# Fetch next branch
git fetch origin next
# Create new branch based on next
git checkout -b $TARGET_BRANCH origin/next
echo "Head Branch: $HEAD_BRANCH"

# Fetch sync target branch
git fetch origin "$TARGET_BRANCH"

# Create new branch based on the sync target branch
git checkout -b $HEAD_BRANCH "origin/$TARGET_BRANCH"

# Fetch source branch
if [ "$SOURCE_REPO" != "${{ github.repository }}" ]; then
Expand Down Expand Up @@ -162,15 +165,15 @@ jobs:
run: |
# Commit changes - force commit even if git thinks there are no changes
git add .
git commit --allow-empty -m "Port PR #${{ github.event.pull_request.number }}: ${{ github.event.pull_request.title }} to next branch"
git commit --allow-empty -m "Port PR #${{ github.event.pull_request.number }}: ${{ github.event.pull_request.title }} to the redesign branch"

# Push branch
git push origin next-port-pr${{ github.event.pull_request.number }}

# Create PR with a special tag in the body to identify it later
PR_CMD="gh pr create --base next --head next-port-pr${{ github.event.pull_request.number }} \
PR_CMD="gh pr create --base \"$TARGET_BRANCH\" --head next-port-pr${{ github.event.pull_request.number }} \
--title \"${{ steps.load-config.outputs.title_prefix }} ${{ github.event.pull_request.title }}\" \
--body \"Automatic port of PR #${{ github.event.pull_request.number }} to next branch.\n\nOriginal PR: #${{ github.event.pull_request.number }}\nCreated automatically after adding the 'temp - port to docs-next' label.\n\n<!-- SYNC_PR_MARKER -->\" \
--body \"Automatic port of PR #${{ github.event.pull_request.number }} to the redesign branch.\n\nOriginal PR: #${{ github.event.pull_request.number }}\nCreated automatically after adding the 'temp - port to docs-next' label.\n\n<!-- SYNC_PR_MARKER -->\" \
--assignee ${{ steps.load-config.outputs.assignee }}"

# Add labels if configured
Expand Down Expand Up @@ -238,7 +241,7 @@ jobs:
PR_NUMBER="${{ github.event.pull_request.number }}"

# Check if there's an existing PR
EXISTING_PR_NUMBER=$(gh pr list --base next --head "next-port-pr$PR_NUMBER" --state open --json number --jq '.[0].number')
EXISTING_PR_NUMBER=$(gh pr list --base "$TARGET_BRANCH" --head "next-port-pr$PR_NUMBER" --state open --json number --jq '.[0].number')

if [ -n "$EXISTING_PR_NUMBER" ]; then
echo "Existing PR found: #$EXISTING_PR_NUMBER"
Expand Down Expand Up @@ -287,15 +290,15 @@ jobs:
echo "branch_name=$BRANCH_NAME" >> $GITHUB_OUTPUT
fi

# Create branch from next
git fetch origin next
# Create branch from the sync target branch
git fetch origin "$TARGET_BRANCH"

if [ "${{ steps.check-existing.outputs.strategy }}" = "update" ]; then
echo "Checking out existing branch $BRANCH_NAME"
git checkout $BRANCH_NAME || git checkout -b $BRANCH_NAME origin/next
git checkout $BRANCH_NAME || git checkout -b $BRANCH_NAME "origin/$TARGET_BRANCH"
else
echo "Creating new branch $BRANCH_NAME"
git checkout -b $BRANCH_NAME origin/next
git checkout -b $BRANCH_NAME "origin/$TARGET_BRANCH"
fi

# Try to cherry-pick
Expand Down Expand Up @@ -329,16 +332,16 @@ jobs:
PR_TITLE="${{ github.event.pull_request.title }}"

# Create the new PR first
PR_CMD="gh pr create --base next --head $BRANCH_NAME \
PR_CMD="gh pr create --base \"$TARGET_BRANCH\" --head $BRANCH_NAME \
--title \"${{ steps.load-config.outputs.title_prefix }} $PR_TITLE\" \
--body \"Synchronization of merged PR #${{ github.event.pull_request.number }} to next branch. This PR contains the final state of the changes as they were merged to main.\" \
--body \"Synchronization of merged PR #${{ github.event.pull_request.number }} to the redesign branch. This PR contains the final state of the changes as they were merged to main.\" \
--assignee ${{ steps.load-config.outputs.assignee }}"

# Add labels if configured
if [ -n "${{ steps.load-config.outputs.labels }}" ]; then
PR_CMD="$PR_CMD --label ${{ steps.load-config.outputs.labels }}"
fi

NEW_PR=$(eval "$PR_CMD --json number --jq '.number'")

# Now close the existing PR with a reference to the new one
Expand All @@ -352,10 +355,10 @@ jobs:
BRANCH_NAME="${{ steps.create-branch.outputs.branch_name }}"
PR_TITLE="${{ github.event.pull_request.title }}"

# Create new PR
PR_CMD="gh pr create --base next --head $BRANCH_NAME \
# Create new PR
PR_CMD="gh pr create --base \"$TARGET_BRANCH\" --head $BRANCH_NAME \
--title \"${{ steps.load-config.outputs.title_prefix }} $PR_TITLE\" \
--body \"Synchronization of merged PR #${{ github.event.pull_request.number }} to next branch. This PR contains the final state of the changes as they were merged to main.\" \
--body \"Synchronization of merged PR #${{ github.event.pull_request.number }} to the redesign branch. This PR contains the final state of the changes as they were merged to main.\" \
--assignee ${{ steps.load-config.outputs.assignee }}"

# Add labels if configured
Expand Down Expand Up @@ -430,18 +433,18 @@ jobs:
exit 0
fi

# Create branch from next
# Create branch from the sync target branch
BRANCH_NAME="sync-push-$(date +%Y%m%d-%H%M%S)"
git fetch origin next
git checkout -b $BRANCH_NAME origin/next

git fetch origin "$TARGET_BRANCH"
git checkout -b $BRANCH_NAME "origin/$TARGET_BRANCH"

# Try to cherry-pick
if git cherry-pick $COMMIT_HASH; then
git push origin $BRANCH_NAME

# Create PR
PR_CMD="gh pr create --base next --head $BRANCH_NAME \
PR_CMD="gh pr create --base \"$TARGET_BRANCH\" --head $BRANCH_NAME \
--title \"${{ steps.load-config.outputs.title_prefix }} $COMMIT_MSG\" \
--body \"Automatic sync of commit from main\" \
--assignee ${{ steps.load-config.outputs.assignee }}"
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,7 @@ docs/superpowers/
# Inki plugin run logs, in case a user points --log-dir at a local .inki/ folder.
# By default logs go to ~/.inki/logs/ (outside any repo); this is a safety net.
.inki/

# Playwright MCP local artifacts (snapshots, screenshots, console logs) created
# during local visual QA. Never tracked.
.playwright-mcp/
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Path‑based policy (applies to folders and all subfolders):
### Key files
- AI toolbar: `docusaurus/src/components/AiToolbar/openLLM.js`, `.../config/aiToolsConfig.js`, `.../config/aiPromptTemplates.js`
- Generators/validators: `docusaurus/scripts/generate-llms-code.js`, `docusaurus/scripts/generate-llms.js`, `docusaurus/scripts/validate-prompts.js`
- Authoring templates: `claude-plugins/inki/references/templates/*.md` (see `claude-plugins/inki/references/templates/INDEX.md`)
- Authoring templates: `claude-plugins/inki/references/templates/*.md` (see `claude-plugins/inki/references/templates/README.md`)
- Agent prompts: `claude-plugins/inki/references/prompts/` (see table in Documentation Review System section)
- Components guidance: `claude-plugins/inki/references/templates/components/tabs.md` (Tabs/TabItem rules)
- Configuration: `docusaurus.config.js`, `sidebars.js`, `package.json`
Expand Down
23 changes: 18 additions & 5 deletions claude-plugins/inki/references/authoring/AGENTS.cms.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Frontmatter (mandatory)

Templates
- Start from `claude-plugins/inki/references/templates/api-template.md` to align sections and example layout.
- See `claude-plugins/inki/references/templates/INDEX.md` for a quick catalog of available templates with paths and purposes.
- See `claude-plugins/inki/references/templates/README.md` for a quick catalog of available templates with paths and purposes.

API Overview Pages (e.g., Content API)
1) H1 title — matches `title` frontmatter.
Expand Down Expand Up @@ -50,13 +50,26 @@ Heading Conventions

Component Patterns by Page Type

API pages use custom MDX components that vary by sub-section. When editing an existing page, always match the page's established patterns:
API pages use custom MDX components that vary by sub-section. When editing an existing page, always match the page's established patterns. `<Endpoint>` is the current component for all reference endpoints. See `claude-plugins/inki/references/templates/components/endpoint.md` for the full `<Endpoint>` contract and copy-pasteable examples.

- **Document Service API pages** use `<ApiCall>` with `<Request>` / `<Response>` for code examples. The `noSideBySide` prop is used for longer examples. Response code blocks use JS object literal notation (not JSON).
- **REST API pages** use `<ApiCall>` wrapping `<Request>`, a `<details>` block for the `qs.stringify` equivalent, and `<Response>`. Snippet imports (`QsForQueryBody`, `QsForQueryTitle`, `QsIntroFull`) are used inside the `<details>` blocks. Response code blocks use JSON.
`<Endpoint>`, `<StepDetails>`, and `<NextSteps>` are registered as global MDX components in `docusaurus/src/theme/MDXComponents.js` (like `<Tabs>`, `<Annotation>`, and `<ApiCall>`), so they are used directly with no import line.

- **Document Service API pages** use `<Endpoint kind="js">`. `path` is the JS method signature (e.g. `strapi.documents().findOne()`). `params={[{ name, type, required, description }]}`, where the `description` may contain inline HTML (`<code>`, `<a href>`). `codeTabs={[{ label: 'Request', code: \`...\` }]}` holds the example(s); multiple example tabs are idiomatic. `responses` render under a "Returns" label rather than an HTTP status. The final block on the page uses `isLast={true}`. Admonitions go INSIDE the block as children: use a closing `</Endpoint>` tag instead of self-closing `/>`, open with `>`, leave a blank line, write the `:::tip` / `:::note`, leave a blank line, then `</Endpoint>`.
- **REST API pages** use `<Endpoint>` with `kind="http"` (the default, so it can be omitted): `method`, `path` with `:params` (e.g. `/api/:pluralApiId/:documentId`), `codePath` + `codePathHighlights` for the URL bar shown in the code panel, and `codeTabs` (e.g. cURL + JavaScript). `responses` take `{ status, statusText, time?, body: JSON.stringify(..., null, 2) }`; multiple responses render as colored status tabs (e.g. 200 + 404). A DELETE endpoint with no response body uses `responses={[]}` together with `isLast`. The snippet imports `QsForQueryBody`, `QsForQueryTitle`, and `QsIntroFull` remain valid and are used alongside `<Endpoint>` on migrated REST pages (they are NOT legacy).
- **GraphQL API pages** use plain code blocks with `graphql` language identifier for query examples.

Do not mix patterns across page types (e.g., do not use `<details>` on a Document Service page, or plain code blocks where `<ApiCall>` is expected).
Do not mix patterns across page types: use `<Endpoint>` for all new, REST, and Document Service reference endpoints. The legacy `<ApiCall>`/`<Request>`/`<Response>` trio is an exception that applies ONLY to the not-yet-migrated pages listed below.

Legacy (not-yet-migrated) pages
- The legacy `<ApiCall>` / `<Request>` / `<Response>` trio (plus the `noSideBySide` prop and the `<details>` block wrapping the `qs.stringify` equivalent) is DEPRECATED for new content. Match it ONLY when patching these specific not-yet-migrated pages:
- `docs/cms/api/graphql.md`
- `docs/cms/api/graphql/**` (e.g. `graphql/locale.md`)
- `docs/cms/api/rest/upload.md`
- `docs/cms/api/rest/relations.md`
- `docs/cms/features/users-permissions/rest-api.md`
- `docs/cms/plugins/graphql.md`
- Never introduce the `<ApiCall>`/`<Request>`/`<Response>` trio on new, REST, or Document Service reference pages.
- NOTE: `QsForQueryBody` / `QsForQueryTitle` / `QsIntroFull` are NOT legacy: they are snippet imports still used alongside `<Endpoint>` on migrated REST pages.

Cross‑linking
- Link to neighboring APIs (Content API, Query Engine), relevant features, and migration notes.
Expand Down
2 changes: 1 addition & 1 deletion claude-plugins/inki/references/authoring/AGENTS.cms.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Frontmatter and structure

Templates
- CMS authoring templates live in `claude-plugins/inki/references/templates/` (guide, API, configuration, feature, migration, plugin). Start from a template to ensure structure and frontmatter are correct.
- For a quick overview of available templates (paths and purposes), see `claude-plugins/inki/references/templates/INDEX.md`.
- For a quick overview of available templates (paths and purposes), see `claude-plugins/inki/references/templates/README.md`.

MDX and code blocks
- Use MDX Tabs for language variants (JS/TS) under the same example.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@ Quality Checklist (before commit)

Templates
- When a snippet evolves into a full page, prefer starting from a suitable CMS template:
- For a compact overview of all templates with paths and purposes, see `claude-plugins/inki/references/templates/INDEX.md`.
- For a compact overview of all templates with paths and purposes, see `claude-plugins/inki/references/templates/README.md`.
12 changes: 7 additions & 5 deletions claude-plugins/inki/references/prompts/drafter.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,13 +203,15 @@ If `existing_content` is not already provided:
If `target.existing_section` is set, locate that section in the fetched content and focus on it. Keep the surrounding context available for reference.

After fetching, analyze the page's **component patterns** before deriving edits:
- What components wrap code examples? (`<ApiCall>`, `<Tabs>`, plain code blocks?)
- What snippet imports does the page use? (e.g., `<QsForQueryBody />`)
- How are Request/Response pairs structured? (side-by-side vs. stacked, with or without titles?)
- Does the page use `<details>` blocks? If so, are they standalone or nested inside `<ApiCall>`?
- What components wrap code examples? (`<Endpoint>` for API reference pages; `<Tabs>`; plain code blocks; the legacy `<ApiCall>`/`<Request>`/`<Response>` trio ONLY on not-yet-migrated GraphQL/upload/relations/users-permissions pages?)
- What snippet imports does the page use? (e.g., `<QsForQueryBody />`, `<QsForQueryTitle />`, `<QsIntroFull />`; these are still current and are used alongside `<Endpoint>` on migrated REST pages.)
- How are Request/Response pairs structured? On migrated pages they are expressed through `<Endpoint>`'s `codeTabs`/`responses` model; on legacy pages they may still appear as side-by-side or stacked `<Request>`/`<Response>` blocks (with or without titles).
- Does the page use `<details>` blocks? If so, are they standalone, expressed as a `<details>` slot inside `<Endpoint>`, or nested inside a legacy `<ApiCall>` (for example, the `qs.stringify` block)?

New content must replicate these patterns exactly. Do not introduce component patterns that the page does not already use, unless explicitly instructed otherwise by the user.

**Always use `<Endpoint>` for new API reference content and for any REST or Document Service page** (`kind="http"` for REST, `kind="js"` for Document Service). Never introduce the legacy `<ApiCall>`/`<Request>`/`<Response>` trio on new, REST, or Document Service reference pages.

### Step 3: Read reference materials

If `template` and/or `guide` paths are provided:
Expand Down Expand Up @@ -618,7 +620,7 @@ For Patch mode, metadata is embedded in the output header (File, Section, Edits

16. **Patch: never invent context.** When deriving instructions, only produce edits that are directly supported by the source material. If `target.notes` suggests a change but the source material does not contain the technical details to write it, produce the instruction with a `<!-- TODO -->` placeholder in the content rather than guessing.

17. **Match component patterns exactly.** In Patch mode, study the existing page's MDX component structure before writing. Pay attention to how the page wraps code examples (for instance, `<ApiCall>`, `<Tabs>`, `<details>`), which snippet imports it uses (`<QsForQueryBody />`, etc.), and how Request/Response pairs are structured. Replicate these patterns in new content. Generic Markdown (plain code blocks, standalone `<details>`) should not be used when the page already uses custom components for the same purpose.
17. **Match component patterns exactly.** In Patch mode, study the existing page's MDX component structure before writing. Pay attention to how the page wraps code examples (for instance, `<Endpoint>`, `<Tabs>`, `<details>`), which snippet imports it uses (`<QsForQueryBody />`, etc.), and how Request/Response pairs are structured. Replicate these patterns in new content. Generic Markdown (plain code blocks, standalone `<details>`) should not be used when the page already uses custom components for the same purpose. **Carve-out for deprecated API markup:** the legacy `<ApiCall>`/`<Request>`/`<Response>` trio (along with `noSideBySide` and the `<details>` `qs.stringify` block) is DEPRECATED. Do NOT replicate it when patching a migrated page or creating new content; use `<Endpoint>` instead. Replicate the trio ONLY when patching one of these specific not-yet-migrated pages: `docs/cms/api/graphql.md`, `docs/cms/api/graphql/**` (e.g. `graphql/locale.md`), `docs/cms/api/rest/upload.md`, `docs/cms/api/rest/relations.md`, `docs/cms/features/users-permissions/rest-api.md`, `docs/cms/plugins/graphql.md`. The `QsForQueryBody` / `QsForQueryTitle` / `QsIntroFull` snippet imports are NOT legacy and remain in use alongside `<Endpoint>` on migrated REST pages.

18. **Preserve structural coherence.** When adding a new section at a given heading level, check whether parallel content at the same level also has explicit headings. If the new section introduces an H2 but existing content of comparable scope sits directly under the H1 without its own H2, wrap the existing content in a matching H2 to maintain symmetry. Similarly, update the H1 title if the page's scope has expanded (e.g., from covering `status` to covering both `status` and `hasPublishedVersion`).

Expand Down
Loading