editor

Slatewave for Cursor

The Slatewave VSCode extension, installed into Cursor with one command.

Latest release
0.0.9 · last month
Last commit
3 weeks ago
TS analytics.ts ×
TS shiki.ts ×
TS github.ts ×
TS format.ts 1 ×
M README.md
// src/lib/github.ts
import { mkdir, readFile, writeFile } from 'node:fs/promises';
import { join } from 'node:path';

const CACHE_DIR = join(process.cwd(), 'node_modules', '.cache', 'slatewave-github');
const TTL_MS = 30 * 60 * 1000;

export interface RepoMeta {
  stars: number;
  pushedAt: string;
  defaultBranch: string;
  openIssues: number;
  latestRelease: Release | null;
}

export interface Release {
  tag: string;
  name: string;
  publishedAt: string;
  url: string;
}

const memory = new Map<string, Promise<unknown>>();

function cacheKey(parts: string[]): string {
  return parts.join('__').replace(/[^a-zA-Z0-9_]/g, '_');
}

async function readCache<T>(key: string): Promise<T | null> {
  try {
    const raw = await readFile(join(CACHE_DIR, `${key}.json`), 'utf8');
    const parsed = JSON.parse(raw) as { data: T; at: number };
    if (Date.now() - parsed.at < TTL_MS) return parsed.data;
  } catch {
    /* no cache yet */
  }
  return null;
}
main* 2 0 +0 ~4 −63
Cursor Tab Ln 29, Col 23 Spaces: 2 UTF-8 TypeScript

About this theme

Cursor is a VSCode fork that consumes the same Microsoft Marketplace gallery, so the canonical kevinlangleyjr.slatewave extension installs into Cursor unchanged. Slatewave CLI ships a dedicated cursor slug that shells out to cursor --install-extension instead of code.

Cursor uses the same VSIX extension format and Microsoft Marketplace gallery as VSCode, so there’s no separate Cursor port — the Slatewave for VSCode extension installs into Cursor unchanged. Same syntax tokens, same workbench chrome, same diff colors.

The reason Cursor gets its own page (and its own slatewave install cursor) is purely operational: the CLI needs to shell out to the cursor binary instead of code, and slatewave uninstall cursor should only reverse the Cursor side if you happen to have both editors with Slatewave installed.

For the full preview, palette mapping notes, and the editor-themed screenshots, see Slatewave for VSCode.

Install

Don't have the CLI yet? Install the Slatewave CLI →

  • Slatewave CLI

    One command on macOS, Linux, or Windows. Wraps `cursor --install-extension` and tracks the install in slatewave's state so `slatewave uninstall cursor` reverses it cleanly later — independent of the parallel VSCode install if you have both editors.

    slatewave install cursor
  • Cursor CLI

    Install directly with the `cursor` command-line tool from inside any shell.

    cursor --install-extension kevinlangleyjr.slatewave
  • Marketplace

    Open ↗

    Install from inside Cursor — the Extensions sidebar reads from the same marketplace as VSCode, so search "Slatewave" and install.

  • OpenVSX

    Open ↗

    Browse Slatewave on the Open VSX gallery — useful if you've pointed Cursor at OpenVSX, or just prefer the open registry. Click **Download** on the extension page, then drag the .vsix into Cursor or use the CLI command below.

  • VSIX from OpenVSX (CLI)

    Install the downloaded .vsix from the shell using Cursor's command-line tool.

    cursor --install-extension ~/Downloads/slatewave-*.vsix