RuneLite plugin for "Bronzeman mode" - unlock items before trading them. Play solo or sync with group via Firebase.
BEFORE exploring the codebase for any task, ALWAYS check claude-docs/ first.
Common tasks have documented workflows in claude-docs/workflows/:
- add-service.md - Adding new services
- add-policy.md - Adding game rule enforcement
- add-event.md - Adding event types
→ See claude-docs/workflows/ for all workflows
Only explore the codebase if:
- No relevant workflow exists in claude-docs/
- You need to find a specific reference implementation mentioned in the docs
- The task is truly unique and not covered
- Language: Java 8
- Framework: RuneLite Client API
- Build: Gradle
- Annotations: Lombok
- Remote Storage: Firebase Realtime Database (SSE)
- Serialization: Gson
bronzeman-unleashed/
├── claude-docs/ # PROJECT DOCUMENTATION - CHECK FIRST
├── src/main/java/com.elertan/
│ ├── BUPlugin.java # Entry point
│ ├── *Service.java # Domain services
│ ├── policies/ # Game rule enforcement
│ ├── data/ # Data providers (Firebase sync)
│ ├── remote/firebase/ # Firebase adapters
│ ├── panel/ # UI (MVVM)
│ ├── event/ # Event system
│ ├── chat/ # Chat parsing
│ ├── models/ # Data models
│ └── utils/ # Utilities
└── build.gradle # Build config
- All services/policies implement
BUPluginLifecyclewithstartUp()/shutDown() - Policies extend
PolicyBaseand usecreateContext().shouldApplyForRules() - Data providers extend
AbstractDataProviderfor Firebase sync - Panel uses MVVM: Views bind to ViewModels extending
BaseViewModel - Storage uses port/adapter pattern: interfaces in
remote/, Firebase impls inremote/firebase/
- Workflows ← Start here for any task
- Architecture Overview
- Conventions
- Services
- Policies
- Data Providers
- Panel UI
Indexed: 2025-12-29 | Hash: a1cd0aefda59be2b47dcf9309f2c8ebb41b7f578