Skip to content

mikigraf/AutoSellPlus

Repository files navigation


AutoSellPlus

AutoSellPlus

Smart junk selling with transmog protection, bag eviction, and cross-alt profiles.
A World of Warcraft addon for Retail (Midnight)


Quick Start · Features · Commands · Integrations · Development · Releasing

Version   WoW Midnight   License


AutoSellPlus in action

Items tab — filters and item list    Settings tab — General, Automation, Protection

Settings tab — Marking, Display, Bag Maintenance, Auto-Destroy


AutoSellPlus sells your junk at vendors with configurable quality and ilvl filters, transmog protection, and per-character profiles. Mark items as junk while looting, preview what will be sold before confirming, and protect gear you want to keep -- including uncollected appearances, BoEs, and equipment sets. Lightweight, modular, and self-testing on login so it works through patches without manual intervention.




Quick Start

  1. Install via CurseForge, then /reload
  2. The setup wizard runs automatically on first login -- pick a template and configure protections
  3. ALT+Click items in bags to mark them as junk (visual overlay appears)
  4. Visit a vendor -- the popup shows everything that will be sold, with checkboxes to include or exclude items

Or skip the popup entirely: set auto-sell mode in /asp config and everything happens on merchant open.

Tip

Rules are account-wide by default. Set them once on your main, every alt uses the same config. Per-character overrides are available if needed.


Features

Selling

  • Popup preview with sortable columns (name, ilvl, vendor price, AH value), checkboxes, and one-click Sell All
  • Compact mode -- condensed popup with item count, total value, per-quality breakdown, and one-click Sell
  • Three sell modes: interactive popup (default), one-click, or fully automatic with configurable delay
  • Quality filters for gray through epic, each with independent ilvl thresholds (e.g. sell greens below ilvl 200)
  • Relative ilvl threshold -- sell below a percentage of your equipped ilvl instead of per-quality sliders
  • Sell collected transmog -- optionally sell items whose appearances you've already collected
  • Sell known collectibles -- optionally sell already-known mounts, pets, and toys
  • Category filters for consumables, trade goods, quest items, and miscellaneous
  • Expansion and slot filters to narrow down exactly what shows up
  • Confirmation dialogs for epic items and high-value sales, with a scrollable item list panel showing exactly what will be sold
  • Buyback safety -- highest-value items sold first so buyback slots hold the most valuable items; red divider and tinted rows for items beyond the 12-slot limit
  • Dry run mode to preview what would be sold without selling anything
  • Auto-repair at vendors, guild funds first
  • Key binding in WoW's native Key Bindings UI to toggle the popup at any vendor

Protection

  • Never-sell and always-sell lists (global and per-character)
  • Transmog protection prevents selling uncollected appearances, with source-level checking
  • Equipment set protection for items in any saved gear set
  • BoE protection for unbound Bind on Equip items
  • Soulbound-only mode -- optionally skip all unbound items, useful for dungeon farmers keeping BoE for AH
  • Quest item protection for items in the Quest Items category
  • Current expansion materials -- optionally protect Trade Goods from the current expansion
  • Mount equipment protection -- never sell mount equipment items
  • Warband item protection -- optionally protect all warband and account-bound items
  • AH value protection -- protect items worth listing on the AH (requires TSM or Auctionator)
  • Refundable protection skips items still in the purchase refund window
  • AllTheThings and CanIMogIt integration for enhanced transmog detection

Marking

  • ALT+Click items in bags to mark/unmark as junk (configurable visual overlay: border, tint, or both)
  • Drag-to-mark button appears above bags
  • Auto-mark gray items and equippable items below an ilvl threshold on loot
  • Bulk mark mode (/asp mark) for marking multiple items without holding ALT
  • Works with Bagnon, AdiBags, ArkInventory, and Baganator bag frames

Bag Management

  • Bag space guard automatically suggests selling the cheapest junk when free slots drop below a threshold
  • Stack limits -- set maximum quantities per item, excess is automatically included in sell queues
  • Free slot alerts in chat or on-screen when bag space is low
  • Bag gold display showing total vendor value of bag contents above the backpack button

Tracking

  • Tooltip item status -- colored status line on item tooltips showing how ASP classifies each item
  • Session tracker with gold/hour calculation, accessible from the minimap button tooltip
  • Sale history with a scrollable UI panel (last 200 sales)
  • Per-character stats showing lifetime sales, visible in the minimap tooltip across alts
  • Undo system with 5-minute buyback window and visual toast notification

Profiles

  • Four built-in templates: Raid Farmer, Transmog Hunter, Leveling Alt, Gold Farmer
  • Save/load named profiles that persist across sessions
  • Per-character auto-load -- the last loaded profile restores on login
  • Import/export never-sell and always-sell lists as shareable strings
  • First-run setup wizard walks through configuration on each new character

Destroy

  • Auto-destroy junk items that have no vendor value, with configurable quality and value limits
  • Confirmation dialog with safety cap of 5 items per use

Slash Commands

All commands are available via /asp or /autosell.

Command Description
/asp Show help
/asp config Open settings panel
/asp sell Sell at vendor now
/asp preview Dry run (nothing sold)
/asp undo Buyback last sale
/asp template [name] Apply a preset template
/asp toggle Enable / disable
/asp mark Toggle bulk-mark mode
/asp add <id> Add item to never-sell list
/asp remove <id> Remove from never-sell list
/asp list Show never-sell and always-sell lists
/asp keep <id> <count> Set stack limit for item
/asp profile save <name> Save current settings as profile
/asp profile load <name> Load saved profile
/asp session Show session stats
/asp log ui Open sale history panel
/asp destroy Destroy qualifying junk
/asp wizard Re-run setup wizard
/asp overlay Cycle overlay mode

Integrations

Addon Integration
TSM / Auctionator AH price column in popup, value warnings
Bagnon / AdiBags / ArkInventory / Baganator Junk mark overlays in bag frames
AllTheThings / CanIMogIt Enhanced transmog protection
Leatrix Plus Conflict detection and warning
WoWUnit In-game unit test suite (development)

Resilience

AutoSellPlus runs a self-test on login that checks for required WoW APIs. If an API is missing (typically after a major patch), the affected feature is disabled individually while everything else keeps working. No full addon breakage from a single API change.

Checked APIs: selling, bag scanning, item info, transmog collection, equipment sets, item destruction.




Development

Note

See CONTRIBUTING.md for guidelines on submitting changes.

Project Structure

AutoSellPlus/
├── AutoSellPlus/            # Addon source
│   ├── AutoSellPlus.toc     # Table of contents (loaded by WoW)
│   ├── Config.lua           # Defaults, DB init, migration, profiles, templates
│   ├── Helpers.lua          # Utilities (ilvl, money formatting, bag iteration)
│   ├── Protection.lua       # Item protection (transmog, BoE, sets, ShouldSellItem)
│   ├── BagAdapters.lua      # Bag addon compatibility (Bagnon, AdiBags, etc.)
│   ├── Overlays.lua         # Bag overlays, tooltip hooks, gold display
│   ├── Marking.lua          # Mark toggling, alt-click, loot auto-mark
│   ├── History.lua          # Session tracking, sale history (data layer)
│   ├── HistoryUI.lua        # Sale history panel (UI)
│   ├── MinimapButton.lua    # Minimap button, alt stats tracking
│   ├── Wizard.lua           # First-run setup wizard
│   ├── UI.lua               # Settings panel (Options > AddOns)
│   ├── PopupFilters.lua     # Display list building, filter logic, sorting
│   ├── ConfirmList.lua      # Confirmation dialog item list panel
│   ├── Popup.lua            # Merchant popup frame, item rows, sell actions
│   ├── Selling.lua          # Sell queue, batch processing, undo, auto-sell
│   ├── Core.lua             # Event handling, slash commands, auto-repair
│   └── Tests.lua            # WoWUnit test suite (requires WoWUnit addon)
├── assets/                  # Images for README (excluded from package)
├── .pkgmeta                 # BigWigsMods packager config
├── .luacheckrc              # Luacheck linting rules
├── install.sh               # macOS install script
└── .github/workflows/       # CI/CD pipeline

Local Testing

Symlink the addon into your WoW addons folder:

./install.sh

Or manually copy AutoSellPlus/ to:

World of Warcraft/_retail_/Interface/AddOns/AutoSellPlus/

Reload the UI in-game with /reload.

Unit Tests

The addon includes a WoWUnit test suite in Tests.lua. Install WoWUnit as a separate addon and the tests run automatically in-game. The test suite covers formatting, configuration, database migration, protection priorities, filter logic, sorting, session tracking, sale history, and more.

WoWUnit is listed as an optional dependency. Tests are guarded by if WoWUnit then and have zero overhead when WoWUnit is not installed.

Linting

Run luacheck locally before pushing:

luacheck AutoSellPlus/

CI runs luacheck automatically on every push. Zero warnings required.


Releasing

Releases are fully automated via GitHub Actions using BigWigsMods/packager.

How to Release

  1. Tag the commit and push:
    git tag v1.2.3
    git push origin v1.2.3
  2. The pipeline will automatically:
    • Run luacheck
    • Package the addon (respecting .pkgmeta ignores)
    • Upload to CurseForge
    • Create a GitHub release with the zip attached

Required Secrets

Set these in GitHub > Settings > Secrets and variables > Actions:

Secret Source
CF_API_KEY CurseForge API tokens

Important

GITHUB_TOKEN is provided automatically. Make sure Settings > Actions > General > Workflow permissions is set to Read and write.

Version Token

The .toc file uses @project-version@ which the packager replaces with the git tag at build time. Do not hardcode a version number.




Made by Cloudsail Digital Solutions

About

World of Warcraft addon for mass-selling low item level greens and blues

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors