Extension System Completion #17

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

Background and Context

The extension system has working implementations for objects (8 files, ~15 classes), skills (kick, map), flags (8 elemental flags), and reactions (helper.rx). However, the extensions/actions/commands/ and extensions/input_handlers/ directories contain only .keep placeholder files, extensions/help/ is empty, and extension loading is hard-coded in core files (login.rb and player.rb have TODO comments to remove direct requires).

Current state: Objects, skills, flags, and reactions are fully integrated. Commands, input handlers, and help are scaffolding only. Core code has hard-coded require statements for extension files.

Expected Behavior (End State)

A complete extension system where:

  • Extension auto-discovery replaces hard-coded requires in core code
  • The commands and input handlers expansion points have working examples
  • Extension help files are auto-registered into the HelpLibrary
  • The extension system is fully documented and tested

Acceptance Criteria

  • Extension auto-discovery scanner replaces hard-coded requires
  • At least one example extension command with input handler exists
  • Extension help files are auto-registered
  • Hard-coded extension requires removed from login.rb and player.rb
  • All changes covered by unit tests at 85%+ coverage
## Background and Context The extension system has working implementations for objects (8 files, ~15 classes), skills (kick, map), flags (8 elemental flags), and reactions (helper.rx). However, the `extensions/actions/commands/` and `extensions/input_handlers/` directories contain only `.keep` placeholder files, `extensions/help/` is empty, and extension loading is hard-coded in core files (`login.rb` and `player.rb` have TODO comments to remove direct requires). **Current state:** Objects, skills, flags, and reactions are fully integrated. Commands, input handlers, and help are scaffolding only. Core code has hard-coded `require` statements for extension files. ## Expected Behavior (End State) A complete extension system where: - Extension auto-discovery replaces hard-coded requires in core code - The commands and input handlers expansion points have working examples - Extension help files are auto-registered into the HelpLibrary - The extension system is fully documented and tested ## Acceptance Criteria - [ ] Extension auto-discovery scanner replaces hard-coded requires - [ ] At least one example extension command with input handler exists - [ ] Extension help files are auto-registered - [ ] Hard-coded extension requires removed from `login.rb` and `player.rb` - [ ] All changes covered by unit tests at 85%+ coverage
freemo self-assigned this 2026-03-15 04:25:21 +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#17
No description provided.