August 26th, 2025

View your class/spec’s optimal rotation using Git
Behind the scenes, tools such as Raidbots and SimulationCraft leverage an Action Priority List, or “APL”, which tells their “robot” which spells to cast, based on a list of conditional circumstances. These include conditionals such as the presence of buffs, talents, stacks, cooldowns, and many other factors. All of these get consolidated into a single file, with different sections based on the current number of targets you’re simulating against, such as single target, heavy AoE, or other target counts specific to the specialization being tested.
An example of an APL can be seen here:
actions.slayer_aoe+=/thunderous_roar
actions.slayer_aoe+=/avatar
actions.slayer_aoe+=/champions_spear
actions.slayer_aoe+=/ravager,if=cooldown.colossus_smash.remains<=gcd|cooldown.warbreaker.remains<=gcd
actions.slayer_aoe+=/warbreaker
One of the easiest ways to view all of the APLs for every single class & specialization is to download APLs locally, using Git. The problem is that the APL data is stored within the Github repository for SimulationCraft, which is almost 3GB in size, and the APL data is only about 0.1MB. In order to clone a smaller version of the repository, so that we only download the data that we need, we’ll use a Git flag called sparse-checkout.
This guide assumes you already have Git installed and functional on your computer.
In order to download only the APL data, we’ll do the following:
- Open your local Terminal window for running CLI commands.
- CD to the parent directory where you want the APL data to live.
- For example:
cd ~/Documents/WoW_Data
- For example:
- Run:
git clone -n --depth=1 --filter=tree:0 https://github.com/simulationcraft/simc-ntranslates to “no checkout”, or “don’t actually download the files yet”.--depth=1limits the clone to only worry about the most recent commits.-filter=tree:0is contextually useful based on your needs. In this case, we’re making a “treeless clone”, which is fine if all you need is simple changes to text files.
After running the “clone” command, our computer will have an empty folder named “simc” that is tracking the Github repo. In order to get a copy of the APL files locally, we’ll target the repo’s folder where the APL files exist (“ActionPriorityLists/default”), and then only check out that folder specifically. We can do this with the following commands:
- Run:
cd simc - Run:
git sparse-checkout set --no-cone ActionPriorityLists/default - Run:
git checkout

At this point, you should have the APL files available to you locally! In order to keep your local code up to date, all you’ll need to do is open your terminal, cd to the APL files, and run git pull to fetch the latest updates.

