Skip to main content

raycast-extensions

Build Raycast extensions — commands, List/Form/Grid views, hooks like useFetch, AI integration, manifest. Use when the user says 'raycast extension', 'add a raycast command', or is working in a project with @raycast/api and a Raycast manifest.

Zur Installation springen

Quellinformationen

Repository
nweii/agent-stuff
Letzte Quellaktivität
8. Mai 2026 um 21:59
Erkannte Sprache von SKILL.md
Englisch
Sterne
10
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
13 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
raycast-extensions
description
Build Raycast extensions — commands, List/Form/Grid views, hooks like useFetch, AI integration, manifest. Use when the user says 'raycast extension', 'add a raycast command', or is working in a project with @raycast/api and a Raycast manifest.
metadata
{"author":"nweii","version":"1.1.0"}
# Raycast Extension Development Build Raycast extensions using React, TypeScript, and Node.js. ## Quick Start 1. **Create extension**: Run "Create Extension" command in Raycast 2. **Install & develop**: `npm install && npm run dev` 3. **Edit**: Modify `src/index.tsx`, changes hot-reload automatically 4. **Test**: Extension appears at top of Raycast root search ## Choosing a UI Primitive | Need | Component | |------|-----------| | Searchable list of items | `List` | | Image gallery/grid | `Grid` | | User input collection | `Form` | | Rich content display | `Detail` | | Status bar presence | `MenuBarExtra` | ### Decision Tree 1. **Displaying items the user searches/filters?** - Text-focused → `List` - Image-focused → `Grid` 2. **Collecting user input?** → `Form` 3. **Showing detailed content?** → `Detail` (supports markdown + metadata) 4. **Always-visible status bar?** → `MenuBarExtra` ## Core Patterns ### List with ActionPanel ```tsx import { ActionPanel, Action, List } from "@raycast/api"; export default function Command() { return ( <List> <List.Item title="Item" actions={ <ActionPanel> <Action.CopyToClipboard content="Copied!" /> <Action.OpenInBrowser url="https://raycast.com" /> </ActionPanel> } /> </List> ); } ``` ### Data Fetching ```tsx import { List } from "@raycast/api"; import { useFetch } from "@raycast/utils"; export default function Command() { const { data, isLoading } = useFetch<Item[]>("https://api.example.com/items"); return ( <List isLoading={isLoading}> {data?.map((item) => <List.Item key={item.id} title={item.name} />)} </List> ); } ``` ### AI Integration ```tsx import { AI, Clipboard } from "@raycast/api"; export default async function Command() { const answer = await AI.ask("Summarize this text"); await Clipboard.copy(answer); } ``` > [!NOTE] > AI requires Raycast Pro. Check access with `environment.canAccess(AI)`. ## References For detailed documentation, see: - **UI Components**: [references/ui-components.md](references/ui-components.md) - List, Detail, Form, Grid, ActionPanel, MenuBarExtra - **Hooks & Utilities**: [references/hooks-utilities.md](references/hooks-utilities.md) - useFetch, LocalStorage, Clipboard, OAuth, runAppleScript - **AI API**: [references/ai-api.md](references/ai-api.md) - AI.ask, useAI, model selection, streaming - **Package Structure**: [references/package-structure.md](references/package-structure.md) - manifest, commands, preferences ## Examples Runnable examples in `examples/`: | File | Pattern | |------|---------| | `list-with-actions.tsx` | List + ActionPanel basics | | `list-with-detail.tsx` | List with detail panel | | `form-with-validation.tsx` | Form + useForm validation | | `detail-with-metadata.tsx` | Detail markdown + metadata | | `grid-with-images.tsx` | Grid layout | | `data-fetching.tsx` | useFetch patterns | | `ai-integration.tsx` | AI.ask with streaming | | `menubar-extra.tsx` | MenuBarExtra interactions |
Auf GitHub ansehen