API Raycast : Comment Créer des Extensions Personnalisées (Guide Développeur 2026)

Publié le 28 février 2026 • 10 min de lecture

L'une des choses qui distingue Raycast des autres lanceurs macOS comme Spotlight ou Alfred est son écosystème d'extensions. Avec plus de 1 000 extensions créées par la communauté dans le Raycast Store, il existe un outil pour presque tout. Mais que faire si vous avez besoin de quelque chose de personnalisé ? L'API Raycast vous permet de créer vos propres extensions avec React et TypeScript — une stack que la plupart des développeurs connaissent déjà.

Dans ce guide, je vais vous expliquer tout ce que vous devez savoir pour créer, tester et publier une extension Raycast en 2026. Que vous souhaitiez créer un outil interne pour votre équipe, automatiser un flux de travail répétitif ou contribuer au Store open source, c'est votre point de départ. Et si vous explorez encore ce que Raycast peut faire, découvrez l'offre Raycast Pro actuelle pour débloquer des fonctionnalités IA qui se marient parfaitement avec les extensions personnalisées.

Ce Que Vous Pouvez Créer avec l'API Raycast

L'API Raycast vous donne accès à l'interface complète du lanceur et à la couche d'intégration système. Les extensions peuvent :

  • Afficher des listes et des grilles — listes d'éléments consultables et filtrables (dépôts, tâches, favoris, n'importe quoi)
  • Afficher des vues détaillées — contenu riche rendu en Markdown avec barres latérales de métadonnées
  • Afficher des formulaires — champs de saisie, menus déroulants, sélecteurs de date et de fichier pour la saisie de données
  • Exécuter des actions — ouvrir des URLs, copier du texte, exécuter des commandes shell, déclencher des appels API
  • S'intégrer à la barre de menus — indicateurs d'état persistants et menus d'accès rapide
  • Stocker des préférences et des données — stockage local pour les paramètres, le cache et les données utilisateur
  • Accéder aux API système — presse-papiers, notifications, fichiers Finder sélectionnés, application en premier plan

Parmi les extensions populaires créées avec l'API, on trouve l'extension GitHub, l'intégration Jira, la capture rapide dans Notion, les contrôles Spotify, et des centaines d'autres. Vous pouvez toutes les parcourir dans notre sélection des meilleures extensions Raycast.

La Stack Technique : React + TypeScript

Si vous avez créé des applications web en React, l'expérience de développement Raycast vous semblera immédiatement familière. Les extensions sont écrites en TypeScript (ou JavaScript, bien que TypeScript soit fortement recommandé) et utilisent des composants React fournis par le package @raycast/api.

La différence essentielle avec React web : vous ne rendez pas dans le DOM. Raycast fournit ses propres composants UI — List, Detail, Form, Grid, ActionPanel — qui s'affichent nativement dans la fenêtre Raycast. Cela signifie que vous bénéficiez d'un style cohérent, d'une navigation au clavier et de performances fluides sans écrire de CSS.

Voici une extension minimale qui affiche une liste :

import { List } from "@raycast/api";

export default function Command() {
  return (
    <List>
      <List.Item title="Bonjour le monde" subtitle="Ma première extension" />
      <List.Item title="Un autre élément" subtitle="Avec une icône" icon="star.png" />
    </List>
  );
}

C'est tout. Pas de configuration webpack, pas de CSS, pas d'outils de build à configurer. Raycast gère le rendu, la navigation au clavier et le filtrage de recherche automatiquement.

Démarrage : Votre Première Extension

Prérequis

  • Raycast installé sur votre Mac (la formule gratuite convient pour le développement)
  • Node.js version 16 ou ultérieure
  • Un éditeur de code (VS Code recommandé — Raycast a une extension VS Code officielle pour le développement)

Étape 1 : Créer l'Extension

Ouvrez Raycast et exécutez la commande "Create Extension". Cela lance un assistant interactif où vous choisissez :

  • Nom et description de l'extension
  • Modèle (List, Detail, Form ou vide)
  • Répertoire où le projet sera créé

Vous pouvez aussi utiliser le CLI :

npx create-raycast-extension mon-extension

Cela génère un projet complet avec la config TypeScript, package.json et une commande exemple.

Étape 2 : Comprendre la Structure du Projet

Un projet d'extension Raycast ressemble à ceci :

mon-extension/
  src/
    index.tsx          # Votre commande principale
    autre-commande.tsx  # Commandes supplémentaires
  assets/              # Icônes et images
  package.json         # Dépendances et métadonnées Raycast
  tsconfig.json        # Configuration TypeScript

Le package.json contient des métadonnées spécifiques à Raycast sous la clé raycast : nom de l'extension, description, commandes, préférences et permissions requises.

Étape 3 : Développer avec Rechargement à Chaud

Lancez le serveur de développement :

