Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
f6a51a0
Merge pull request #325 from chsami/development
chsami Mar 10, 2026
2c7a43b
Merge pull request #326 from chsami/development
chsami Mar 10, 2026
741bb39
Reduce code smell, implement sawmill vouchers and Lazy Mode
JThomasDevs Mar 25, 2026
ef37364
Change profit calculation to be more accurate, extended Logs enum to …
JThomasDevs Mar 25, 2026
a37a8a3
undo main runner change
JThomasDevs Mar 25, 2026
d61ed14
re-add microbot.java. whoops.
JThomasDevs Mar 25, 2026
58a43dd
Merge pull request #333 from JThomasDevs/plank-make-polish
chsami Mar 25, 2026
7d3c081
Feature/sailing v2.1.0 (#330) (#334)
chsami Mar 25, 2026
f153d11
Merge pull request #335 from chsami/development
chsami Mar 26, 2026
b287982
Merge pull request #343 from chsami/development
chsami Mar 30, 2026
c16996f
Merge pull request #344 from chsami/development
chsami Mar 31, 2026
bb104d8
Merge pull request #345 from chsami/development
chsami Mar 31, 2026
c09536a
Merge pull request #349 from chsami/development
chsami Apr 1, 2026
d75a911
Karam fix (#351)
JThomasDevs Apr 1, 2026
c0e5a67
Merge pull request #359 from chsami/development
chsami Apr 3, 2026
f1ed72b
client thread fixes (#371)
JThomasDevs Apr 8, 2026
7ed5031
fix(AIOFighterPlugin): bump version to 2.0.14 and improve player loca…
chsami Apr 8, 2026
7736b82
Merge remote-tracking branch 'origin/development' into development
chsami Apr 8, 2026
5016e15
fix(AIOFighterPlugin): bump version to 2.1.0 and refactor NPC interac…
chsami Apr 8, 2026
48dbb10
fix(AIOFighterPlugin): bump version to 2.1.3 and migrate prayer/slaye…
chsami Apr 8, 2026
e68adc6
fix(AIOFighterPlugin): bump version to 2.1.4 and switch Queryable cac…
chsami Apr 8, 2026
41bbd57
fix(HueyPrayerPlugin): update version to 1.0.1 and enhance plugin des…
chsami Apr 8, 2026
c03ff66
Add Use Cargo Hold to salvaging script and debug thoroughly (#368)
JThomasDevs Apr 8, 2026
b944fb3
fix(TitheFarmingPlugin): bump version to 1.1.12 and refactor game obj…
chsami Apr 8, 2026
8d9c3f0
Merge remote-tracking branch 'origin/development' into development
chsami Apr 8, 2026
cd6c376
mahogany homes client thread fixes (#372)
JThomasDevs Apr 8, 2026
fd03f77
Refactor NPC targeting and enhance plugin functionalities (#373)
chsami Apr 8, 2026
667e387
fix(CalcifiedRockMinerPlugin): bump version to 1.1.2 and improve mini…
chsami Apr 8, 2026
7d02ba7
fix(CalcifiedRockMinerPlugin): bump version to 1.1.4 and refactor obj…
chsami Apr 8, 2026
11c5329
fix(VorkathPlugin): bump version to 1.3.13 and refactor NPC and objec…
chsami Apr 9, 2026
ac94f6f
fix(PestControlPlugin): bump version to 2.3.0 and improve inventory s…
chsami Apr 9, 2026
995662c
fix(PestControlPlugin): bump version to 2.3.2 and enhance Pest Contro…
chsami Apr 9, 2026
f7a46dc
fix(Documentation): rename agents.md to CLAUDE.md and add debugging n…
chsami Apr 9, 2026
2f97e6e
refactor: migrate woodcutting forestry, barrows, and revkiller to new…
chsami Apr 9, 2026
e074890
refactor: migrate combat plugins to new query API
chsami Apr 9, 2026
e52ac1b
refactor: migrate skilling plugins to new query API
chsami Apr 9, 2026
663d2e6
refactor: migrate processing and utility plugins to new query API
chsami Apr 9, 2026
e8eebb8
refactor: migrate minigame plugins to new query API
chsami Apr 9, 2026
8d61f8c
refactor: migrate hunter and farming plugins to new query API
chsami Apr 9, 2026
d516602
refactor: migrate QoL, cluesolver, and remaining plugins to new query…
chsami Apr 9, 2026
dfd0a04
Merge pull request #376 from chsami/development
chsami Apr 9, 2026
421a3bd
Merge pull request #377 from chsami/development
chsami Apr 10, 2026
dc1e372
fix(Documentation): rename agents.md to CLAUDE.md and add debugging n…
chsami Apr 11, 2026
fe69d56
fix(ShootingStar): improve line of sight checks and update player loc…
chsami Apr 11, 2026
133d41d
fix(ShootingStar): update star model queries to use ObjectID constants
chsami Apr 11, 2026
d0c3f15
Merge pull request #380 from chsami/development
chsami Apr 11, 2026
5c2921a
fix(nmz): migrate to new query API and fix potion shop logic (#379)
mikefallen Apr 11, 2026
ac05856
refactor(Banking): enhance navigation and interaction logging, migrat…
chsami Apr 11, 2026
9e36008
feat(ValeTotem): enhance offerings handling with discovered IDs and i…
chsami Apr 12, 2026
c66f945
Merge pull request #381 from chsami/development
chsami Apr 12, 2026
1ab0748
feat(ValeTotem): enhance offerings handling with discovered IDs and i…
chsami Apr 12, 2026
6b303b9
Merge pull request #382 from chsami/development
chsami Apr 12, 2026
e577660
fix(MageTrainingArena): update version to 1.1.7 and improve client th…
chsami Apr 12, 2026
b4281be
Merge pull request #383 from chsami/development
chsami Apr 12, 2026
de49384
fix(MageTrainingArena): wrap getPosition() in client thread invoke an…
chsami Apr 12, 2026
ac67421
Merge pull request #384 from chsami/development
chsami Apr 12, 2026
6410d04
fix(GotrPlugin): update version to 1.5.4 and set default maxFragmentA…
chsami Apr 12, 2026
87ddfde
feat(FarmTreeRun): add Prifddinas Crystal tree patch and Construction…
mdp18 Apr 13, 2026
53bdc0f
fix(FarmTreeRun): use Yanillian hops for Mahogany tree protection (#387)
mdp18 Apr 13, 2026
9763c16
fix(barrows): POH banking, Ferox escape, and tablet timing (#388)
JThomasDevs Apr 14, 2026
dd74541
fix(AIOFighterPlugin): update version to 2.1.6 and improve safety che…
chsami Apr 15, 2026
ec5fa81
Merge remote-tracking branch 'origin/development' into development
chsami Apr 15, 2026
9ce8736
feat(AIFiremaking): add intelligent firemaking plugin with tile scann…
mdp18 Apr 16, 2026
9897a3c
feat(AutoMining): add League mode to prevent AFK logout (#392)
mdp18 Apr 16, 2026
c35f19e
fix(BirdHunter): trap ownership, safer drops, placement & click relia…
runsonmypc Apr 16, 2026
f953f53
feat(leftclickcast): Left-Click Cast plugin (#389)
runsonmypc Apr 16, 2026
237e175
fix(AutoMiningPlugin): fix return-to-location after break and log spa…
irkedMATT Apr 16, 2026
b0d4085
Merge pull request #394 from chsami/development
chsami Apr 16, 2026
b262de1
fix(Fletching): match "Logs" item name when using LOG material (#396)
mdp18 Apr 16, 2026
109b63f
feat(LeaguesToolkit): add Leagues utility plugin with anti-AFK (#395)
mdp18 Apr 16, 2026
50a9d60
Development (#397)
chsami Apr 16, 2026
cb4cdaa
feat(LeaguesToolkit): add Toci's Gem Cutter (#398)
mdp18 Apr 17, 2026
c8966e6
Merge pull request #399 from chsami/development
chsami Apr 17, 2026
585f604
fix(ValeTotem): correct bow selection and withdraw race (#400)
runsonmypc Apr 18, 2026
219e9e3
fix(ValeTotem): correct bow selection and withdraw race (#400) (#402)
chsami Apr 18, 2026
7371db7
feat(Crafting): add Nemus Retreat flax spinning location (#403)
mdp18 Apr 18, 2026
723b98f
feat(fletching): add fletching knife support (#405)
runsonmypc Apr 19, 2026
f42814a
fix hueycoatl prayer, add config option to disable prayers after proj…
JThomasDevs Apr 19, 2026
d2c092c
merge back (#407)
chsami Apr 19, 2026
ac53c8f
Merge pull request #406 from chsami/development
chsami Apr 19, 2026
eefda7e
fix(TutorialIslandPlugin): update version to 1.3.16 and refactor char…
chsami Apr 19, 2026
7920f39
Merge remote-tracking branch 'origin/development' into development
chsami Apr 19, 2026
29eec03
fix(hunter): add black chinchompa shaking box ID to reset logic (#409)
runsonmypc Apr 20, 2026
4a9c2c9
fix prayer bug and add trio mode to charge pillars (#408)
JThomasDevs Apr 20, 2026
2067e1a
feat(LeaguesToolkit): Toci Gem Store, Thieving, Easy Clues, Telegrab,…
mdp18 Apr 20, 2026
5999778
Merge pull request #410 from chsami/development
chsami Apr 20, 2026
76be9bf
feat(AIOAIO): add record & replay plugin
dginovker Apr 20, 2026
036b959
feat(AIOAIO): conditional steps, editable actions, append-record
dginovker Apr 20, 2026
b90c6d3
fix(AIOAIO): unstick replay, drop menuTarget duplication
dginovker Apr 21, 2026
e9a7b9d
feat(AIOAIO): add record & replay plugin (#411)
chsami Apr 23, 2026
2dca16f
Merge pull request #412 from chsami/development
chsami Apr 23, 2026
3a39866
Add Sisyphus: Infernal Pact plugin - Yama's Lair stepping-stone autom…
papakonnekt May 3, 2026
5be535b
fix(MKE_Wintertodt): brazier behavior, snowfall-safe fletch, antiban …
runsonmypc May 3, 2026
590e6fa
fix(auto-looter): stop world-hopping while walking to/from bank (#421)
runsonmypc May 3, 2026
680e8e8
Jad helper tuning (#420)
JThomasDevs May 3, 2026
cbf11a7
feat(AIOAIO): record walks via destination polling (#419)
dginovker May 3, 2026
07bfbc0
fix(qol): drop FieldUtil reflective writes that crash on client 2.5.4…
runsonmypc May 3, 2026
7173fb5
fix(aiofighter): make NPC attack work inside instances (#417)
runsonmypc May 3, 2026
e1cb596
feat(Kraken): slayer-task gate, food check, spawn recovery, fix Leagu…
runsonmypc May 3, 2026
e9ec3f9
fix(QoL): drop FieldUtil static-final hacks (#415)
TheHaliax May 3, 2026
12366df
fix(moonsofperil): retry walker to reach boss lobby reliably (#413)
runsonmypc May 3, 2026
087a344
feat: add Shilo Village and Anywhere options to jewelry crafter (#414)
runsonmypc May 3, 2026
d7873ac
Development to main (#427)
chsami May 3, 2026
2a6cd3c
first commit
JThomasDevs May 8, 2026
babbc74
Add Colosseum Prayer Helper Plugin (#429)
chsami May 8, 2026
6b65bc6
fix: guard AIO Fighter slayer blacklist config
sami3p May 10, 2026
d07eb1d
fix(themess): rewrite script for batch correctness and burn recovery …
runsonmypc May 10, 2026
5df19c4
fix(auto-smelting): rewrite bail-on-transient-state checks (#433)
runsonmypc May 11, 2026
a5a0e85
fix: update version to 1.2.2 and add ITEM_NAME_SUFFIX_PATTERN regex
sami3p May 18, 2026
e7135ef
feat(LeaguesToolkit): add Demonic Gorilla, Hespori, Kraken helpers an…
mdp18 May 18, 2026
0bee498
fix(birdhouse): rewrite seed matching, optimize state machine (#439)
runsonmypc May 18, 2026
af59821
fix(MKE_Wintertodt): skip brazier maintenance while chopping roots (#…
runsonmypc May 18, 2026
c26320a
fix(leftclickcast): dropdown sync + preserve Attack on right-click (#…
runsonmypc May 18, 2026
e48d683
fix(BlastoiseFurnace): inline ITEM_NAME_SUFFIX_PATTERN to unblock dev…
runsonmypc May 18, 2026
666ae39
feat(BanksShopper): direct-click bank/NPC, walker only when needed (#…
runsonmypc May 18, 2026
2ff8ad7
fix(BlastoiseFurnace): remove duplicate ITEM_NAME_SUFFIX_PATTERN decl…
sami3p May 18, 2026
936ac1a
feat(FarmTreeRun): compost type selection, leprechaun support, and bu…
runsonmypc May 20, 2026
edf3b47
Feat/butterfly catcher plugin (#448)
stonksCode May 22, 2026
4d9b375
fix(combat-hotkeys): move prayer toggles off key event thread (#447)
stonksCode May 22, 2026
a4fe1aa
feat(birdhouse): disable teleports on Fossil Island, force southern r…
runsonmypc May 22, 2026
ecebab1
fix(GiantSeaweedFarmer): broken state detection, stale state, unclean…
runsonmypc May 22, 2026
d7e70e4
fix(FarmTreeRun): remove isAnimating, shared leprechaun helper, withd…
runsonmypc May 22, 2026
75ce253
fix(cluesolver): client-thread safety for clue task classes (#452)
pjmarz May 25, 2026
a8b2870
fix(birdhouse): block rubber cap mushroom transports on Fossil Island…
runsonmypc May 25, 2026
feb7bb9
fix(PestControlPlugin): update version to 2.3.4 and enhance special a…
sami3p May 26, 2026
552bf44
Merge remote-tracking branch 'origin/development' into development
sami3p May 26, 2026
2bec2c8
fix(birdhouse): invoke Rs2Walker in TELEPORTING state, hardcode musht…
runsonmypc May 25, 2026
20eb85c
fix(birdhouse): manually teleport via digsite pendant instead of rely…
runsonmypc May 25, 2026
d0c98f3
chore(birdhouse): bump version to 1.1.4
runsonmypc May 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
303 changes: 303 additions & 0 deletions .claude/skills/debugger/SKILL.md

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,4 @@ nb-configuration.xml
nbproject/
public/**
/CreatePluginDocs.ps1
.worktrees/
238 changes: 0 additions & 238 deletions AGENTS.md

This file was deleted.

1 change: 1 addition & 0 deletions AGENTS.md
31 changes: 31 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,8 @@ If a plugin needs additional libraries beyond the Microbot client:

## Testing and Debugging Plugins

**Before chasing a "script does nothing" bug, read [`docs/PLUGIN_DEBUGGING_NOTES.md`](docs/PLUGIN_DEBUGGING_NOTES.md).** It documents the recurring failure modes in Hub plugins (instanced-region coordinate mismatches, the new Queryable API not auto-walking, null-guard predicates masking broken lookups, static field leakage across plugin restarts, etc.) and the agent-server `curl` workflow for inspecting live state instead of theorizing from code.

### Running Plugins in Debug Mode

1. Edit `src/test/java/net/runelite/client/Microbot.java`
Expand Down Expand Up @@ -207,6 +209,35 @@ Key capabilities for Hub plugin testing:
- **Script lifecycle**: Start/stop plugins by class name via HTTP, poll runtime status, submit and retrieve structured test results.
- **Java result API**: Hub scripts can call `ScriptResultStore.submit(className, data)` directly from within the JVM.

## Dynamic Script Deployment (Hot-Reload)

**Core Mechanism:** Compile Java source → load via custom URLClassLoader → inject into Guice → start as a RuneLite plugin. No client restart needed.

**HTTP endpoints (127.0.0.1:8081):**
- `POST /scripts/deploy` — compile & start
- `POST /scripts/deploy/reload` — recompile in place
- `POST /scripts/deploy/undeploy` — stop & unload
- `GET /scripts/deploy` — list deployments

**Core files:** `agentserver/scripting/DynamicScriptManager.java`, `DynamicScriptCompiler.java`, `handler/DynamicScriptDeployHandler.java`

### Supporting Systems

1. **microbot-cli** — bash wrapper for the agent server (`./microbot-cli scripts deploy|reload|undeploy|health|results`)
2. **Agent Server API** — query state (NPCs, objects, inventory, widgets) and drive the client (walk, interact, dialogue). Full reference in `docs/AGENT_SERVER.md`.
3. **Probe plugin pattern** — minimal `@PluginDescriptor` classes deployed to inspect engine state, iterate with hot-reload. Used by the `/debugger` skill.
4. **StateMachineScript** — base class for multi-phase scripts; transitions observable via `GET /debug/snapshot?script=Name`.
5. **ScriptResultStore** — scripts submit results in-process; retrieve via `/scripts/results` for test workflows.
6. **`scripts/test_hot_reload.py`** — working end-to-end example of the deploy/reload/undeploy lifecycle.

### Typical Loop

```
edit source → microbot-cli scripts reload → microbot-cli scripts health → observe logs → repeat
```

Everything binds to `127.0.0.1` only.

## Common Patterns

- Plugins extending `SchedulablePlugin` implement `getStartCondition()` and `getStopCondition()` for scheduler integration
Expand Down
13 changes: 13 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@ apply from: 'gradle/plugin-utils.gradle'
def microbotClientVersion = project.ext.getMicrobotClientVersion()
def microbotClientPath = project.findProperty("microbotClientPath")

if (!microbotClientPath && project.hasProperty("microbotClientDir")) {
def clientDir = file(project.findProperty("microbotClientDir"))
if (clientDir.isDirectory()) {
def match = clientDir.listFiles()?.findAll { it.name ==~ /microbot-.*\.jar/ && !it.name.contains('sources') && !it.name.contains('shaded') }
?.sort { -it.lastModified() }
?.first()
if (match) {
microbotClientPath = match.absolutePath
logger.lifecycle("🤖 Resolved local microbot client JAR: ${microbotClientPath}")
}
}
}

// Java toolchain configuration
java {
toolchain {
Expand Down
Loading