| name | raycast-extension-updater |
| description | Update a Raycast extension to the latest version |
Raycast Extension Updater
Version history
- v1.0.0 (2025-12-13) - Initial release
This skill acts as your tool for updating Raycast extensions to modern versions.
References
- All files that are needed to update the extension are in the
assetsfolder. - The
assetsfolder contains the following files:eslint.config.jstsconfig.json
- See reference.md for more technical information.
Instructions
Files
- Inspect the
tsconfig.jsonfile in the project and compare it to thetsconfig.jsonfile in theassetsfolder. Update if necessary. Make sure it is properly formatted. - Check if the project contains a
.eslintrcfile. If so, delete this and replace it with theeslint.config.jsfile in theassetsfolder.
Package.json
- It might be best to first run
npm install - The following changes are needed in the
package.jsonfile:- Add
j3lteto thecontributorsarray in thepackage.jsonfile if it is not already present. - Update or add the following field:
platforms, this should be an array that containsmacOSandWindows, depending on whether the extension can be used on either or both platforms. If it appears to only use the internet, you can add both. BE AWARE:macOSandWindowsare case sensitive, use the exact spelling as provided here. - Update depencency:
@raycast/apito the latest version. - Update depencency:
@raycast/utilsto the latest version if it is a dependency. - Remove any of the following dependencies:
axios,cross-fetch,node-fetch,undici. - Update dev dependency:
@raycast/eslint-configto the latest version. - Update dev dependency:
@types/nodeto22.13.10if needed. - Update dev dependency:
@types/reactto19.0.10if needed. - Update dev dependency:
eslint,prettierandtypescriptto the latest version. - All the latest versions should be using the caret (
^) operator (and notlatest) - When looking for the latest version of a dependency, use the
npm view {dependency} versioncommand to find the latest version.
- Add
CHANGELOG.md
- We need to update the
CHANGELOG.mdfile with a new entry. Add the following at the top of the file (below the header):
## [Updates] - {PR_MERGE_DATE}
- xxx
- Please DO NOT write the
xxx, the user will write this afterwards himself.
Refactoring
- Unless the user states otherwise, you should not refactor code. If the user asks you to do light refactoring, please do the following:
- Using the path aliases mentioned in the
tsconfig.jsonfile, update the imports to use the aliases. - If you encounter utils, these should be in
src/utils/index.tsand should be imported using the@/utilsalias. - If you encounter types, these should be in
src/types/index.tsand should be imported using the@/typesalias. - If you encounter hooks, these should be in
src/hooks/*.tsand should be imported using the@/hooks/*alias. - If you encounter components, these should be in
src/components/*.tsand should be imported using the@/components/*alias. - Please sort the imports alphabetically and by the following order:
- Internal node modules (e.g.
node:fs) - Raycast modules (e.g.
@raycast/api) - External node modules (e.g.
markdown-it) - Internal types (e.g.
@/types) - Internal utils (e.g.
@/utils/) - Internal hooks (e.g.
@/hooks/*) - Internal components (e.g.
@/components/*) - Everything else
- Internal node modules (e.g.
- Using the path aliases mentioned in the