npm run dev

Cela démarre un observateur qui recompile à chaque modification de fichier. Dans Raycast, votre extension de développement apparaît automatiquement. Chaque fois que vous enregistrez un fichier, l'extension se recharge dans Raycast — vous obtenez un retour quasi-instantané, similaire au remplacement de module à chaud dans le développement web.

Étape 4 : Construire et Tester

L'environnement de développement est aussi votre environnement de test. Interagissez directement avec votre extension dans Raycast pendant que vous la construisez. Il n'y a pas de simulateur ou d'émulateur séparé — vous testez contre le vrai outil.

Pour le débogage, utilisez des instructions console.log() qui apparaissent dans la console développeur Raycast (accessible via la commande "Toggle Developer Tools"), ou utilisez le débogueur VS Code avec la configuration de débogage Raycast.

Composants Clés de l'API

List

Le composant le plus courant. Affiche une liste consultable d'éléments avec titres, sous-titres, icônes et accessoires. Supporte les sections, le filtrage et la pagination. La plupart des extensions Raycast sont basées sur List.

Detail

Affiche du contenu riche rendu depuis Markdown. Parfait pour afficher des fichiers README, des réponses API, de la documentation ou toute information détaillée. Supporte une barre latérale de métadonnées pour les données structurées.

Form

Formulaires de saisie avec champs texte, zones de texte, menus déroulants, cases à cocher, sélecteurs de date et de fichier. Utilisez-les quand votre extension doit collecter des informations de l'utilisateur — comme créer une issue, rédiger un message ou configurer des paramètres.

Grid

Une mise en page visuelle en grille pour le contenu riche en images. Utilisé par des extensions comme Unsplash, les sélecteurs d'icônes et les outils de palettes de couleurs. Chaque élément de la grille peut afficher une image avec un titre et un sous-titre.

ActionPanel

Le menu d'actions qui apparaît quand un utilisateur appuie sur Entrée ou Cmd+K sur un élément de liste. Les actions peuvent ouvrir des URLs, copier du texte dans le presse-papiers, pousser de nouvelles vues, exécuter des fonctions, et plus encore. C'est là que se produisent la plupart des interactions utilisateur.

Préférences et Stockage

L'API fournit un système de préférences pour les paramètres configurables par l'utilisateur (clés API, options par défaut) et une API de stockage local pour persister les données entre les sessions. Les préférences sont définies dans package.json et automatiquement affichées sous forme de formulaire de paramètres dans Raycast.

Le Raycast Store : Publier Votre Extension

Le Raycast Store est la façon dont les extensions atteignent les utilisateurs. La publication est gratuite mais nécessite un processus de révision. Voici comment cela fonctionne :

  1. Forker le dépôt d'extensions — toutes les extensions du Store se trouvent dans le dépôt GitHub raycast/extensions
  2. Ajouter votre extension — placez votre répertoire d'extension dans le dossier extensions/
  3. Ouvrir une pull request — soumettez votre extension pour révision
  4. Processus de révision — l'équipe Raycast examine la qualité, la sécurité et la conformité aux directives (généralement 3 à 7 jours ouvrables)
  5. Publication — une fois approuvée, votre extension apparaît dans le Store pour tous les utilisateurs Raycast

Directives de Révision

Raycast a des standards de qualité clairs pour les extensions du Store :

  • L'extension doit avoir un objectif clair et fonctionner de manière fiable
  • La qualité du code compte — TypeScript propre, gestion appropriée des erreurs, états de chargement
  • L'interface doit suivre les patterns de design Raycast (utiliser les composants intégrés, ne pas lutter contre le framework)
  • Pas de comportement malveillant, de collecte de données ou de permissions inutiles
  • Bonne description, captures d'écran et documentation dans le README

Le processus de révision est rigoureux mais équitable. Si des modifications sont demandées, les réviseurs fournissent des retours clairs. La plupart des extensions sont approuvées en une semaine.

Exemples d'Extensions Populaires Créées avec l'API

Pour vous donner une idée de ce qui est possible, voici quelques extensions remarquables du Store :

  • Brew — rechercher, installer et gérer des packages Homebrew depuis Raycast. Illustre l'utilisation de List avec recherche, actions et exécution de commandes shell.
  • Notion — capture rapide vers des bases de données Notion, recherche de pages et création de nouvelles pages. Montre l'utilisation de Form et l'intégration API.
  • Spotify Player — contrôles musicaux complets avec informations en cours de lecture dans la barre de menus. Illustre l'intégration dans la barre de menus et les mises à jour en temps réel.
  • Clipboard History — l'une des extensions intégrées de Raycast, montrant comment List avec sections, recherche et actions de presse-papiers fonctionnent ensemble.
  • Color Picker — sélecteur de couleur système avec conversion de format. Montre comment les extensions peuvent accéder aux fonctionnalités système macOS.

