A terminal-based application to fetch and display a player's League of Legends statistics, built with Node.js and the Riot Games API.
- Interactive TUI: A full-featured, mouse and keyboard-driven Text-based User Interface.
- Live Game Viewer: See live game data, including champion, role, game time, and more.
- Enhanced Summary: View most played champions and total playtime from the last 10 games.
- Detailed Match History: Get a summary of the last 10 games and expand for in-depth details.
- In-Depth Analysis: See performance stats, KDA graphs, gold generation, items, runes, and more.
- Champion Mastery: View your Champion Mastery profile for any champion played.
- Match Timeline: Get a full-screen, scrollable log of all major events in a match.
- Smart Game Status: Automatically detects and labels "Remake" and "Arena" games.
| Description | Screenshot |
|---|---|
| Search Screen | ![]() |
| Results Screen | ![]() |
| Expanded Match | ![]() |
| Mastery Screen | ![]() |
| Timeline Screen | ![]() |
| Live Game | ![]() |
-
Clone the Repository
git clone https://github.com/AntApper/lol-cli.git cd lol-cli -
Install Dependencies
npm install
To fetch data from the Riot Games API, you need to provide a valid API key.
-
Create a
.envFile Create a new file named.envin the root of the project directory.touch .env
-
Add Your API Key Open the
.envfile and add your Riot API key:RIOT_API_key="your_api_key_here"Get a free development API key from the Riot Developer Portal.
Note for binary users: If you are using the pre-built binary, you need to place the .env file in the same directory as the executable.
To run the application in a development environment, use:
npm startTo create a standalone executable, run:
npm run buildThis will generate a binary file (e.g., lol-cli) in the project's root directory.
./lol-cliYou can also pass arguments directly:
./lol-cli -r <region> -i '<gameName#tagLine>'- Search Screen:
Enter: Move between fields and submit.Arrow Keys: Navigate lists.Esc/q/Ctrl+C: Quit.
- Results Screen:
Enter: Expand/collapse a match.m: View Champion Mastery for the selected match.t: View Match Timeline for the selected match (when expanded).b: Go back to the search screen.q: Quit.
- Mastery Screen:
b: Go back to the results screen.
- Timeline Screen:
b: Go back to the results screen.
Contributions are welcome!
Please read our Contributing Guidelines to get started. Also, please read our Code of Conduct to understand our community standards.
This project is licensed under the MIT License - see the LICENSE file for details.






