Epic: Extension auto-discovery and loading #34

Open
opened 2026-03-14 23:53:11 +00:00 by freemo · 0 comments
Owner

Background

Extension loading is hard-coded: login.rb lines 282-283 directly require extensions/objects/clothing_items and extensions/objects/sword, and player.rb lines 5-6 directly require extension skills. Both files have TODO comments to remove these requires.

Demonstrable Outcome

An extension auto-discovery scanner replaces all hard-coded requires. Extensions are loaded by scanning subdirectories, not by explicit require statements in core code.

Acceptance Criteria

  • Extension scanner iterates extensions/ subdirectories and requires all .rb files
  • Hard-coded require of extension files removed from login.rb
  • Hard-coded require of extension files removed from player.rb
  • TODO comments in login.rb and player.rb resolved
  • Unit tests verify extension auto-discovery
## Background Extension loading is hard-coded: `login.rb` lines 282-283 directly require `extensions/objects/clothing_items` and `extensions/objects/sword`, and `player.rb` lines 5-6 directly require extension skills. Both files have TODO comments to remove these requires. ## Demonstrable Outcome An extension auto-discovery scanner replaces all hard-coded requires. Extensions are loaded by scanning subdirectories, not by explicit require statements in core code. ## Acceptance Criteria - [ ] Extension scanner iterates `extensions/` subdirectories and requires all `.rb` files - [ ] Hard-coded `require` of extension files removed from `login.rb` - [ ] Hard-coded `require` of extension files removed from `player.rb` - [ ] TODO comments in `login.rb` and `player.rb` resolved - [ ] Unit tests verify extension auto-discovery
freemo self-assigned this 2026-03-15 04:25:22 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference: aethyr/Aethyr#34
No description provided.