Extensions are a big part of Raycast and what makes it so great. Here we put into words rules and guidelines to make sure we continue with the quality we are providing so far. It is also relevant to mention that guidelines for our community are also valid here, both when interacting with developers and Raycast engineers.
Definition
A Raycast Extension is a piece of code written by Raycast or third-party developers to increase Raycast's functionality. They usually connect Raycast to a web service, but it is not limited to it.
Creation and Review Process
- Create your new extension by either forking an existing one or starting from scratch;
- Open your Pull Request (PR) in our extensions repository;
- We will review the extensions in a first-in, first-out manner. The first contact will be made within a week, given all Community Managers are available;
- It is expected that the Author answers the reviewer's comment. The lack of response will make the PR stale and, eventually, closed.
- To keep our backlog clean and prioritize extensions under active development, PRs will be automatically marked as stale and closed as follows:
- PRs will be marked as stale when inactive for 14 days after the last comment;
- PRs will be closed when inactive for 21 days after the last comment;
- Both stale and closed PRs (due to inactivity) can be re-opened whenever the Author is ready to get back to it.
Before Acceptance
- Make sure your extension is bringing value to Raycast's users;
- We want your extension to bring something that Raycast or other extensions don't provide yet.
- At the same time, we prefer to keep services grouped in one extension and would rather increment an existing extension than create a new one.
- Your extension does more than use any of Raycast's native functionalities like Quicklinks, Snippets, Clipboard History, Calculator, etc;
- Fun is a great value for Raycast! Just make sure that it is non-violent and respectful.
- Make sure that the extension works and that the users have all the information they need to set it up and use it.
- This information should be on the extension's README file;
- State codes, APIs, credentials, and any other relevant information that the user might need to connect your extension and the service;
- All this information collected from the user should not be used for other purposes other than connecting to the service and improving the extension's response.
After Acceptance