Acculi is a Firefox (and Chrome) extension that enhances the Lichess experience by displaying correspondence chess statistics in user popups, profiles, and lists.
- 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
- Clone the repository:
git clone https://github.com/plaguna/acculi.git
cd acculi- Install dependencies:
npm install
# OR
pnpm install- Build the extension:
npm run build- Load the extension into your browser:
- Firefox: Open
about:debugging#/runtime/this-firefox→ Load Temporary Add-on → Select thedistfolder - Chrome/Edge: Go to
chrome://extensions/→ Enable Developer Mode → Load Unpacked → Select thedistfolder
- Firefox: Open
Download a release ZIP file from the releases page and follow the browser-specific installation instructions above.
Simply visit any page on lichess.org and:
- Hover over usernames in tables, lists, or profiles to see their correspondence stats in a popup
- Visit user profile pages to see stats in the correspondence performance section
- 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
Watch for changes and auto-rebuild:
npm run dev
# OR
pnpm devnpm run build- Build the extension for productionnpm run package- Create release ZIP files for all browsersnpm run lint- Run linternpm run format- Format code with biome
- Firefox: 140.0+
- Chrome: 109+
- Edge: 109+
- 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
The extension fetches data from the Lichess API: https://lichess.org/api/user/{username}/perf/correspondence
Contributions are welcome! Please ensure you:
- Follow the project's coding style
- Add tests if adding new functionality
- Update documentation as needed
- Build and test your changes locally before submitting
MIT License - see LICENSE file for details
Created as a Firefox-first extension for the Lichess community
- Uses Lichess's design system and color variables
- Built with esbuild for fast builds
- Code formatting with Biome