DonutBot/AGENTS.md

1.6 KiB

AGENTS

Guidance for future coding/automation agents working in this repository.

Goal

Maintain and improve a Mineflayer bot that automates a spawner and order loop with strict security shutdown behavior.

Primary Files

  • index.js: main bot logic, event handlers, security flow, web API.
  • web/index.html: local control panel UI.
  • allowed_players.txt: allow-list consumed at startup.

Behavioral Guardrails

  • Do not remove or weaken security triggers without explicit user request.
  • On emergency path, preserve order:
    • stop loop
    • break/remove spawner
    • try ender chest stash
    • send webhook
    • quit
  • Keep movement guard behavior intact unless asked to modify it.

Code Change Rules

  • Prefer small, focused functions and reuse existing helpers.
  • Keep logs user-readable (pushLog) and reserve noisy details for debugLog.
  • Avoid introducing new dependencies unless needed.
  • Keep constants near top-level config section.

Validation Checklist

After edits:

  1. Run syntax check:
    • node --check index.js
  2. Start bot locally:
    • node index.js
  3. Verify HTTP server starts on :3008.
  4. Verify no regressions in emergency shutdown sequence.

Common Pitfalls

  • GUI slot interactions can desync if cursor item is not returned.
  • Custom server GUIs may use non-standard item labels.
  • window.inventoryStart may be missing; use fallback logic already in file.

Suggested Future Improvements

  • Make ender chest search distance configurable via env.
  • Add health/status endpoint with loop and security state.
  • Add integration-safe dry-run mode for UI logic testing.