Toutes ces extensions sont open source dans le dépôt raycast/extensions, vous pouvez donc lire le code source pour référence et inspiration.

Conseils pour Créer de Bonnes Extensions

Commencez Simple

Votre première extension n'a pas besoin d'être complexe. Commencez par une seule commande qui résout bien un problème. Vous pouvez toujours ajouter plus de commandes et de fonctionnalités plus tard. Les meilleures extensions du Store font souvent une seule chose de manière exceptionnelle.

Gérez les Chargements et les Erreurs avec Élégance

Utilisez la prop isLoading sur les composants List et Detail pour afficher des indicateurs de chargement. Entourez les appels API de blocs try-catch et affichez des messages d'erreur significatifs avec showToast(). Les utilisateurs ne devraient jamais voir un écran vide ou une erreur cryptique.

Utilisez TypeScript en Mode Strict

Activez le mode strict dans votre tsconfig.json. L'API Raycast est entièrement typée, et TypeScript détectera la plupart des bugs avant même que vous n'exécutiez l'extension. L'autocomplétion dans VS Code est excellente lorsque les types sont correctement définis.

Exploitez le Caching

Si votre extension récupère des données d'une API, utilisez l'API Cache de Raycast pour stocker les réponses localement. Cela rend l'extension instantanée lors des lancements suivants pendant que les nouvelles données se chargent en arrière-plan.

Étudiez les Extensions Existantes

La meilleure façon d'apprendre des patterns est de lire le code source d'extensions établies. Le dépôt raycast/extensions compte plus de 1 000 extensions pour apprendre. Trouvez-en une similaire à ce que vous créez et étudiez son architecture.

Créer des Extensions avec les Fonctionnalités Raycast Pro

Si vous êtes abonné Raycast Pro, vos extensions peuvent exploiter des capacités supplémentaires. Raycast AI peut être utilisé avec des extensions personnalisées pour l'autocomplétion intelligente, la génération de contenu et le traitement du langage naturel au sein de vos outils. La synchronisation cloud garantit que vos préférences d'extension sont cohérentes sur tous vos Mac.

La création d'extensions est gratuite sur n'importe quelle formule, mais les utiliser avec des fonctionnalités Pro comme l'IA les fait passer au niveau supérieur. Si vous n'avez pas encore essayé Pro, obtenez 80 % de réduction avec un essai gratuit — c'est la meilleure offre disponible en ce moment.

Pour en savoir plus sur ce qu'est Raycast et comment il s'intègre dans l'écosystème de productivité macOS, consultez notre guide sur ce qu'est Raycast.

Questions Fréquentes

Dois-je connaître React pour créer des extensions Raycast ?

Des connaissances de base en React sont utiles puisque les extensions Raycast utilisent des composants React, mais vous n'avez pas besoin d'être expert. L'API fournit des composants UI préconstruits — List, Detail, Form, ActionPanel — qui gèrent la majeure partie de la mise en page et de l'interaction. Si vous connaissez JavaScript et comprenez la syntaxe JSX, vous pouvez créer des extensions fonctionnelles rapidement. La documentation officielle contient de nombreux exemples à copier-coller pour vous lancer.

Comment se déroule le processus de révision des extensions ?

Après avoir soumis votre extension via une pull request vers le dépôt GitHub raycast/extensions, l'équipe Raycast l'examine pour la qualité, la sécurité et le respect de leurs directives. Les révisions prennent généralement 3 à 7 jours ouvrables. L'équipe peut demander des modifications avant approbation — les retours sont constructifs et spécifiques. Une fois approuvée, votre extension est publiée sur le Raycast Store et disponible pour tous les utilisateurs.

Puis-je monétiser les extensions Raycast ?

Actuellement, Raycast n'offre pas de mécanisme de monétisation directe pour les extensions du Store. Toutes les extensions publiées sont gratuites à installer pour les utilisateurs. Vous pouvez toutefois créer des extensions qui s'intègrent à vos services payants ou produits SaaS, en utilisant les extensions comme canal de distribution. Certains développeurs créent également des extensions privées et personnalisées pour des clients dans le cadre de missions de conseil rémunérées.

L'API Raycast est-elle gratuite ?

Oui, entièrement. L'API Raycast, les outils de développement, la génération CLI et la publication sur le Store sont tous gratuits. Vous n'avez pas besoin de Raycast Pro pour développer ou publier des extensions — la formule gratuite inclut toutes les capacités de développement d'extensions. Les seuls coûts que vous pourriez rencontrer sont liés aux API tierces que votre extension intègre (comme OpenAI, des bases de données, etc.).

Obtenez 80 % de Réduction sur Raycast Pro

Essai gratuit de 14 jours. Aucun code promo requis. La réduction s'applique automatiquement.

Obtenir la réduction →

Articles Associés