Raycast Toolkit Improvements#1032
Conversation
The report was basically to check the health of the Script Commands, but it was never used.
TSC stands for Tools Support Core, and it was a library maintained by the Swift Team as a collection of functions to assist in the development of the Swift Package Manager. However, the Swift Team decided to drop support for it and embed all the functions previously available there into the internal SPM code.
# Conflicts: # commands/extensions.json
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Console has no stored instance state so the compiler can verify Sendable safety without the @unchecked bypass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This reverts commit 060df12.
Covers raw values, markdown descriptions, case-sensitivity of decoding, nil default behaviour, codable round-trip, and full ScriptCommand JSON decoding with and without the platform field. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Previously stderr was captured but never read, so git failures only reported the exit code. Now stderr is read in the termination handler and included in the error message for easier debugging. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Keep the original branding instead of "Awesome Script Commands", and remove the matching link from the main README. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Hey @unnamedd - I've been looking into that again as I found few more things. The generated I refactored a bit the URL handling, need to test things again next week to make sure there are no more regressions like that. |
9c7657b to
b78006c
Compare
The old code computed relative paths with dropFirst(extensionsPathString.count + 1),
but extensionsPathString came from URL.appendingPathComponent("./commands") which
preserved the literal "./" — making it 2 chars longer than the actual resolved file
paths from FileManager. Every script path was silently truncated (system/ → stem/,
apps/ → ps/, etc.) for all 851 scripts.
Replace both callsites with a new URL.relativePath(from:) helper that standardizes
both sides before computing the relative path, eliminating the mismatch entirely.
extensionsPathString is no longer needed and is removed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…output Groups were processed concurrently via withThrowingTaskGroup, so completion order was non-deterministic. scriptCommands were appended in filesystem order. Both are now sorted alphabetically at every recursion level so extensions.json is stable across runs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Nice @grzegorzkrukowski! There's only one thing that puzzled me, and it was basically about the reason for reverting from "Awesome Script Commands" to the original "Raycast Script Commands" and also removing the link from the main README. Currently, there's no indication of it anywhere, that's why I decided to promote it in the main README. After all, everything in this repository belongs to Raycast, and I see no reason not to promote it in the main README. Regarding the |
Description
Finally, after a few years without giving any kind of love to our beloved
Toolkit, here we are with a few improvements in the project.In this pull request, I am introducing improvements and new support.
@raycast.platform. This is due to the new support of Raycast for the Windows platform.Type of change
Checklist