Skip to content

codeXcn/Nidalee

Repository files navigation

🎮 Nidalee

Nidalee Logo

High-performance, lightweight assistant for League of Legends.

Nidalee integrates auto-accept, auto pick/ban, real-time data insights, and customizable settings to help you climb efficiently and safely. Powered by Rust + Tauri for fast startup and low resource usage.

License: CC BY-NC-SA 4.0 Platform Platform Tauri Vue Rust Version Downloads

English | 简体中文


⏱️ Quick Start

  1. Download the latest installer from the Releases page
  2. Install and launch the app; start your League client and log in
  3. The app auto-connects to the client; see the sidebar for updater status

If automatic update fails at any time, click “Go to manual download” in-app or open the Releases page.

✨ Features

  • 🤖 Automation: auto-accept, auto pick/ban
  • 📈 Insights: real-time analysis and statistics
  • 🎯 Personalization: flexible presets, profile backgrounds, etc.
  • 🔒 Safety: interacts only with official League Client API (LCU)

⚡ Quick Preview

Update flow - placeholder

Updater UX: check → download → install, with a manual fallback link.

Match analysis - placeholder

Match analysis: team stats, lane matchups, and insights.

💡 Why Nidalee

  • Built around LoL’s core flows: accept, pick/ban, match insights; lightweight and easy to use.
  • Rust + Tauri deliver fast startup and low footprint for long-running sessions.
  • Modern UI via shadcn-vue + Tailwind v4; consistent dark/light themes.
  • Clear distribution & signature policy; only official releases are trusted.

What this is (and isn’t)

  • This is: a desktop assistant based on the official LCU; automation limited to client-exposed interfaces; focused on pick/ban and data insights.
  • This isn’t: memory/process injection, packet tampering, scripts, or any cheat.

System Overview

  • Lightweight & performant: fast startup, low resource usage.
  • Auto update: silent check on launch; one-click update in sidebar; fallback to manual download on failure.
  • Trusted distribution: official Releases only, with detached signatures (.sig) to verify integrity.
  • Modern UI & themes: OKLCH palette, clean and readable design.
  • Stable & extensible: modular, composition-friendly codebase.
  • Maintainers: see signing & security notes in docs/tauri-signing.md.

📦 Installation

Tip: If an in-app update fails, open the Releases page and install manually.

System Requirements:

  • Windows 10/11 (x64)
  • macOS 12+ (Intel / Apple Silicon)
  • Tip: Running as Administrator (Windows) can make installation/updates smoother

Platform matrix:

Platform CPU Architectures Package
Windows x64 .msi
macOS Intel, Apple Silicon (M*) .dmg

Installation (Windows)

  1. Download the .msi
  2. Double‑click to install
  3. Launch the app; it silently checks for updates on startup (progress shown in the sidebar)

Installation (macOS)

  1. Download the .dmg and open it
  2. Drag the app into the Applications folder
  3. On first launch, if blocked by Gatekeeper, right‑click the app in Applications → Open (or allow from System Settings → Privacy & Security)

🚀 Development

Requirements

  • Node.js 20+
  • pnpm 10+
  • Rust 1.70+
  • Tauri CLI 2.0+

Local Development

git clone https://github.com/codeXcn/Nidalee.git
cd Nidalee

# Install deps
pnpm install

# Dev (Tauri)
pnpm tauri dev

# Build (Tauri)
pnpm tauri build

Project Structure

Nidalee/
├── src/                    # Vue frontend
├── src-tauri/              # Tauri Rust backend
├── .github/workflows/      # GitHub Actions CI/CD
├── dist/                   # Build output
└── docs/                   # Documentation

📋 Feature Checklist

  • Base scaffolding
  • League Client API integration
  • CI/CD automated releases
  • User info and profiling
  • Auto accept match
  • Auto pick/ban
  • Game data analysis
  • Settings UI
  • i18n

📖 Documentation

For comprehensive documentation, see the docs/ folder or visit the Documentation Center.

Quick Links

🤝 Contributing

We welcome contributions! Please read our Contributing Guide for detailed information on:

  • Development workflow
  • Code standards
  • Commit conventions (Conventional Commits)
  • Branch naming rules
  • Pull request process

Quick Start for Contributors

  1. Fork and clone: git clone https://github.com/<yourname>/Nidalee.git
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Install & run: pnpm install && pnpm tauri dev
  4. Make changes and test
  5. Run checks: pnpm lint && pnpm type-check
  6. Submit a PR with clear description

For release process, see the Release Guide.

🌐 Network & Download

  • Downloads use GitHub Releases and may be slow in some regions.
  • If a download fails, the app shows “Go to manual download” to open the official Releases page.
  • Additional mirrors may be provided later and will be announced here and in‑app.

🛠️ Troubleshooting

  • Update fails / stuck: use “Go to manual download” and install from Releases.
  • Windows SmartScreen: click “More info” → “Run anyway”, or unblock in file Properties.
  • macOS Gatekeeper: allow the app in System Settings → Privacy & Security, or right‑click → Open in Finder to bypass the first‑run block.
  • Cannot connect to LCU: ensure the League client is running; restart if needed; try running as Administrator; check logs.
  • Permissions / write errors: run as Administrator; if still failing, re‑install from Releases; ensure the install path is writable.

📄 License

Licensed under CC BY‑NC‑SA 4.0.

See the LICENSE file for full terms.

⚠️ Disclaimer

This project is an auxiliary tool for League of Legends. All features rely on Riot Games’ official League Client API (LCU API) and local client data.

This tool does not modify, inject, or tamper with game memory, processes, or network data, nor provide any cheating/automation beyond LCU‑based interactions.

  • Use must comply with the game’s user agreement and relevant policies.
  • No personal sensitive data is collected or uploaded by this project.
  • This project is not affiliated with Riot Games or Tencent and is not officially endorsed.
  • You are solely responsible for any consequences arising from usage.

Built with ❤️ using Tauri 2.0 + Vue.js