Efficiently manage your forked Raycast extensions using Git sparse-checkout. Explore the full extension catalog, selectively checkout specific extensions, and remove extensions from your forked collection with ease.
This extension leverages the Git sparse-checkout feature to efficiently manage your forked extensions. Our goal is to eliminate the need for cloning the entire repository, which can exceed 20 GB in size, by enabling sparse-checkout. With this extension, you can forgo Ray CLI's commands, allowing you to use Git commands directly and regular GitHub flow for managing your extensions.
Please note with this extension you no longer need to use Ray CLI's pull-contributions and publish commands. Just use Git commands or your favorite Git GUI tool to manage your forked extensions.
This extension is intended for those who want to partially clone raycast/extensions repository, it provides a convenient way to perform the tedious Git sparse-checkout command.
If you are unfamiliar with basic Git concepts, this extension may not be for you.
This extension requires the following GitHub API permission scopes:
public_repo
api.repositoryExists() - Checks if the user's forked repository existsapi.getForkedRepository() - Retrieves the full name of the user's forked repositoryapi.compareTwoCommits() - Compares two commits in the user's forked repositoryworkflow
api.syncFork() - Syncs the forked repository with the upstream repository on GitHubYou can always open your forked extension folder in the terminal to work with CLI commands directly. We also prepared a CHEATSHEET.md if you want to learn more about the Git commands used in this extension.
You can add a directory with the git sparse-checkout add command. Or use this extension's "Manage Sparse-Checkout" action to add or remove sparse-checkout directories via the UI.
.git folder still has a massive size"You might need some manual cleanup to reduce the size of your .git folder. Here are a few methods you can take:
But we recommend using a new clone of the repository to start fresh with a smaller .git folder.
MIT