A free, open-source guide addon for World of Warcraft: Forever: step-by-step leveling routes for every race from 1 to 60, a waypoint arrow that walks real paths, and guides for class quests, professions, reputations, mounts and pets.
polestar.guide: every guide, community guides and the docs · Polestar Discord: questions, feedback and bug reports · Polestar is free; if it saves you a few hours, you can buy me a coffee.
Quick start · What it is · A look inside · polestar.guide · Community guides · Polestar Client · Features · Help · How the routes are made · Building from source · Contributing · Data and licensing
| Play Install the addon and follow the arrow. |
Browse the guides Every guide, step by step, on polestar.guide. |
Write guides Publish your own routes as a community guide. |
Work on Polestar Fix a guide, build the addon, run the tests. |
- Install it one of three ways:
- The CurseForge app: search for Polestar Guides and install it, then skip to step 3.
- The Polestar Client: a small app for Windows, macOS and Linux that finds the game, installs Polestar and keeps it up to date, community guides included. Skip to step 3.
- By hand: download
Polestar-<version>.zipfrom the newest release, under Assets (not "Source code").
- Unzip it into the game's AddOns folder, so the Polestar folders
(
Polestar,Polestar_Guides,Polestar_Codex,Polestar_Navand the others, with onePolestar_<language>folder per client language such asPolestar_deDE) sit directly inside it:World of Warcraft/_classic_beta_/Interface/AddOns/on the beta client,_forever_/Interface/AddOns/on the_forever_client. The same zip works for both; if you have both clients installed, unzip into each one. In the game's AddOns list they all sit under one "Polestar" heading, which its arrow folds away. - Restart the game completely (a
/reloaddoes not load new addons) and log in. The guide window opens with a guide for your race, level and zone: follow the arrow, and the goals tick themselves off as you play.
Good to know:
/polestar guidesopens the hub: every guide, Lookup, Dungeons, Talents and Rares./polestar optionsholds every setting; quest markers on the map are off until you turn them on under Map. Right-click the minimap button for a short menu./polestar skipmoves on for good;/polestar nextandprevonly look ahead or back.- Updating: the CurseForge app and the Polestar Client update Polestar for
you. By hand, delete the old Polestar folders, then unzip the new release
the same way. Coming from 0.2.x, also delete the
Polestar_Guides_deDE,Polestar_Names_deDEkind (one of each per language):Polestar_deDEand its siblings replace them, and Polestar reminds you at login while they are still there. - Memory: the arrow's walking routes (
Polestar_Nav) load after login, never in combat, and each continent's walking maps load when you get there. Walk real paths (Options, Arrow & routes) off never loads them. - Optional:
Polestar_Recorder(Polestar_Recorder-<version>.zipin the same release, or from the Polestar Client) records your play for the recording program that improves the routes. It stays off until you start sharing in the Polestar Client or type/psrec on. - Community guides are routes other players publish for Polestar, on polestar.guide: see Community guides.
- Something wrong? Click the bug in the guide window, beside Skip: say what
went wrong; the report already holds the step, where you stand, your other
addons and the versions. Copy report and post it in #bugs on the
Polestar Discord: a bot files it for the
developers and replies in your thread when it's fixed. Get the invite is
there if you're not in the Discord yet. Have a GitHub account?
Open on GitHub pre-fills a new issue with your report.
/polestar reportopens the window too, and issues are welcome as well. The release'sSHA256SUMSholds the zips' checksums.
Polestar is one addon for the whole of WoW: Forever. It carries 256 guides: 61 leveling guides that take both factions from 1 to 60 from every race's starting zone (Zephras Isle for the Skyborne included), 82 class guides for every class's quest chains and class mounts, the twelve professions from 1 to 300, 27 reputations, 7 exploration guides, the Legacy challenges, 64 collectible guides (mounts and pets) and 2 miscellaneous guides. Every one of them can be read step by step on polestar.guide.
Around the guides it adds a 3D waypoint arrow that walks real paths (on Polestar's walking maps, with a router that started from Shortest Path Forever's by Cillian Berragan) and a travel planner, quest markers on the map, talent plans for every class and spec, gear advice on tooltips, quest rewards and bags, a search for where any item, mount or pet comes from, a dungeon quest journal, rare alerts and the quality-of-life helpers a long leveling session needs. Its interface and its guides read in English, German, French, Spanish (Spain and Latin America), Brazilian Portuguese, Russian, Korean and Chinese (simplified and traditional).
The leveling routes are not hand-picked. Every race plays its own starting zone (to about level 12, the Skyborne to about 15), then all the Horde races share one route from the Barrens to 60 and all the Alliance races one from Westfall. Polestar Forge builds them from the game's data and Forever's quest data, elite and group quests included, writes the guides, and plays them the way a player follows them, refusing any step that can't be done as written. Every round of routes is read step by step, and a fix from a player's report becomes a permanent record the next build keeps (How the routes are made).
Players publish their own routes for Polestar as community guides on
polestar.guide, and the
Polestar Client installs them and keeps them
up to date (Community guides). Each new character's
first login opens a short welcome: a hello and what Polestar does; on the
account's first character, quest automation, the guide at login and the color
scheme, then the route style (Fastest, Balanced or Roads, with a line on what
each does); then the guide Polestar suggests for that character, the Discord
and community guides (/polestar welcome shows it again).
0.3.0 is the current release and our biggest yet, built around a complete overhaul of the leveling routes (CHANGELOG.md lists every change):
- Routes rebuilt from the ground up. Every race plays its own starting zone, then one shared route per faction carries it to 60, so a fix or an improvement reaches every race. Towns are done in one visit, work is picked up on the way, class training comes where you already are, the hearthstone is never asked for while it cools down, rare drops are optional, elite and group quests come with the group they want and a solo way past, and every order a player reported as wrong is followed (what changed).
- A guide that follows the game. A step moves on only when the game confirms it: a quest taken or handed in, an item looted, a spell learnt.
- The arrow walks the guide's own paths. The walk into each step is worked out when the guides are built (on Leffe's navigation maps and Polestar's own), so the arrow follows it at once instead of searching first; far waypoints draw their whole walk along the ground.
- Lifts and cities. "Ride the elevator up" or "down", with the departure time; walks get on and off where the car stops; one fixed way in and out of the Undercity; Stormwind and the other capitals are left by their streets and gates.
- Every guide shelf rebuilt or reviewed against Forever's data: class quests for every class, professions, reputation (ten new factions among them), mounts, pets and exploration.
- Your own way through a route. Pin any quest along the way, answer group quests once for the whole route, and have your class's quests offered in a tab beside your leveling guide when they open.
- A new look and new tools: new map and minimap icons, a Characters page, restock, bag tools and a redesigned welcome and options.
- The recording program. The Recorder is rebuilt to record what the guides need most in compact, anonymous chunks, and the Polestar Client sends them only with your consent, showing what each upload holds.
- Less memory. Your race's guides, the quest database and the names in other languages each take a fraction of what they did.
Note
Beta. Every guide compiles, lints and plays to the end in a simulator for every race and class it serves, and the route checker plays every leveling guide to 60 the way a player follows it. Tell us what you find on Forever: every report becomes a fix the next build keeps. Forever's new 30-60 content (Riverglades, Shen'dralas, Mount Hyjal) is not in any data yet; the routes take it in at launch.
Polestar's own windows, drawn from the addon's layout: the same pictures polestar.guide shows. The world map, minimap and zone art in them is © Blizzard Entertainment.
The hub. Guides, Lookup, Dungeons, Talents and Rares on one rail, Import and Options at its foot; here the Alliance leveling guides by level band.
Lookup, Dungeons and Rares read the Codex, a data pack that ships in the
release as Polestar_Codex (Lookup, Dungeons and
Rares). Renders of every window and state, drawn
without the game, are in docs/preview.
polestar.guide is Polestar's website: the guides, the community guides, the Polestar Client and the docs in one place.
- The guide library. Every guide Polestar ships, step by step as the guide window shows it, searchable by zone, class, mount or reward. Pick your race for your road from 1 to 60: Alliance or Horde, zone by zone.
- Class leveling pages. Each class's races, class quests, talent plans and gear advice while leveling.
- Community guides. Routes players write and publish, free to download (Community guides).
- The docs for players, guide authors and contributors, with every slash command, option and key binding, and every release's changes. AI assistants can read the site from its llms.txt.
Guides for Polestar written by other players and published as their own addons. Install one next to Polestar and its guides show up in the guide menu under Community guides, with the arrow, the map markers and everything else Polestar does. Each is made and supported by its author.
Most are published on polestar.guide, which keeps them safe to play and fair to their authors:
- Plain text, built by Polestar. An author publishes the guide files, never code: the site builds every version with Polestar's own compiler and checks every step against the game data, so no author's code runs in your game.
- Scanned and reviewed. Every version is scanned on VirusTotal before it is published, and its page links the report. A moderator reviews each author's first version, and any later one that changes owner or installs different addon folders.
- Pulled when it must be. A person reviews every copyright notice; a takedown removes the guide from the site and from every player's Polestar Client. A version found to be harmful or broken can be turned off in the Client for everyone who has it, with the reason shown.
- Find one on polestar.guide and install
it with the Polestar Client, which keeps it
up to date. Or download it from wherever its author publishes it and
install it like any addon, next to the
Polestarfolders. - Restart the game. Its guides appear in the guide menu
(
/polestar guides) under Community guides. - Options > Community guides (
/polestar packs) turns each one on or off without a reload, and picks where the guide for your level is suggested from.
A community addon never replaces Polestar's guides or another one's. Report problems in it to its author, not to Polestar, and install them only from authors you trust.
A short guide shared as a single line of text (a quest chain, an item, a
mount, an errand) can be pasted on the Import page without installing
anything: /polestar import opens it, or follow the foot of the hub's left
rail above Options. Polestar shows what the guide is before saving it, says
why when it turns one down, offers Update for a newer version and keeps
your progress, and lists your imported guides with Delete. Imported guides
appear in the guide menu under Community guides > Imported, credited to
their author, and are never suggested on their own.
Write leveling guides in plain text and publish them as your own addon,
with the tools Polestar uses for its own: the guide format, the compiler,
lint, playtest, and in the game the guide engine, the arrow and the map
markers. Hand over to any of Polestar's guides with next, so your addon
can cover one zone or the whole climb, under a license of your choice
(Data and licensing).
git clone https://github.com/fitzforge/polestar.git
cd polestar
npm link # puts `polestar` on your PATH
cd rust && cargo build --release -p forge && cd .. # or a prebuilt forge from the Releases page
rust/target/release/forge data build # the reference data every guide command reads
polestar doctor # checks the setup and prints the fix for anything missing
cd .. # your pack goes beside the clone, not inside it
polestar new my-pack # asks for the id, title, author and license
cd my-pack
polestar dev --play # lint and build on every save, with the browser playgroundTo publish, sign in on polestar.guide and start a new community guide: upload the folder, or publish from GitHub Actions by pushing a tag. You send the source, never a built addon: the site builds it, shows the build report, scans it and lists it. Writing a community guide on the site walks through every step.
| Start here | Then |
|---|---|
docs/GUIDE_PACKS.md: community guides on one page, for players and authors: install, the steps from new to publishing, the checklist before you publish |
docs/PACKS.md: the full handbook, with setup on each system, a first pack in 15 minutes, and every problem and its fix docs/GUIDE_CHEATSHEET.md: the guide format on one page (in full) docs/PACK_FORMAT.md: exactly what the tools write |
The Polestar Client is a small desktop app for Windows, macOS and Linux (beta, 0.1.0). It finds WoW: Forever on your computer and:
- installs and updates Polestar's addons: Polestar, the Recorder and LibForeverData, each download checked against the checksum its GitHub release publishes. Other addons are never touched.
- installs community guides from polestar.guide and keeps them current. Updates install by themselves only if you turn that on, and then only a day after release and while the guide's publisher and folders are unchanged; a guide the site pulls is turned off or removed, with the reason shown.
- joins the recording program if you want it to: with your consent it sends what the Recorder records, showing exactly what each upload holds first. Pause it, or delete everything it sent, any time (docs/RECORDING.md lists every field).
Download it from polestar.guide/client or the Client's GitHub release; its source is in apps/client.
- One person at a time. In a quest hub the window shows only who to talk to now and their quests, then "Then: next person" and "Person 2 of 8"; the arrow points at that person. Counters sit right after each goal ("Kill Zhevra Chargers 3/8") and a bar at the foot shows how far into the guide you are.
- Goals check themselves off as you play: accepted and turned-in quests, kills, loot, places reached, trainers visited, skills and reputation. Your place in a guide is recomputed from your quest log, so it survives lost saved variables.
- Skip a quest. Right-click a quest's line, Skip this quest: the guide drops it and the quests that follow from it, in every guide, and the banner's Undo brings them back. Skip, at the top, passes the whole step.
- It catches up. With "Skip grey quests" on, a guide you open on a character who already did part of the route goes over what is done to where you are: gray quests are left out, and so are green ones behind your progress, unless a later quest needs them. A guide you are past, given to you when no guide is open or by Start guide, hands over to the next. Item, mount, reputation, profession and class guides do every step.
- A guide for where you are. The window opens with a guide suggested for your race, class, level and location, and each guide hands over to the next one in its chain when you finish it.
- Tabs. Up to six guides open at once (a leveling route and a profession, say); quests are auto-accepted for all of them.
- Class quests come to you. When one of your class's quest guides opens (you reach its level, or its first quest becomes available), the guide window offers it in a tab next to your leveling guide (Options, Guide, Automation, "Offer class quests").
- Pin a quest along the way. Right-click any quest in the quest log, or use the guide window's menu, and its open objectives join the Along the way list beside whatever step you are on, with their map marks, the target button and the arrow, until they are done or you unpin it.
- Group quests are your call. At a quest a guide marks as a group quest, the guide window asks: Skip it keeps to the solo route, Do it with a group takes it on. "Group quests" (Options, Guide, Automation) can answer them all at once, so the route never stops to ask.
- Talent plans for every class and spec, from level 10 to 60, in the hub's Talents section: an ordered list of picks with short notes, marked on the game's talent frame. Nothing is spent for you.
- Reputation guides say, for each standing band, what every turn-in, kill or run pays, how many you need to the next standing, where the items come from, when kills stop counting and what the quartermaster sells.
- Professions send you to the nearest trainer, vendor or inn of your own faction from where you stand, never into a city of the other faction; a goal's cycle button picks another.
- Class training reminder every two levels (configurable): the nearest trainer of your class, unless your guide is about to take you there. At levels 40 and 60 a riding reminder shows the cost of riding and your balance, and points the arrow at your riding trainer once you can afford it.
- Elite quests with a solo way past. The leveling routes take elite and group quests where they pay, sized from the game's creature data, with the group each one wants; skip one and the guide has you grind to the route's level there instead, so you are never stranded. Quests that start from a rare drop are optional extras.
- Escort notes. On an escort quest the guide window says so under the quest's accept and under the goal to complete it: "Escort: if the NPC is not there, wait for it to respawn", so an empty spot means someone else is on the escort, not a wrong place.
- Bar at the bottom (Options, Guide, Window): puts the tabs and the step bar at the bottom edge when the window grows upward, so they stay in one place as steps get longer. Off by default.
- Hide in dungeons (Options, Guide, Window, In dungeons; off by default):
the guide window hides inside dungeons and raids and comes back when you
leave.
/polestar, the key binding or the minimap button still opens it while you are inside.
- A 3D waypoint arrow points at the current goal, shifting from the accent to jade as you arrive, with distance and ETA. Distances read in yards, the game's unit, or in meters (Options, Arrow & routes).
- The travel planner uses known flight paths, boats, zeppelins and your Hearthstone when they are faster. Each leg has its own caption on the arrow ("Fly to Crossroads", "Take the boat to Menethil Harbor", "Hearth to Razor Hill").
- Trail dots on the world map and the minimap crawl along the route between its waypoints (Map options can turn them off).
- Zone crossings. Walks between zones go through the real tunnels, passes, bridges and gates (Carbonite's zone connections), one waypoint at a time ("Go to Ashenvale"): from Sun Rock Retreat to Astranaar through the Talondeep Path, not over the ridge.
/polestar way <x> <y> [label]points the arrow anywhere on the current map.- Go anywhere. Shift-click the world map or the minimap and the arrow takes you there, routed like any goal; Alt-click works over map icons. Click the spot again to let it go.
- Nearby services.
/polestar near repair(trainer, a profession, class, weapon, reagents, vendor, innkeeper, bank, auction, flight, stable) points the arrow at the quickest one to reach; the map's tracking menu and the guide window's Nearby services button list them, the button with a page of the weapons a weapon master can teach you. Once you get there, the arrow is back on the guide. - OpenMap. On OpenMap's seamless world map the trail dots carry on across zone borders and show on the whole-world view too. OpenMap's menu has a "Polestar trail dots" switch.
- Other addons' waypoints (Options, Integrations, TomTom). Without TomTom, "Let other addons set
waypoints" (off by default) lets addons that set TomTom waypoints point
Polestar's arrow and makes
/waywork; addons that expect TomTom's own settings may not work with it on. With TomTom, the arrow can follow TomTom's. Addon authors:Polestar.Nav.API(docs/ARCHITECTURE.md, "Nav API"). - Flight map destination. On the flight map, the destination the guide flies you to is marked with a bobbing arrow and its name above it, and a slow ripple on the node itself. With Reduce motion on, the mark stands still.
- Lock arrow and buttons (Options, Guide, Window; off by default): a stray drag no longer moves the arrow, the quest item, target and Hearthstone buttons or the flight and instance timers. Shift-drag still moves them.
The arrow walks real paths: round cliffs, water and walls, through the town gate and down into the mine, not over the edge. That is the work of Shortest Path Forever by Cillian Berragan (cillian.dev), who baked walking maps of the continents from the game client and wrote a router that finds a route over them a couple of milliseconds at a time, so the game never stutters. It is beautiful work, and he generously said yes when we asked to use it. Polestar's travel planner still picks the flights, boats and Hearthstone; the router that started from his walks every leg between them. It keeps to roads where they are not much longer, round steep slopes, and out of the other faction's towns; when a walk must enter one (a quest inside Southshore for a Horde character), the arrow says "Hostile town: Southshore" once as the walk starts, and the walk's journey step reads the same when the route has more steps. Route style (Options, Guide, Arrow & routes) picks how it walks: Fastest takes the shortest way over hills and across fields, Balanced (the default) keeps to roads that aren't much longer and goes round hills, and Roads stays on roads even when they're longer. Every style keeps out of the other faction's towns.
The router ships with Polestar as the Polestar_Nav folder. Polestar's
walking router started from Shortest Path Forever v1.16.0 by Cillian
Berragan, with thanks; Polestar maintains it since 2026-10-16. It runs on
Polestar's own walking maps of Eastern Kingdoms, Kalimdor and Zephras Isle,
made from the game's geometry in a format grown from his by a port of his map
baker (GPL-3.0-or-later; what came from where is in
addon/Polestar_Nav/CREDITS.md).
Walk real paths (Options, Arrow & routes) turns it off. If you like it, try
his addon:
Shortest Path Forever on CurseForge
plans whole journeys with flights, boats, zeppelins, portals and live
departure times.
Shortest Path Forever: an option. With it installed, Polestar still
guides by default. Hand guiding to Shortest Path Forever (Options,
Integrations) hands it the route instead: each goal goes to Shortest Path
Forever, whose arrow, route and journey take you there, and Polestar's own
arrow, route lines, journey steps, travel button, transport alerts, map
clicks and /way step aside, so the two never guide at once (Polestar's
walking maps are not even loaded). The guide window and the map pins stay. A
kill or collect area is handed over as an area, so it holds you there until
the goal is done; if you clear or replace the journey, Polestar leaves it be
until the guide moves on. With the option off, a journey you start in
Shortest Path Forever itself still wins: Polestar steps aside the same way
while it runs, and guides again when it ends. If Shortest Path Forever
finds no way to a goal, or turns its journeys off, Polestar's own arrow
guides you there instead.
- Quest markers: givers, objectives and turn-ins on the world map and the minimap, with tooltip lines on the mobs and items a quest needs and quest levels in the log. Nameplate icons mark the mobs you still need, with a live kill or loot count beside the quest icon ("3/10", "3/10 · 1/8" for two quests), beside the health bar of EllesmereUI and other replacement nameplates too.
- Rare and treasure spawns, dungeon entrances, flight masters, docks and inns can mark the map too. Every map icon is off by default and turns on under Map in the options; the arrow's target, its route and the regions the guide step's mobs and objects spawn in (shaded on the world map and the minimap) always show.
- NPC services and mailboxes on zone and city maps (Map, Rares & travel, NPC services; off by default): class trainers and mailboxes, with repair, vendors, bankers, profession trainers, weapon masters and the rest one click away. A click sets the arrow there.
- A world map without fog of war, with coordinates and zone level ranges.
- The step's item glows in your bags (and in Baganator): the carcass, the seeds or the horn the step uses or has you collect.
- Hide the game's quest tracker (Options, Questing; off by default).
- Mark what they target (Options, Questing, Buttons; off by default): the target button and the step key put a raid icon on the mob or NPC they target — a skull and a star by default, configurable — leaving icons already placed alone. Either can be set to "A new one each press", so the last few targets keep theirs. Your party sees the icons.
- Upgrade indicator on item tooltips: by how much an item is an upgrade for your spec at your level, from stat weights per spec (detected from your talent points) and level band.
- On the game's reward panel every choice that is an upgrade gets a green arrow, the one to take is framed, and a coin marks the one that sells for most. Turn-in goals name the best reward.
- In your bags every item that is an upgrade gets the same green arrow, in the game's bags, in Baganator and in EllesmereUI Bags. With Pawn installed, "Leave bag arrows to Pawn" hides Polestar's.
- Your own stat weights: paste a Pawn scale string (Options, Questing,
Rewards & gear, or
/polestar gear import) and choose it under Stat weights as "Custom: ". It replaces the built-in weights at every level. One window lists your scales for every class: use, rename, export or delete them, change their weights, and start one from a built-in spec.
- Lookup searches guides, items, mounts, pets, NPCs, quests, zones, dungeons and rares, and answers "how do I get that?" with the sources ranked for your character. "Guide me" opens the curated guide or builds one on the spot. Target or mouse over a player to see their mount and how to get it; Alt-click an item link for a guide.
- Dungeons: a journal page per dungeon with every quest (where it starts and ends, its objective, chain and rewards), the bosses and the entrance. A chip beside each dungeon's name shows how far its quests take you (or its recommended level); hovering it shows the XP and the levels it spans. "Pick up the quests" builds a guide that collects every quest of the dungeon you can take, earlier quests first, on the shortest path from where you stand to the entrance; after the run, "Hand in the quests" guides you to where they are turned in and takes the follow-ups there.
- Rares: rares and treasures by zone with their spawns and signature drop, and an alert when one shows up on your minimap, nameplates or target. A Rare button appears under the Target button when Polestar spots a rare nearby and targets it by name (Options, Questing, Buttons, Rare button).
- Characters (
/polestar alts): every character on the account with its level, zone, guide, gold and an estimate of its rested XP.
Lookup, Dungeons and Rares read the Codex, a data pack that ships in the
release as Polestar_Codex. Without it Lookup still searches the guides, and
each section says what is missing.
- Color schemes: Dusk (the default), Night and Graphite, and EllesmereUI's own panel color and accent while it is installed. On top of any scheme: your own accent or your class color, background color, opacity and brightness. Text stays legible whatever you pick: a ground too light for its text is darkened until it reads.
- Windows: the border, its color and thickness, the starlit header band and the shadow, each on or off; the guide window's style (standard, compact or transparent), scale, width and opacity; the menu scale; the arrow's style, scale, opacity and colors; reduced motion. Everything applies live, without a reload; right-click any setting to reset it.
- Fonts: the game's own by default, or Inter, or EllesmereUI's.
- EllesmereUI (Options, Integrations): Polestar follows its accent and font by default through its public skinning API, and where its Quality of Life or Friends module does the same job as a Polestar toggle, the toggle starts off.
Quest item, target and Hearthstone buttons; a hearth step while your Hearthstone is on cooldown says how long until it is ready and points the arrow at the inn; XP per hour and time to level; the level the guide wants you to reach, marked on the game's XP bar; selling grays and repairing (optionally from the guild bank first); buying what a step of Polestar's own guides asks you to buy (a community guide's step names what to buy and leaves it to you); learning new spells at class trainers; taking the best quest reward and wearing rewards that are upgrades; instant quest text, single-option gossip and faster auto-loot; hiding combat error spam; flight map and death helpers, and releasing at once in battlegrounds; setting your home at the inn the guide names when you talk to its innkeeper (off by default). Requests from other players: accept summons, resurrections and friends' or guildmates' party invitations; decline other party invitations, guild invitations and duels (friends and guild excepted). Hold Shift to skip auto-accept, auto-turn-in, auto-sell, training, binding or the flight helper once, or to answer a request yourself.
Polestar plays with a gamepad on Forever (ported from Ding! by Yendi,
@moust4ki). Open its options from the minimap button (or /polestar gamepad without the game's gamepad interface): their Gamepad page names
the buttons (Xbox letters or PlayStation shapes, read off the gamepad by
default), and its Key bindings tab binds every Polestar action: next and
previous step, browse the guide, show or hide the guide window, the guide
menu, the options, report a problem, and the quest item, target and
Hearthstone buttons. Nothing is bound until you bind it. Press A on a row,
then a button, or hold one button and press another for a combination:
Polestar watches its combinations itself, keeps the second button from the
game only while you hold the first, and never acts on one in a fight. With
the game's gamepad interface on, LB and RB are its targeting buttons and
every combination with them is the game's own: the row says so before it
binds one. Tap B to cancel, hold B to bind B itself; Y unbinds. The rows take
keys of the keyboard too.
The guide window never takes a button away from the game. To browse it with the gamepad, bind Browse the guide with the gamepad: the D-pad picks a line (up from the goals: Skip, the bug, the menu and the tabs), A points the arrow there or uses the quest item on its line (not with the game's gamepad interface, whose own buttons Polestar leaves alone), X shows the line's details, LB / RB look at the previous and next step, Y minimizes the window, and B gives the gamepad back to the game.
Every Polestar window you open (the guide menu with Lookup and Dungeons, the options, the welcome, the route choice, the report and copy windows, the drop-down menus) answers the gamepad while it is open: the D-pad moves the focus (an accent ring), A selects, B closes or goes back, LB / RB change tabs or pages, left / right adjust a slider or a drop-down, Y puts a setting back to its default. A window that opens by itself (the welcome on a new character, the choice of where to level next) takes no button until you press the Browse the guide button, which its bar shows. A bar under the window lists the buttons no button on screen shows; B sits on the window's close button. The gamepad goes back to the game when the window closes or a fight starts, and returns after it. Turn the bar off, or the windows' navigation altogether, on the Gamepad page. Without a gamepad plugged in, none of it shows: everything works with the mouse and keyboard as before.
Polestar_Recorder is an optional companion addon that records your play
for the recording program, to improve the routes. It is off until you start
sharing in the Polestar Client or turn it on
(/psrec on, or Options > Recorder), and writes nothing while off. It writes
compact chunks with no character, realm or account names, and records what
the guides need most: kill pace and kill XP, drops counted against what your
quests still needed, which quests each NPC offered you, trainer and vendor
lists, flight times, item uses and gossip choices
(docs/RECORDING.md, field by field). Recordings replace
estimates with Forever facts, feed the Codex what only play shows, and
record report turns them into per-step timings: passes, median and p75
time, XP per hour, time in combat, deaths and travel, then the slowest
steps and detours, the steps to fix first.
/polestar (or /pole) shows or hides the guide window; settings live in
/polestar options, grouped by what you came to do: Guide, Appearance, Map,
Questing, Discovery, Quality of Life, Integrations (settings for other addons
Polestar works with, such as Questie, shown while they are installed), Guide
packs, Gamepad, Recorder and About, with a search that finds any setting.
With the game's gamepad interface on (Options, Gamepad, Enable Gamepad UI) there are no slash commands: the game blocks gamepad actions after any addon command typed in chat, until the game freezes. Polestar's minimap button (on by default then) and its key bindings open the guide and the settings instead, and Polestar keeps out of the game's own windows.
Every slash command
| Command | What it does |
|---|---|
help |
List every command |
show, hide |
Show or hide the guide window |
guides |
Open the hub on Guides |
options [page] |
Open the settings, optionally on a page |
next, prev |
Look at the next or previous step (nothing is skipped) |
skip |
Skip the step shown, for good (the window offers Undo) |
status |
Current guide and step |
guide <id> |
Switch to a guide by id |
tabs, tab <n>, close |
List, switch and close guide tabs |
path |
Choose where to level next, where a guide offers a choice of route |
route |
Show the travel route to the current target |
skipleg |
Skip the travel route's current leg (a Hearthstone, flight or portal: plan the rest without it; a walk or lift: mark it done) |
near <service> |
Point the arrow at the nearest trainer, class trainer, repair, reagents, vendor, innkeeper, bank, auction house, flight or stable master |
way <x> <y> [label] |
Point the arrow at x y on your current map (no argument clears it) |
arrow show|hide|reset |
The waypoint arrow (drag it to move it) |
reset |
Clear ticks and skips for the current guide |
xp |
XP per hour, time to level and level splits |
gear [item link] |
Gear advice: the weights in use, or compare an item |
gear import [string] |
Import a Pawn scale: opens the paste box, or imports the string given |
gear scales |
Open the window that manages your custom stat-weight scales |
instances [clear] |
Instance limits, runs and lockouts |
dungeons [name] |
Open Dungeons, or a dungeon's page |
lookup [search] |
Open Lookup, optionally searching |
mount |
Look up the mount of your target (or mouseover) and how to get it |
rares [test] |
Open Rares, or show a sample rare alert |
talents |
Open your talent plan |
questdb |
Quest database status |
packs |
Open Options > Community guides |
import |
Open the Import page: paste a shared guide string to save it without installing an addon; import clear or import delete to remove it |
gamepad |
Open Options > Gamepad: button names and key bindings |
welcome |
Show the welcome again |
where |
Print your map and position as guide lines (zone map <id>, goto x,y live), in a box to copy |
report |
Report a problem with the step on screen (the guide window's bug button) |
discord |
The invite to the Polestar Discord, to copy |
debug |
Toggle debug output |
The Recorder has its own: /psrec on | off | ui | mark <text> | trail on [label] | trail off | clear and a few more listed by /psrec. /psrec trail on Brill records a dense position trail (a point every yard, height
included) until /psrec trail off or 30 minutes; record trail <session>
writes it out. /psrec ui (or Options > Recorder > Recorder window) opens a
small window with the same controls, a key binding for the trail, and a
checklist of the spots we need walked.
Every command with its help line, every option and every key binding are on polestar.guide's reference.
- The docs answer most questions: installing, the guide window and the arrow, community guides, the FAQ, and every slash command and option.
- A wrong step? Click the bug in the guide window (or
/polestar report) and post the report in #bugs on the Polestar Discord, or open it on GitHub from the same window. What makes a good report is in CONTRIBUTING.md. - Questions, ideas and feedback are welcome on the Discord; a feature request goes in an issue.
- A security problem goes in a private report, never an issue: SECURITY.md.
flowchart LR
game["The game's data<br/>+ corrections"] --> data["Reference<br/>data"]
data --> world["World model<br/>solo, elite and group quests"]
world --> walks["Walks<br/>priced on the maps"]
walks --> routes["Route search<br/>one route per faction"]
fixes["Player reports<br/>kept as fix records"] --> routes
routes --> guides["Guides<br/>written from the route"]
guides --> check["Route check<br/>played like a player"]
check --> legs["Walking legs<br/>for the arrow"]
legs --> addon["Polestar_Guides"]
The routes are made by Polestar Forge, one program (forge build) that runs every step from
the installed game to checked guides (docs/FORGE.md). Each race has its own
starting zone (levels 1 to about 12, the Skyborne to about 15); from there one Horde route runs
from the Barrens and one Alliance route from Westfall to 60, written once per faction and played by
every race of it.
- Reference data. Forge reads the game's own tables from the installed client, Forever's quest data and our corrections into the facts every tool uses: quests, givers and enders, objectives, spawns, items, travel (data).
- World model. Every quest the faction can take, with its level, prerequisites and the work its objectives take: kills at the mob's camps, item drops at their rates, objects, escorts. Elite and group quests are in, sized from the game's creature data, each with a solo way past: a player who skips one grinds to the route's level there instead, and the guide gives grouping tips. Quests that start from a rare drop are optional extras the route does not count on. Dungeon, raid and PvP quests are left out.
- Walks. Every walk a route may take is priced on the terrain, with Leffe's navigation maps where they cover it and Polestar's own walking grid elsewhere (nav).
- Route search. Starting from the order players knew, the search reorders, adds and drops quests, from moving one stop to rebuilding a whole stretch, and keeps a change only when every step stays possible: the quest is available, the flight path is learnt, the hearthstone is ready, the quest log has room, and every fix from a player's report holds. On a shared route a change is kept only when no race gets slower (routes, model).
- Guides. The writer turns the route into the guides: one shared route per faction, each town done in one sweep through its quest givers, class training and weapon masters on the way, hearths an hour apart and a travel line for every flight, boat and portal (writer).
- Route check. The written guides are played the way a player follows them, for every race and class, and a step that can't be done as written is refused: a quest taken before it is available, a flight to a flight path not learnt, an item used before its quest, a hearth on cooldown, a trip made twice, a town left with work ready there (judge).
- Walking legs. The walk into every step is worked out once and shipped with the guides, so the arrow follows it at once.
Each round of routes is then read step by step. What a reader or a player finds becomes a
permanent fix record (data/route-fixes.json, data/guide-fixes.json and our corrections), never
a hand edit of a guide, so the next build keeps it; the leveling guides themselves are generated
(guides/GENERATED.json lists them). Every quest a route leaves out is listed with the reason,
so a missing quest is a question with an answer.
What you will notice, that 0.2.6's guides didn't do:
- Your race's own start, then one route for your faction. Every race levels in its own starting zone, then joins the one Horde route from the Barrens or the one Alliance route from Westfall, so every fix reaches every race.
- Towns in one visit. At a town you pick up and hand in everything that is ready while you are there, and a hand-in waits for you where a flight or your hearth lands you.
- Training on the way. Class training sits where the route already passes a trainer, and weapon trainers come up while you're there.
- Elite and group quests, your call. They are offered with the group they want; skip one and the guide has you grind back to the route's level, so you are never stranded.
- Rare drops never hold you up. Quests that start from a rare drop are optional extras.
- The hearthstone is never asked for while it cools down.
- Every order players reported as wrong is now followed, and kept for every later build.
- The arrow walks a path made for each step, and a step moves on only when the game confirms it (a quest taken or handed in, a spell learnt), never when a window just opens.
Every leveling guide is checked the way a player follows it before it ships, for every race and class, and each round of routes is read step by step. Polestar is not a speed-leveling guide: the aim is a route that makes sense to play, with nothing pointless in it.
Forge's model is in docs/forge/model.md and the route check in docs/forge/judge.md. The routes of releases up to 0.2.x came from an earlier JavaScript simulator, described in docs/legacy/SIMULATION-js.md.
Guides are plain text, compiled to Lua. The compiler fills in names, titles
and coordinates from the reference data, so a line can be as short as
accept 788. From the Orc starting guide (written by Forge, like every
leveling guide),
guides/forever/horde/orc/01-durotar.guide:
guide forever/horde/orc/01-durotar
title Durotar
faction Horde
race Orc
levels 1-12
zone Durotar
next forever/horde/orc/02-the-barrens
step Kaltunk
accept 4641 -- Kaltunk, where you start
tip Gornek waits inside the Den, the building just west of Kaltunk.
turnin 4641 -- Inside
accept 788
accept 97279
accept 1485 only Warlock -- Ruzan
step Training weapons and boars
tip The weapons lie around the Den and the training grounds; the Mottled Boars roam the whole valley floor.
kill 3098 quest 788.1
collect 277653 quest 97279.1
goto 42.4,68.6 "The Den"
The second step compiles to (goals wrapped and spawn lists cut short here; the compiler writes each goal on one line):
{
title = "Training weapons and boars",
note = "The weapons lie around the Den and the training grounds; the Mottled Boars roam the whole valley floor.",
goals = {
{ t = "kill", quest = 788, title = "Cutting Teeth",
target = "Mottled Boar", npc = 3098, count = 10, oi = 1,
map = 1411, x = 42.72, y = 71.58, z = 40.3, f = "e",
spotsPacked = "42.4,72.1,,56,6;44.3,71.2,,54,6;..." },
{ t = "collect", quest = 97279, title = "Wayward Weapons",
item = 277653, itemName = "Abandoned Training Weapon", count = 6, oi = 1,
map = 1411, x = 43.2, y = 71.7, f = "e",
spotsPacked = "43.6,72.4,,54,4;44.3,70.8,,21,2;...",
from = "Abandoned Training Weapon", fromKind = "object", fromId = 673476 },
{ t = "goto", text = "{object:3227}", map = 1411, x = 42.4, y = 68.6, f = "e" },
},
},Every verb, modifier and condition is in docs/GUIDE_FORMAT.md; guides of your own ship as a community addon.
This part is for working on Polestar itself: players need only the Quick start, guide authors the Community guides section. docs/README.md maps every document, and CHANGELOG.md lists what changed in each release.
Polestar has two command lines. forge (Rust, in rust/; build it
with cargo build --release -p forge there, or take a prebuilt one from
the Releases page) builds the data, the guides, the walking maps and the
releases: forge guide compile|lint|check, forge data ...,
forge nav pack|check, forge release ... and forge changelog. The old
node tools/polestar.js compile, lint, data, release and their
neighbors only print the forge command now. node tools/polestar.js
keeps the contributor tools that have not moved yet: playtest, find,
record, new, dev, install, play, preview and the planner.
Node 24 or later (no npm dependencies) and Lua 5.1 (lua5.1, luac5.1) for
the tests. Building the data needs a local Forever client: it reads the
client's tables and installed addons.
forge data build --kb # reference data into data/forever/ (local)
forge data questdb # the Polestar_QuestDB pack
forge guide lint # check every guide
forge guide compile # build addon/Polestar_Guides
node --test "tests/**/*.test.js" # the test suite
node tools/polestar.js preview # render the UI to docs/preview/*.svg
node tools/polestar.js install --recorder # into a detected Forever or beta client
forge release version # the release version in package.json, guides/pack.json and every addon TOC
forge release pack # release zips and SHA256SUMS into dist/npm test runs the suite. CI runs it on every
push to main and every pull request, where the tests that need the locally
built data skip with a reason, and fails when the committed textures or UI
renders differ from a fresh media or preview build; with the data built,
all pass locally. install
finds the client under Wine, Proton and similar prefixes in your home folder,
or takes $WOW_FOREVER_ADDONS or --dest <Interface/AddOns>; --link
symlinks the folders instead, so an edit needs only a /reload.
Releases are built on a maintainer's machine, because the data addons come from the game client's tables: docs/RELEASING.md has the steps and what each zip carries.
forge --help and forge <command> --help list Forge's commands and
options; node tools/polestar.js help lists the Node ones and
help <command> their options; tools/README.md groups
them, lists the generated files and gives the rebuild order after a data
change.
Polestar Forge: making the routes
cd rust && cargo build --release -p forge && cd .. # or a prebuilt forge from the Releases page
rust/target/release/forge doctor # what it finds: the game, the data, the maps
rust/target/release/forge build --guides guides --out forge-outForge reads the installed game, builds the data and the walks, searches every start's route, writes
the leveling guides (one shared route per faction) and plays them through the route check:
forge-out/report.md and check.md say what changed and what a player would trip on. Without a
maintainer's data/sources, forge data fetch downloads the public data
pack first. docs/FORGE.md is the guide.
The playground: the real addon in a browser
node tools/polestar.js play # prints http://127.0.0.1:8077/
node tools/polestar.js play --fresh # a new level 1 character, default settingsOne long-lived Lua 5.1 process runs Polestar, its guides and the built data
packs against the simulated world of the tests. The page shows a 1920x1080
game screen with the hub and the guide window; click, hover, scroll, drag,
type into search boxes and run slash commands from the chat line. A side
panel sets the look, jumps through a guide, opens any window and changes the
character, position and time. Zone paintings come only from a local folder
of your own client's art (--art); without it the world is dark.
The route planner: guides played on the real map
node tools/polestar.js planner art # once: the map art (~330 MB downloaded, ~250 MB built; local only)
node tools/polestar.js nav build # once: the navigation grid for terrain-aware walks (~750 MB, ~15-25 min; local only)
node tools/polestar.js planner # prints http://127.0.0.1:8078/
node tools/polestar.js planner mcp # the same commands for an AI agent (MCP over stdio)The planner is Nivek_Gaming's idea (@Nivek_Gaming on X): his route planning inspired this tool and the navigation grid behind it. Thank you, Nivek.
Pick a guide and a character and the route plays on the game's own minimap
terrain, zone by zone or as the whole 1-60 route across the continents: each
step's start time and duration split into travel, combat, talking and
waiting, the level and XP, the quest log and items, the spawn areas and the
path. The clock is the simulator's model (docs/legacy/SIMULATION-js.md),
so treat absolute hours as estimates and compare steps against each other.
With the navigation grid built (node tools/polestar.js nav build, local
only) every walk follows the terrain, the walks between mobs in a kill area
too: around mountains, into caves and buildings, swimming, dropping off
ledges, mounted from level 40, at the speed of the character's class (Ghost
Wolf, Travel Form...). Flights follow the flight master's real path. The
first playback of a route shows straight lines while its walks are routed in
the background ("Routing…" in the footer), then "Routed N of M legs" (and
the hops between spawns); routes are cached under data/local/nav, so the
next start is immediate. A walk the grid cannot route stays a straight line,
marked ≈ in the steps list.
Layers adds Walkable (what the grid can walk: blocked, steep, climb, water,
indoors, zoomed in) and Arrow aids (the crossings and approach chains of
nav aids).
In Edit mode, drag a waypoint, add one with a click, bend a travel line into
a new labelled waypoint ("Cross the bridge"), or change any goal or
step in its form: every edit is written into the .guide file at once
(undo with Ctrl+Z; Changes lists and reverts them; Compile builds the addon
folder), so dev picks it up too. Given a pack folder it edits that pack;
planner mcp lets an assistant read routes, edit them and drive the open
page while you watch (claude mcp add polestar-planner -- node tools/polestar.js planner mcp).
The map art is the Forever client's own, fetched from wago.tools and never
committed or shipped.
Measuring routes with recordings
forge record import # the Recorder's chunks -> data/recordings (forge record pull: the server's)
forge data build --kb # fold recordings into the reference data
node tools/polestar.js record report # how long each guide step really tookrecord report [--guide <text>] [--json] lists, per step, passes, median
and p75 time, XP per hour, time in combat, deaths, turn-ins and travel, then
the slowest steps, steps far over the guide's median and detours. Reloads,
AFK breaks (idle time counts at most 5 minutes), going back a step and other
tabs are accounted for.
At Forever's launch, the data is rebuilt and Forge builds the routes again to take in the new zones (docs/FORGE.md).
| Path | What lives there |
|---|---|
addon/Polestar |
The addon: engine, navigation, UI, modules, textures drawn in code (addon/README.md; every addon: docs/ARCHITECTURE.md, "Overview") |
addon/Polestar_Guides |
The compiled guides (generated by compile) |
addon/Polestar_ItemDB |
Item stats for gear advice: Items.lua from forge data itemdb, Forever.lua from forge data gear |
addon/Polestar_Nav |
The arrow's walking routes: Polestar's walking router, started from Shortest Path Forever's by Cillian Berragan (GPL-3.0-or-later), on Polestar's walking maps of Eastern Kingdoms, Kalimdor and Zephras Isle, grown from his format (nav pack; CREDITS.md) |
addon/Polestar_Recorder |
The optional session recorder |
guides/forever |
The guide sources: leveling, professions, reputation, exploration, Legacy, collectibles |
tools |
The command line (polestar.js), the guide compiler, the simulator, data importers, texture and preview renderers, the playground (tools/README.md) |
rust |
Polestar Forge, the Rust pipeline that makes the routes and writes them into the guides: one forge program (docs/FORGE.md) |
apps/client |
The Polestar Client, the desktop app that installs and updates the addons and community guides and sends recordings (apps/client/README.md) |
services/ingest |
The recording program's server: it checks and stores the chunks the Polestar Client sends (services/ingest/README.md) |
tests |
node --test suites; tests/lua is the simulated game client they run the addon in (tests/README.md) |
docs |
Architecture, guide format, Forge, the suite's scope, UI renders (docs/README.md) |
data/ |
Local build products and recordings, gitignored |
docs/ARCHITECTURE.md describes the modules and their contracts, docs/SUITE.md the suite and what is out of scope (best-in-slot lists, loot browsing, talent builds), and docs/DESIGN.md the visual system.
Issues and pull requests are welcome, guide fixes most of all: a step in the wrong order, a quest that is not where the guide says, a tip that would have saved you a minute. Questions and ideas are welcome on the Polestar Discord.
- Found a wrong step? A guide's title names its file under
guides/forever/; fix the step, runforge guide lintandplaytest --filter <name>, and open a pull request. Without the reference data (built from a local client today), send the fix or an issue anyway: CONTRIBUTING.md has the full walkthrough. - Code follows the existing modules; read
docs/ARCHITECTURE.md first and keep
node --test "tests/**/*.test.js"green. - UI changes stay in the visual system of docs/DESIGN.md;
node tools/polestar.js previewrenders them for review. - Recordings are the most useful contribution of all: start sharing in
the Polestar Client and play, or attach
record reportfor the steps that felt slow. - With an AI agent? It reads AGENTS.md in a clone. To have
Polestar's skills everywhere, install them:
npx skills add fitzforge/polestar -g, or the Claude Code and Codex plugins in CONTRIBUTING.md.
Contributions are accepted under the GPL-3.0, the project's license.
Polestar is free and open source under the GNU General Public License, version 3.
Its data comes from public sources, the game client's own tables and
recordings; THIRD_PARTY.md lists every input, its license
and what a release holds from it. The guides and the quest markers carry
facts (titles, givers, positions, levels) from QuestieDB's Forever store,
credited there. Inputs whose terms do not allow redistribution are read from
your installed copies at build time and their outputs stay local: a Codex
built with those extras (--local-extras) and the zone crossings pack are
never packaged; the Codex that ships is built from release-safe inputs only. No game
art ships with Polestar: zone paintings are read from the player's own
client, and every texture is drawn in code. The screenshots in this README
show the game (© Blizzard Entertainment) and are not part of the release.
The Inter typeface (SIL Open Font License 1.1) ships with the addon; the
POLESTAR wordmark is cut from Cinzel (SIL Open Font License 1.1) and ships
only as images. The README's banner, buttons, logo, charts and the
CurseForge avatar are drawn by tools/readme from the same sources, with
Marcellus (SIL Open Font License 1.1) for the banner's lines; the CurseForge
button's anvil is the CurseForge mark from simple-icons (CC0 1.0).
The walking router in Polestar_Nav started from Shortest Path Forever's, by
Cillian Berragan, and keeps his copyright in the files that began as his; its
maps of Eastern Kingdoms, Kalimdor and Zephras Isle are Polestar's, written in
a format grown from his by a port of his baker; all of it is under
the GPL version 3 or later, used with his permission
(see Pathing by Shortest Path Forever);
the guide-pack permission below does not cover them.
The walks baked into the guides are drawn on Leffe's navigation maps (and on Polestar's own maps where his have no way), used with Leffe's full permission; his map files are not part of the addon.
LICENSE-EXCEPTION.md adds a permission under section 7: guide packs produced by Polestar's compiler and import strings produced by its tools, including the reference data they place in them, may be distributed under terms of the author's choice (not guide text copied from Polestar's own guides, nor Polestar's code).
World of Warcraft is a trademark of Blizzard Entertainment. Polestar is a community project, not affiliated with or endorsed by Blizzard.






