Extension Icon

Icy Veins Quicklinks

Instantly navigate to Icy Veins World of Warcraft class and spec guides.
Overview

Icy Veins Quicklinks

A Raycast extension for instantly navigating to Icy Veins World of Warcraft class and spec guides.

Usage

Invoke the command by typing iv in Raycast. Pressing Enter with an empty query opens a staged grid: classes first, then specs, then pve / pvp, then the relevant sub-pages. You can still type a direct query like sp pve gear at any point, and the grid will jump to matching guides.

Home grid

The empty-query grid shows up to three sections in order:

SectionDescription
RecentThe last guide page you opened (1 slot)
FavoritesYour starred specs — up to 5 (see Favorites)
ClassesAll playable classes

Favorites

On any spec card, press ⌘K to open the Action Panel and choose "Add to Favorites" (or ⌘F directly). The spec immediately appears in the Favorites section on the home grid. Select the action again to remove it. Up to 5 favorites are stored.

Stat Priority Copier

On any spec card, open the Action Panel (⌘K) and choose "Copy Stat Priority". The extension fetches the spec's PvE guide, parses the stat priority list, and copies the order to your clipboard (e.g. Mastery > Critical Strike > Haste > Versatility) — no browser required. Results are cached for 30 minutes.

Custom Macros

Define up to 5 personal text macros in the extension preferences (open via "Manage Custom Macros" in any Action Panel). Each macro has a name and body. On any spec page item, open the Action Panel to see your macros listed — selecting one copies it to the clipboard.

To open extension preferences at any time, use "Manage Custom Macros" from any Action Panel (⚙ gear icon).

Query format

[spec] [mode] [page]

All parts are optional and can be typed in any order after the spec. The query is case-insensitive.

PartExamples
specsp, shadow priest, bdk, ww, ret
modepve, pvp (defaults to PvE when omitted)
pagegear, talents, rotation, guide

Examples

You typeOpens
sp pve gearShadow Priest › PvE › Gear & Best in Slot
bdkAll Blood Death Knight guides (PvE + PvP)
ret pve talentsRetribution Paladin › PvE › Spec Builds & Talents
aug pvpAugmentation Evoker › all PvP guides
ww pvp compsWindwalker Monk › PvP › Best Arena Compositions
sp pve levShadow Priest › Leveling Guide
disc resourcesDiscipline Priest › Resources

Faster invocation

For the quickest flow, type iv then press Space. Raycast enters inline argument mode — type your full query (e.g. sp pve gear), then press Enter to open the view with results already filtered.


Supported specs

Death Knight

SpecShort aliases
Bloodbdk, blood dk
Frostfdk, frost dk
Unholyuhdk, uh dk, unholy dk

Demon Hunter

SpecShort aliases
Devourerdevourer, devourer dh, devourer demon hunter
Havochavoc, havoc dh
Vengeancevdh, vengeance dh

Druid

SpecShort aliases
Balancebala, boomkin, boomy, balance
Feralferal, cat druid
Guardianguardian, bear druid
Restorationrdru, resto druid

Evoker

SpecShort aliases
Augmentationaug, aug evoker
Devastationdev, dev evoker
Preservationpres, pres evoker

Hunter

SpecShort aliases
Beast Masterybm, bm hunter
Marksmanshipmm, mm hunter
Survivalsurv, survival

Mage

SpecShort aliases
Arcanearcane, arcane mage
Firefire, fire mage
Frostfmage, frost mag

Monk

SpecShort aliases
Brewmasterbrew, brew monk
Mistweavermw, mw monk
Windwalkerww, ww monk

Paladin

SpecShort aliases
Holyhpal, holy pala
Protectionprot pala, prot paladin
Retributionret, ret pala, ret paladin

Priest

SpecShort aliases
Disciplinedisc, disc priest
Holyhpriest, holy priest
Shadowsp, shadow priest

Rogue

SpecShort aliases
Assassinationsin, sin rogue
Outlawoutlaw, outlaw rogue
Subtletysub, sub rogue

Shaman

SpecShort aliases
Elementalele, ele shaman
Enhancementenh, enh shaman
Restorationrsham, resto shaman

Warlock

SpecShort aliases
Afflictionaffli, affli warlock
Demonologydemo, demo warlock
Destructiondestro, destro warlock

Warrior

SpecShort aliases
Armsarms, arms warrior
Furyfury, fury warrior
Protectionprot war, prot warrior

Available pages

PvE

PageAliases
Guide (intro)guide, intro (or omit)
Leveling Guideleveling
Easy Modeeasy
Spec Builds & Talentstalents, build
Rotation, Cooldowns & Abilitiesrotation, cooldowns, abilities
Stat Prioritystats, priority
Gems, Enchants & Consumablesgems, enchants, consumables
Gear & Best in Slotgear, bis
Mythic+ Tipsmythic, m+, tips
Spell Summaryspells, glossary

PvP

PageAliases
PvP Guide (intro)guide, intro (or omit)
Talents & Buildstalents, build
Gear & Trinketsgear, bis
Rotation & Playstylerotation, cooldowns, abilities
Battleground Blitzbg, battleground, blitz
Best Arena Compositionscomps, comp, compositions
Useful Macrosmacros
Best Races & Racialsraces

Any mode

PageAliases
Resourcesresources

Development

npm install           # install dependencies
npm test              # run test suite (vitest)
npm run build         # build the extension
npm run lint          # lint + format check
npm run fix-lint      # auto-fix formatting
npm run dev           # start dev server (ray develop)
npm run generate-icons  # composite role badges onto spec icons (see below)

Role icon generation

Spec icons displayed in the grid are pre-composited at build time — each base spec icon has a small role badge (DPS / Tank / Healer) composited into the bottom-right corner. The output is written to assets/icons/with-role/ and committed to the repository.

Re-run this script whenever:

  • A new spec is added to src/data/specs.ts
  • The role badge images (assets/icons/dps.png, tank.png, healer.png) are replaced
  • A spec's pveRole changes
npm run generate-icons

The script reads spec slugs and roles directly from src/data/specs.ts, then uses sharp to composite each badge at 25% icon size with 25px margin. Commit the updated assets/icons/with-role/ files after running.

Project structure

src/
  iv.tsx                    # Raycast command entry point
  types.ts                  # shared TypeScript interfaces
  data/
    classes.ts              # all WoW classes with slugs and aliases
    specs.ts                # all 40 specs with slugs, aliases, and roles
    pages.ts                # PvE / PvP / any page definitions
  utils/
    urlBuilder.ts           # URL construction
    gridNavigation.ts       # query → grid state resolver
    suggestions.ts          # live autocomplete engine
    specMatcher.ts          # shared spec/class matching helpers
    text.ts                 # shared string utilities
    specUsage.ts            # tracks spec selection frequency
    statPriority.ts         # fetches and parses stat priority from guides
    favorites.ts            # LocalStorage-backed favorites
    recents.ts              # LocalStorage-backed recent guide entries
    macros.ts               # parses and expands custom macros
  __tests__/
    data.test.ts
    gridNavigation.test.ts
    suggestions.test.ts
    favorites.test.ts
    recents.test.ts
    macros.test.ts
assets/
  extension-icon.png        # Icy Veins favicon (512×512)
  icons/                    # per-spec WoW icons (40 × .jpg)
    with-role/              # composited icons with role badge (bottom-right)
    dps.png / tank.png / healer.png
scripts/
  generate-role-icons.mjs   # composites role badges onto spec icons (run via npm run generate-icons)
Categories
Source code