A modern TypeScript library for Old School RuneScape (OSRS) data and utilities. Built for developers creating tools, bots, web applications, and analytics around OSRS content.
📦 Type-safe 🚀 Well-tested 📚 Documented 🔄 Actively maintained
Explore the project interactively on CodeSandbox:
- Node.js 16.x or higher
- TypeScript 4.9+
npm install osrs-toolsFor account-related features (hiscores, stats):
npm install osrs-json-hiscoresimport { QuestTool, Quest } from 'osrs-tools';
// Get quest information
const dragonSlayer = QuestTool.getQuestByName('Dragon Slayer');
console.log(dragonSlayer.requirements);
// Check quest completion requirements
const questTool = new QuestTool();
questTool.setOsrsAccount(playerAccount);
const canComplete = questTool.canCompleteQuest(dragonSlayer);import { Duradel } from 'osrs-tools';
// Get master's task list
const tasks = Duradel.tasks;
// Get random assignment
const task = Duradel.getRandomTask();
console.log(task.name); // e.g., "Abyssal demons"
console.log(task.requirements); // Shows requirementsimport { OsrsAccount } from 'osrs-tools';
// Create/load account
const account = OsrsAccount.fromJson({
name: 'Player123',
skills: {
attack: { level: 60 },
strength: { level: 55 },
defence: { level: 50 },
},
});
// Get skill levels
const attackLevel = account.getSkill('attack')?.level;# Clone and setup
git clone https://github.com/jamescer/osrs-tools.git
cd osrs-tools
npm install
# Build and test
npm run build
npm test| Command | Description |
|---|---|
build |
Build the project |
test |
Run tests |
test:watch |
Run tests in watch mode |
lint |
Lint the code |
format |
Format the code |
docs |
Generate documentation |
We welcome contributions! We use Conventional Commits.
-
Fork and clone the repository
-
Create a branch (
feat/amazing-feature) -
Make your changes
-
Run tests (
npm test && npm run lint) -
Commit with conventional format:
feat: add quest requirement validation fix: correct slayer task weights docs: update API documentation
-
Push and open a Pull Request
- Add tests for new features
- Update documentation for changes
- Follow existing code style
- Keep changes focused
Need help or want to contribute?
MIT © James Cerniglia
- Author: James Cerniglia
- Contributors: View all contributors
- Data Source: Old School RuneScape Wiki