Skip to content

plaguna/acculi

Repository files navigation

Acculi

Acculi is a Firefox (and Chrome) extension that enhances the Lichess experience by displaying correspondence chess statistics in user popups, profiles, and lists.

Features

  • User Popups: Shows W/D/L stats when hovering over users
  • Profile Pages: Displays correspondence stats on user profile pages
  • Performance Indicator: Visual indicator showing win rate percentage with a cheater likelihood assessment
  • Caching: Efficient API caching to minimize request rates
  • Rate Limiting: Automatic handling of Lichess API rate limits

Installation

From Source

  1. Clone the repository:
git clone https://github.com/plaguna/acculi.git
cd acculi
  1. Install dependencies:
npm install
# OR
pnpm install
  1. Build the extension:
npm run build
  1. Load the extension into your browser:
    • Firefox: Open about:debugging#/runtime/this-firefox → Load Temporary Add-on → Select the dist folder
    • Chrome/Edge: Go to chrome://extensions/ → Enable Developer Mode → Load Unpacked → Select the dist folder

From Release

Download a release ZIP file from the releases page and follow the browser-specific installation instructions above.

Usage

Simply visit any page on lichess.org and:

  1. Hover over usernames in tables, lists, or profiles to see their correspondence stats in a popup
  2. Visit user profile pages to see stats in the correspondence performance section
  3. Look for the indicator on profile pages showing win rate percentage with a cheater likelihood symbol:
    • ✓ (Checkmark): Low cheater likelihood
    • △ (Triangle): Moderate cheater likelihood
    • ✕ (X): High cheater likelihood
    • ? (Question mark): Insufficient data or unavailable

Building and Development

Development Mode

Watch for changes and auto-rebuild:

npm run dev
# OR
pnpm dev

Build Scripts

  • npm run build - Build the extension for production
  • npm run package - Create release ZIP files for all browsers
  • npm run lint - Run linter
  • npm run format - Format code with biome

Browser Compatibility

  • Firefox: 140.0+
  • Chrome: 109+
  • Edge: 109+

Architecture

Key Components

  • manifest.json: Extension configuration and permissions
  • content-script.js: Main content script that interacts with Lichess pages
  • content-style.css: Styling for the extension's UI elements
  • build.mjs: Build script using esbuild to bundle and minify content-script.js
  • package.mjs: Packaging script to create release ZIP files

API Usage

The extension fetches data from the Lichess API: https://lichess.org/api/user/{username}/perf/correspondence

Contributing

Contributions are welcome! Please ensure you:

  1. Follow the project's coding style
  2. Add tests if adding new functionality
  3. Update documentation as needed
  4. Build and test your changes locally before submitting

License

MIT License - see LICENSE file for details

Author

Created as a Firefox-first extension for the Lichess community

Acknowledgments

  • Uses Lichess's design system and color variables
  • Built with esbuild for fast builds
  • Code formatting with Biome

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors