Skip to content

fix: the docs build again, plus llms.txt, Thaw 2.1.0 and the roadmap from #1353 - #8

Merged
diazdesandi merged 15 commits into
mainfrom
fix/thaw-docs-collision
Oct 18, 2026
Merged

diazdesandi merged 15 commits into
mainfrom
fix/thaw-docs-collision

Conversation

@diazdesandi

@diazdesandi diazdesandi commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

The next deploy fails without this. Thaw's repo now holds six docs pages this site used to write itself (thaw-app/Thaw#1332), and the build stops with "Duplicated slugs: thaw/getting-started".

Docs

  • Six local pages are removed, and the synced ones get the site's titles, icons and descriptions from the sync config.
  • README links in synced pages go to the product's own page.
  • Twelve pages whose description was their first sentence get a real one. Shared pages can now be given descriptions too.
  • Floe's empty "Using Floe" heading holds the limitations page.

Site

  • Thaw 2.1.0 is out: the roadmap and the Screen Recording note on macOS 26 say so.
  • llms.txt says what Thaw and Floe are, lists each product's own pages before its docs, and keeps the rest under Optional. Pages point AI tools to it and to each docs page's Markdown, and the footer links it.
  • Raycast's mark is a vector, not a 32 px PNG.

Roadmap

  • The plan from [Feature Request] Feature Overload. Thaw#1353: a reworked Simple Mode and Modules come first, and what comes over from 2.1 and everything further out waits for Modules.
  • Moving several items at once is under Now, built for the next Thaw 3 build.
  • iCloud sync is iCloud backups. "Fewer switches" no longer mentions the Advanced pane that alpha.4 removed.

Checked

Lint, types, 34 unit tests, the production build, and Playwright (30 passed, 4 skipped), including a new test that every link in llms.txt answers.

Summary by CodeRabbit

  • New Features

    • Added an /llms.txt index for Thaw and Floe, linked from the site footer. Documentation pages now advertise Markdown versions alongside other alternate formats.
    • Added developer guidance on keeping menu bar items identifiable and positioned in Thaw.
  • Documentation

    • Updated the roadmap with current release status and planned features, including multi-item layout editing, optional downloadable modules, and iCloud backups.
    • Updated macOS 26 installation guidance to clarify Screen Recording features and added the Floe limitations page to navigation.
    • Removed Thaw guides covering setup, permissions, networking, shortcuts, versions, and reset or uninstall steps.

Thaw now keeps Getting started, Permissions, Versions, Network, Reset and
Uninstall, and Shortcuts in its docs folder (thaw-app/Thaw#1332). The
sync brought them in beside the site's own copies, and the build stopped
on the duplicated pages. The site's copies are gone; the sync gives
Thaw's the sidebar icons, titles and descriptions they had here.

A link in a synced page to the README now leads to the product's own
page, where the README is shown, not to a docs page of it.

Signed-off-by: René Jiménez <diazdesandi@proton.me>
The roadmap had it at its release candidate. It is off the Now stop, the
opening says 2.1 is out, and 2.2.0 is the next release of Thaw 2.

From 2.1.0 Thaw 2 draws an item as its app's icon when it may not
capture it, as Thaw 3 does, so the macOS 26 install box no longer says
the Thaw Bar and search need Screen Recording.

Signed-off-by: René Jiménez <diazdesandi@proton.me>
… are

llms.txt was there and nothing pointed at it. Every page now names it in
an alternate link and the footer links it. A docs page also names its
Markdown twin, and its responses vary by Accept, since one address
answers in HTML or Markdown.

Signed-off-by: René Jiménez <diazdesandi@proton.me>
…s pages

It was Fumadocs' list of the docs alone, under "# Docs". It now opens with what
each app is and which macOS it runs on, lists each product's own pages ahead of
its docs, and keeps community, Verified, Built with, privacy and llms-full.txt
under Optional, as llmstxt.org lays it out. A sidebar heading with no pages is
left out.

Floe's limitations page moves under Using Floe, which was an empty heading in
the sidebar too. Pages whose description was their first sentence are given
one in the sync config, and the shared pages can now be given one.

Signed-off-by: René Jiménez <diazdesandi@proton.me>
It was a 32 pixel PNG, jagged on a Retina screen. It is now Simple Icons' path,
drawn in the text's colour like the AI marks beside it.

Signed-off-by: René Jiménez <diazdesandi@proton.me>
…moving several items

Modules moves up from Further out to sit beside Minimal mode at the top of Up
next. Scripts no longer says it is the next thing for 3.0. Moving several items
at once in Layout is built for the next Thaw 3 build and sits under Now.
DockDoor joins the integrations.

Signed-off-by: René Jiménez <diazdesandi@proton.me>
…as modules

The opening says Thaw is getting smaller and links the discussion. Minimal mode
is the next Simple Mode, without Accessibility. Modules names what becomes
optional: scripts, triggers and automation. What comes over from 2.1 and
everything Further out waits for the move to modules. Fewer switches gives the
cleanup's history and no longer mentions the Advanced pane alpha.4 removed.
iCloud sync is iCloud backups, a few options and not a new pane.

Signed-off-by: René Jiménez <diazdesandi@proton.me>
Signed-off-by: René Jiménez <diazdesandi@proton.me>
…tislop pass

Minimal mode is called the reworked Simple Mode, as in #1353. Up next no longer
says it is all planned for the 3.0.0 betas, since most of it waits for Modules.
Scripts says what it makes, so "modules" means one thing. Vague phrases in the
Simple Mode, iCloud and Code of Conduct lines are made concrete, and alpha.9
was mostly fixes, not only fixes.

Signed-off-by: René Jiménez <diazdesandi@proton.me>
@diazdesandi
diazdesandi requested a review from a team as a code owner October 18, 2026 05:15
@vercel

vercel Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
website Ready Ready Preview Oct 18, 2026 5:59am UTC

Request Review

@coderabbitai

coderabbitai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 93eef41d-83e6-4579-82b5-25652dace50d
📥 Commits

Reviewing files that changed from the base of the PR and between 7e1697d and d68931b.

📒 Files selected for processing: 7
  • content/docs/thaw/app-developers.mdx
  • content/docs/thaw/meta.json
  • lib/community.json
  • lib/roadmap-requests.json
  • scripts/sync-docs.test.mjs
  • scripts/sync/config.mjs
  • scripts/sync/text.mjs
+--------------------------------------+
| All those GPUs aren't just for show. |
+--------------------------------------+
  \
   \     /)/)
        ( '')
        /  |
      o(___)

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 3012584b-eb3e-40f3-bc2d-cd7663cfaec2
📥 Commits

Reviewing files that changed from the base of the PR and between c722e97 and 7e1697d.

⛔ Files ignored due to path filters: 1
  • assets/raycast-glyph.png is excluded by !**/*.png
📒 Files selected for processing: 21
  • app/docs/[[...slug]]/page.tsx
  • app/llms.txt/route.ts
  • components/install-tabs.tsx
  • components/product-marks.tsx
  • components/site-footer.tsx
  • content/docs/floe/meta.json
  • content/docs/thaw/getting-started.mdx
  • content/docs/thaw/network.mdx
  • content/docs/thaw/permissions.mdx
  • content/docs/thaw/reset-and-uninstall.mdx
  • content/docs/thaw/shortcuts.mdx
  • content/docs/thaw/versions.mdx
  • content/site/roadmap.mdx
  • e2e/smoke.spec.ts
  • lib/llms.ts
  • lib/releases.ts
  • next.config.mjs
  • scripts/sync-docs.mjs
  • scripts/sync-docs.test.mjs
  • scripts/sync/config.mjs
  • scripts/sync/text.mjs
💤 Files with no reviewable changes: 6
  • content/docs/thaw/shortcuts.mdx
  • content/docs/thaw/permissions.mdx
  • content/docs/thaw/reset-and-uninstall.mdx
  • content/docs/thaw/network.mdx
  • content/docs/thaw/versions.mdx
  • content/docs/thaw/getting-started.mdx

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.

📝 Walkthrough

The changes add an llms.txt index and Markdown alternates, update documentation synchronization and site content, remove six Thaw guides, and revise installation details and the Raycast product mark.

Changes: AI-readable documentation

Layer / File(s) Summary
Synced documentation metadata and links
scripts/sync/config.mjs, scripts/sync-docs.mjs, scripts/sync/text.mjs, scripts/sync-docs.test.mjs, content/docs/floe/meta.json
Sync descriptions use configured values when available. README links resolve to product pages, and tests cover rewritten destinations.
Markdown page alternates and caching
lib/releases.ts, app/docs/[[...slug]]/page.tsx, next.config.mjs
Documentation pages include Markdown alternates. The site adds an llms.txt alternate and varies documentation responses by the Accept header.
llms.txt index and route
lib/llms.ts, app/llms.txt/route.ts, components/site-footer.tsx, e2e/smoke.spec.ts
The site builds and serves an llms.txt index for Thaw and Floe. Footer links and an end-to-end test cover the index and its linked pages.

Thaw documentation and roadmap

Layer / File(s) Summary
Thaw guide removals
content/docs/thaw/getting-started.mdx, content/docs/thaw/network.mdx, content/docs/thaw/permissions.mdx, content/docs/thaw/reset-and-uninstall.mdx, content/docs/thaw/shortcuts.mdx, content/docs/thaw/versions.mdx
Six Thaw documentation guides are deleted.
Roadmap release and plan updates
content/site/roadmap.mdx
The roadmap updates release status, planned features, and installation and cross-device plans.

Installation option details

Layer / File(s) Summary
Screen Recording detail
components/install-tabs.tsx
The shared Screen Recording detail now describes live previews and wallpaper tint, with app icons as the fallback.

Raycast product mark

Layer / File(s) Summary
Inline Raycast artwork
components/product-marks.tsx
Raycast’s mark uses an inline SVG path instead of an imported glyph image.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Bug fix

Sequence Diagram(s)

sequenceDiagram
  participant SmokeTest
  participant LlmsRoute
  participant llmsIndex
  participant PageTree
  SmokeTest->>LlmsRoute: Request /llms.txt
  LlmsRoute->>llmsIndex: Build index
  llmsIndex->>PageTree: Read documentation pages
  llmsIndex-->>LlmsRoute: Return index text
  LlmsRoute-->>SmokeTest: Return HTTP response
Loading

Suggested reviewers: nightah

Merge Risk: ⚪ Minimal · up to 7e169

No actionable issue was established in the documentation and site updates. The change is mergeable after normal checks.

Security architecture risk: 🔵 Low · up to 7e169

The changes affect public documentation rather than privileged application actions. The inspected request paths remain limited to published content, with no demonstrated new access-control bypass. Deployed cache behavior remains unverified.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • inferred — The demonstrated exposure is site-level discovery and delivery of documentation content. Advertising existing Markdown routes increases discoverability, but the inspected changes do not establish new tenant access, credential exposure, or privileged execution.

Trust Boundaries and Controls

  • observed — Request-controlled documentation slugs are resolved against the existing source collection; missing pages terminate with notFound(). The new Markdown alternate is derived from the resolved page URL rather than an arbitrary request-supplied destination.

Resilience and Maintainability Implications

  • observed — The existing negotiated Markdown rewrite sets Vary: Accept, and the PR adds that variation at the docs response-configuration level. This expresses the intended HTML/Markdown separation, but source inspection alone does not establish the final deployed headers or cache behavior; no incorrect cached representation was demonstrated.
Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 55.56% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 9 functions across 13 files. (2 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly summarizes the main changes: fixing the documentation build, adding llms.txt, and updating Thaw 2.1.0 and the roadmap.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 55.56% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 9 functions across 13 files. (2 skipped: 2 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

  • Fix all pre-merge checks with AI
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Asked for in thaw-app discussion #1242. It says how Thaw tells items apart on
macOS 27, how to give each item a fixed name and keep live values out of it, and
how to let one item hide on its own by showing it from a helper app with its
own bundle identifier, as Barometer#4 did. It closes with what else costs an
item its place, and how to check.

Written here first, as content/docs/thaw/app-developers.mdx. It is on the sync's
writtenHere list, so a copy added to Thaw's docs later cannot collide with it.

Signed-off-by: René Jiménez <diazdesandi@proton.me>
Thaw's changelog now heads its next build "## [3.0.0-alpha.10] - Unreleased".
Only a heading named Unreleased was left out, so the site listed alpha.10 as out
and counted 79 releases to GitHub's 78.

Signed-off-by: René Jiménez <diazdesandi@proton.me>
Signed-off-by: René Jiménez <diazdesandi@proton.me>
Dato, Amphetamine, the temperature apps and Outlook's countdown are the cases
Thaw had to work around, and why a fixed name is the only fix that lasts.
Unnamed items become Item-0, Item-1 by position and can trade places, as Little
Snitch and Rectangle did.

Signed-off-by: René Jiménez <diazdesandi@proton.me>
… the sources say

A five-step summary comes first. The long paragraphs are split with the fix
first, the last list is five items, and checking is three numbered steps.
CodexBar sent its icon to Hidden in Thaw and other managers, not every one, a
renamed item is a common reason for a wandering one, not the most common, and
Dato's name keeps changing rather than every minute.

Signed-off-by: René Jiménez <diazdesandi@proton.me>
…item

Its item came through Control Center as com.apple.controlcenter:Item-0, and
nine issues from macOS 26 into 27 followed: not listed, drifting back to
Hidden, Thaw's icon chasing the cursor, a doubled agent, and missing on macOS 27
until its GUI Scripting option was on.

Signed-off-by: René Jiménez <diazdesandi@proton.me>
@diazdesandi diazdesandi self-assigned this Oct 18, 2026
@diazdesandi
diazdesandi merged commit 82eaab8 into main Oct 18, 2026
3 checks passed
@diazdesandi
diazdesandi deleted the fix/thaw-docs-collision branch October 18, 2026 06:01

This branch was successfully deployed

1 active deployment
Preview — 523cf8f1 Deployed Oct 18, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant