Skip to content

Repository files navigation


AutoSellPlus

AutoSellPlus

Smart junk selling with transmog protection, AH-aware safeguards, 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, Destruction


AutoSellPlus sells your junk at vendors with configurable quality and ilvl filters, transmog protection, AH value safeguards, 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, equipment sets, and items worth listing on the AH. Learns from your sell decisions to auto-suggest items over time. Instance-aware junk detection tracks what you sell per dungeon and raid. Destroy worthless items away from vendors with cursor-safe deletion and a bag pressure valve. 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
  • Smart defaults -- learns from your sell and keep decisions to auto-check/uncheck items after 3+ occurrences
  • Instance-aware selling -- tracks items sold per instance, suggests them next time you're in the same dungeon or raid
  • Toast notifications -- non-intrusive slide-in notifications for sell summaries, protection alerts, and undo availability
  • 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)
  • Shift+ALT+Click to add items to always-sell list, Ctrl+ALT+Click for never-sell list
  • 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

  • Value-based eviction -- automatically sell cheapest items at a vendor when bags are full
  • 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

  • Five built-in templates: Safe Mode, 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
  • Instance auto-profiles -- auto-switch profiles when entering raids, dungeons, or battlegrounds
  • Import/export never-sell and always-sell lists as shareable strings
  • First-run setup wizard walks through configuration on each new character (defaults to Safe Mode)

Destruction

  • Destroy junk items when not at a vendor, with separate quality, ilvl, and vendor value filters
  • Countdown confirmation popup with item list and vendor value lost before destroying
  • Cursor-safe one-at-a-time deletion with full cursor verification
  • Never auto-answers Blizzard's "type DELETE" prompt -- if one appears, the run pauses and hands the item back to you
  • Bag pressure valve auto-triggers confirmation when free bag slots drop below a threshold
  • Never-destroy list -- per-item blacklist independent from never-sell

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 compact Toggle compact popup mode
/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 neverdestroy add|remove|list Manage never-destroy list
/asp wizard Re-run setup wizard
/asp overlay Cycle overlay mode

Integrations

Addon Integration
TSM / Auctionator AH price column in popup, AH value protection
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)
│   ├── Widgets.lua          # Shared styled widget library (checkbox, button, slider)
│   ├── Toasts.lua           # Non-intrusive toast notification system
│   ├── Protection.lua       # Item protection (transmog, BoE, sets, ShouldSellItem)
│   ├── BagAdapters.lua      # Bag addon compatibility (Bagnon, AdiBags, etc.)
│   ├── InstanceJunk.lua     # Instance-aware junk detection and tracking
│   ├── 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
│   ├── Destroy.lua          # Destruction system, countdown confirmation, pressure valve
│   ├── 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

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages