Extension Icon

Glean Search

Search your company's knowledge base via Glean
AvatarMohd Faiz Hasim
13 Installs
Overview

Glean Search

MIT Raycast TypeScript Vitest

Search your company's knowledge base via Glean directly from Raycast.

Quick links: Quick Start · Features · Commands · Architecture · Changelog


Quick Start

Note: The extension is pending Raycast Store approval. For now, install from source:

git clone https://github.com/faizhasim/glean-search.git
cd glean-search
npm install && npm run build

Then open Search Glean in Raycast (add via raycast://extensions/faizhasim/glean-search/search-glean or use Import Extension in Raycast).

Once approved, install from the Raycast Store.

  1. Sign in — the first time, you'll be asked for your work email to look up your Glean instance. A browser opens for OAuth authentication. After that, you're signed in automatically on future launches.

Note: Your work email is used once to discover your Glean instance. The server URL is cached in ~/.glean/config.json — no configuration needed on subsequent runs.


Features

FeatureDescription
Search across connected appsQuery indexed content from Glean's 100+ connectors (Google Workspace, Slack, Jira, GitHub, Confluence, and more)
OAuth authenticationBrowser-based OAuth flow. No tokens to configure.
Auto-downloads glean CLIThe glean CLI binary is downloaded from GitHub Releases on first launch with SHA-256 verification. No manual installation needed.
No configuration neededgleanHost and gleanCliPath preferences have been removed. Instance discovery happens via your email — the extension looks up the server URL automatically.
Open in browserPress Enter to open a result in your default browser.
Copy URLPress Cmd+C to copy a result URL to your clipboard.
Result previewsEach result shows title, datasource, and a snippet preview.

Commands

CommandDescription
Search GleanSearch your company's knowledge base. Type a query, browse results, open or copy URLs.

Architecture

flowchart LR
    subgraph Raycast["Raycast Extension"]
        A["Search Glean UI"]
        B["useGlean hook"]
        C["CLI manager\n(auto-download)"]
        D["Auth manager\n(OAuth)"]
        E["Search executor"]
    end

    subgraph GleanCLI["glean CLI (auto-downloaded)"]
        F["glean auth login"]
        G["glean search"]
        H["glean auth status"]
    end

    subgraph External["External"]
        I["GitHub Releases\nglean-cli"]
        J["Glean API"]
        K["Browser\n(OAuth)"]
    end

    A --> B
    B --> C
    B --> D
    B --> E
    C --> I
    D --> F --> K
    D --> H
    E --> G --> J
LayerStack
RuntimeRaycast — native macOS extension
LanguageTypeScript
UI@raycast/api — List, Form, Actions
CLIglean-cli — auto-downloaded, SHA-256 verified
AuthOAuth via glean auth login — email-based instance discovery, browser flow
TestingVitest — CLI, auth, and integration test suites

Project Structure

src/
├── search-glean.tsx       # Command entry point — UI, search, auth orchestration
├── lib/
│   ├── cli.ts             # glean CLI auto-download, cache, discovery
│   ├── cli.test.ts        # CLI module tests
│   ├── auth.ts            # OAuth sign-in, auth status checking
│   ├── auth.test.ts       # Auth module tests
│   ├── glean.ts           # useGlean hook — CLI+auth+search orchestration
│   └── types.ts           # Shared TypeScript types

CLI Management

The extension downloads the glean CLI binary automatically from GitHub Releases on first launch. The binary is cached and verified via SHA-256 checksums.

If you prefer to manage the CLI yourself:

brew install gleanwork/tap/glean-cli

The extension discovers a system-installed binary before falling back to auto-download.


Development

# Install dependencies
npm install

# Run tests
npm test

# Run with live reload
npm run dev

# Lint
npm run lint

License

MIT

Not affiliated with Glean. Glean is a trademark of Glean Technologies, Inc.