{"id":46479776,"url":"https://github.com/rounak77382/rivalnxt","last_synced_at":"2026-03-06T08:02:37.239Z","repository":{"id":324987128,"uuid":"1065187760","full_name":"Rounak77382/RivalNxt","owner":"Rounak77382","description":"Desktop mod manager for Marvel Rivals with conflict detection, automatic tag generation, NexusMods integration","archived":false,"fork":false,"pushed_at":"2026-02-14T09:37:43.000Z","size":4526,"stargazers_count":14,"open_issues_count":3,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-14T17:35:43.898Z","etag":null,"topics":["marvel-rivals","mod-manager","nexus-api","react","tauri-app"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rounak77382.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-27T08:13:37.000Z","updated_at":"2026-02-14T09:36:28.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Rounak77382/RivalNxt","commit_stats":null,"previous_names":["rounak77382/rivalnxt"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/Rounak77382/RivalNxt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rounak77382%2FRivalNxt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rounak77382%2FRivalNxt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rounak77382%2FRivalNxt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rounak77382%2FRivalNxt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rounak77382","download_url":"https://codeload.github.com/Rounak77382/RivalNxt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rounak77382%2FRivalNxt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30166866,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T07:56:45.623Z","status":"ssl_error","status_checked_at":"2026-03-06T07:55:55.621Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["marvel-rivals","mod-manager","nexus-api","react","tauri-app"],"created_at":"2026-03-06T08:02:36.210Z","updated_at":"2026-03-06T08:02:37.218Z","avatar_url":"https://github.com/Rounak77382.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\r\n\r\n\u003cimg src=\"./src-tauri/icons/frontendlogo.ico\" alt=\"RivalNxt Logo\" width=\"128\" height=\"128\"\u003e\r\n\r\n# RivalNxt\r\n\r\n### Marvel Rivals Mod Manager\r\n\r\n_One desktop app to manage, activate, and validate Marvel Rivals mods with conflict detection, NexusMods integration, and blazing-fast local database._\r\n\r\n[![Windows](https://img.shields.io/badge/platform-Windows-0078D6?style=for-the-badge\u0026logo=windows\u0026logoColor=white)](#installation)\r\n[![Python](https://img.shields.io/badge/Python-3.10+-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white)](https://python.org)\r\n[![React](https://img.shields.io/badge/React-18+-61DAFB?style=for-the-badge\u0026logo=react\u0026logoColor=black)](https://reactjs.org)\r\n[![Rust](https://img.shields.io/badge/Rust-1.70+-DEA584?style=for-the-badge\u0026logo=rust\u0026logoColor=black)](https://rustlang.org)\r\n[![Tauri](https://img.shields.io/badge/Tauri-2.0-FFC131?style=for-the-badge\u0026logo=tauri\u0026logoColor=black)](https://tauri.app)\r\n\r\n[Features](#-features) • [Installation](#-installation) • [Development Guide](#-development-guide) • [Contributing](#-contributing)\r\n\r\n\u003c/div\u003e\r\n\r\n---\r\n\r\n## ✨ Features\r\n\r\n**🎯 Core Functionality**\r\n\r\n- **Smart Mod Management** - Activate, deactivate, and organize mods with per-mod and bulk actions\r\n- **Conflict Detection** - Automatic detection and resolution of mod conflicts with tag rebuilding\r\n- **Auto-Detection** - Automatically detects Marvel Rivals installation path via Steam/Epic Games registry and archive tools (WinRAR)\r\n- **One-Click Downloads** - Click \"Download with Mod Manager\" on NexusMods to instantly download and install mods\r\n- **Background Processing** - Automatic download processing via NXM protocol without manual intervention\r\n\r\n**🔧 Technical Highlights**\r\n\r\n- **Local-First Database** - Portable SQLite with health checks and inspection utilities\r\n- **Rust-Powered Core** - Native Rust `rust-ue-tools` library with PyO3 bindings via Maturin\r\n- **Modern Tech Stack** - Tauri 2 desktop shell + React/Vite frontend + FastAPI/Python backend\r\n- **CI/CD Automation** - GitHub Actions workflow for automated builds and releases\r\n- **One-Click Build** - Complete build script for easy local development setup\r\n\r\n**🌐 NexusMods Integration**\r\n\r\n- **Browser Integration** - \"Download with Mod Manager\" button on NexusMods automatically opens RivalNxt\r\n- **NXM Protocol** - Bi-directional handoff system with Windows registry integration\r\n- **Background Processing** - Automatic download processing via `NxmBackgroundListener` component\r\n- **API Integration** - Metadata fetching and update notifications\r\n- **Test Functionality** - Built-in protocol validation tools\r\n\r\n**⚡ Rust UE Tools Library**\r\n\r\n- **PyO3 Integration** - Python bindings built with Maturin for seamless interop\r\n- **Native Performance** - Rust library replaces slow Python/external tool processing\r\n- **PAK/UTOC Support** - Direct unpacking and listing without external CLI dependencies\r\n- **AES Encryption** - Built-in support for encrypted mod files\r\n- **Batch Processing** - Parallel processing for multiple mod files\r\n- **Archive Support** - Handles ZIP and RAR archives containing mod files\r\n\r\n## 🚀 Installation\r\n\r\n### 1. Download the Installer\r\n\r\n- Go to the **Releases** page.\r\n- Download the latest setup file, for example:\r\n  **`RivalNxt_0.5.0_x64-setup.exe`** (or any newer version).\r\n\r\n### 2. Install \u0026 Launch\r\n\r\n- Run the installer.\r\n- Launch the application after installation completes.\r\n\r\n### 3. Configure Paths\r\n\r\nRivalNxt can **automatically detect** your Marvel Rivals installation if installed via Steam or Epic Games Store.\r\n\r\nIn **Settings**:\r\n\r\n- **Local downloads directory** → Select the folder where your Marvel Rivals mods are downloaded/saved (create anywhere or use existing folder)\r\n- **Nexus Personal API Key** → Get your [API key](https://next.nexusmods.com/settings/api-keys) (scroll all the way down) and paste it into RivalNxt\r\n\r\n\u003e 💡 **Tip**: The app also auto-detects archive tools (WinRAR) for extracting mod files.\r\n\r\n#### ⚠️ Mod Folder Naming Convention\r\n\r\nEvery mod inside your `marvel_rivals_local_downloads_root` directory must follow this format:\r\n\r\n`\u003cname\u003e-\u003cmodid\u003e-\u003cversion\u003e`\r\n\r\nExample: `CoolSkin-12345-1.0.0`\r\n\r\nThis helps the app detect and track mods accurately.\r\n\r\n### 5. You're Ready to Use the App\r\n\r\nNo Node.js, Rust, or Python is needed for normal usage.\r\n\r\n### For Developers\r\n\r\nSee the [Development Guide](#-development-guide) below.\r\n\r\n## 🏗️ Architecture\r\n\r\n```mermaid\r\n%%{init: {\r\n  \"flowchart\": {\r\n    \"nodeSpacing\": 40,\r\n    \"rankSpacing\": 40\r\n  }\r\n}}%%\r\nflowchart LR\r\n    FE[\"🎨 React + Vite\"]\r\n    Tauri[\"🖥️ Tauri 2.0\"]\r\n    API[\"⚙️ FastAPI\"]\r\n    DB[(\"💾 SQLite\")]\r\n    RustUE[\"📦 Rust UE Tools\"]\r\n\r\n    FE \u003c--\u003e|HTTP/IPC| Tauri\r\n    Tauri \u003c--\u003e|HTTP| API\r\n    API \u003c--\u003e|ORM| DB\r\n    API \u003c--\u003e|PyO3| RustUE\r\n    Tauri \u003c--\u003e|Rust API| RustUE\r\n\r\n    classDef frontend fill:#61dafb,stroke:#333,stroke-width:2px,color:#000\r\n    classDef desktop fill:#ffc131,stroke:#333,stroke-width:2px,color:#000\r\n    classDef backend fill:#009688,stroke:#333,stroke-width:2px,color:#fff\r\n    classDef shared fill:#dea584,stroke:#333,stroke-width:2px,color:#000\r\n    classDef data fill:#4caf50,stroke:#333,stroke-width:2px,color:#fff\r\n\r\n    class FE frontend\r\n    class Tauri desktop\r\n    class API backend\r\n    class RustUE shared\r\n    class DB data\r\n\r\n\r\n```\r\n\r\n**Tech Stack**\r\n\r\n- **Frontend**: React 18, TypeScript, Vite 6, Radix UI, Tailwind CSS\r\n- **Backend**: Python 3.10+, FastAPI, Uvicorn, SQLAlchemy\r\n- **Desktop**: Tauri 2.0 (Rust), Windows native\r\n- **Rust UE Tools**: Native Rust library with dual interfaces (Rust API + PyO3 bindings via Maturin)\r\n- **Database**: SQLite with optimized materialized views\r\n\r\n## 🦀 Rust UE Tools Library\r\n\r\nRivalNxt includes a high-performance native Rust library (`rust-ue-tools`) that provides programmatic access to Unreal Engine PAK and UTOC file operations, replacing external command-line tools like `repak` and `retoc_cli`.\r\n\r\n### Key Features\r\n\r\n- **✅ PAK File Support**: Unpack .pak files without external tools\r\n- **✅ UTOC File Support**: List contents of .utoc files (UE5 IoStore format)\r\n- **✅ AES Encryption**: Handle encrypted mod files with proper key management\r\n- **✅ Compression Support**: Full support for Oodle, Zstd, Zlib, LZ4 compression\r\n- **✅ Archive Processing**: Extract ZIP and RAR archives containing mod files\r\n- **✅ Parallel Processing**: Leverage Rayon for concurrent file operations\r\n- **✅ Python Bindings**: PyO3 integration for seamless Python usage\r\n\r\n### Usage Examples\r\n\r\n#### Basic Asset Path Extraction\r\n\r\n```rust\r\nuse rust_ue_tools::Unpacker;\r\n\r\nlet unpacker = Unpacker::new();\r\nlet zip_path = \"mod_file.zip\";\r\nlet aes_key = Some(\"0C263D8C22DCB085894899C3A3796383E9BF9DE0CBFB08C9BF2DEF2E84F29D74\");\r\n\r\nmatch unpacker.extract_asset_paths_from_zip(zip_path, aes_key, false) {\r\n    Ok(asset_paths) =\u003e {\r\n        for asset in asset_paths {\r\n            println!(\"Asset: {}\", asset);\r\n        }\r\n    }\r\n    Err(e) =\u003e {\r\n        println!(\"Error: {}\", e);\r\n    }\r\n}\r\n```\r\n\r\n#### PAK File Unpacking\r\n\r\n```rust\r\nuse rust_ue_tools::{Unpacker, PakUnpackOptions};\r\n\r\nlet unpacker = Unpacker::new();\r\nlet options = PakUnpackOptions::new()\r\n    .with_aes_key(aes_key.unwrap_or_default())\r\n    .with_strip_prefix(\"../../../\")\r\n    .with_force(true)\r\n    .with_quiet(false);\r\n\r\nmatch unpacker.unpack_pak(\"mod.pak\", \"output_dir\", \u0026options) {\r\n    Ok(asset_paths) =\u003e {\r\n        println!(\"Unpacked {} files\", asset_paths.len());\r\n    }\r\n    Err(e) =\u003e {\r\n        println!(\"Error unpacking: {}\", e);\r\n    }\r\n}\r\n```\r\n\r\n#### UTOC File Listing\r\n\r\n```rust\r\nuse rust_ue_tools::{Unpacker, UtocListOptions};\r\n\r\nlet unpacker = Unpacker::new();\r\nlet options = UtocListOptions::new()\r\n    .with_aes_key(aes_key.unwrap_or_default())\r\n    .with_json_format(false);\r\n\r\nmatch unpacker.list_utoc(\"mod.utoc\", \u0026options) {\r\n    Ok(asset_paths) =\u003e {\r\n        for asset in asset_paths {\r\n            println!(\"Asset: {}\", asset);\r\n        }\r\n    }\r\n    Err(e) =\u003e {\r\n        println!(\"Error listing: {}\", e);\r\n    }\r\n}\r\n```\r\n\r\n### Migration from Python\r\n\r\nThe Rust library replaces the original Python `zip_to_asset_paths.py` script:\r\n\r\n**Before (Python)**\r\n\r\n```python\r\nfrom core.assets.zip_to_asset_paths import extract_uasset_paths_from_zip\r\n\r\nasset_paths = extract_uasset_paths_from_zip(\r\n    \"mod.zip\",\r\n    repak_bin=\"path/to/repak\",\r\n    aes_key=\"your-key\"\r\n)\r\n```\r\n\r\n**After (Rust)**\r\n\r\n```rust\r\nuse rust_ue_tools::Unpacker;\r\n\r\nlet unpacker = Unpacker::new();\r\nlet asset_paths = unpacker.extract_asset_paths_from_zip(\r\n    \"mod.zip\",\r\n    Some(\"your-key\"),\r\n    false\r\n)?;\r\n```\r\n\r\n### Building from Source\r\n\r\n```bash\r\n# Build with Maturin (recommended for PyO3 bindings)\r\ncd src-tauri/src/rust-ue-tools\r\nmaturin build --release --features pyo3\r\n\r\n# Install the built wheel\r\npip install target/wheels/*.whl\r\n\r\n# Manual Rust build (library only)\r\ncargo build --release --features pyo3\r\n\r\n# Run tests\r\ncargo test\r\n\r\n# Build documentation\r\ncargo doc --open\r\n```\r\n\r\n### Performance Benefits\r\n\r\n- **🚀 10-50x Faster**: Native Rust vs Python subprocess calls\r\n- **📦 No External Dependencies**: Eliminates repak.exe/retoc_cli.exe requirements\r\n- **💾 Memory Efficient**: Streams data instead of loading entire files\r\n- **🔄 Parallel Processing**: Rayon-powered concurrent operations\r\n- **📊 Progress Tracking**: Built-in progress reporting for long operations\r\n- **🐍 Python Integration**: Maturin-based PyO3 bindings for seamless Python usage\r\n\r\n## 💻 Development Guide\r\n\r\n### Prerequisites\r\n\r\n- Windows 10/11 (for desktop builds)\r\n- Node.js 18+ and npm\r\n- [Rust toolchain](https://rustup.rs/) via rustup\r\n- Python 3.10+\r\n- [Maturin](https://www.maturin.rs/) for PyO3 builds: `pip install maturin`\r\n- Git\r\n\r\n### Quick Start (One-Click Build)\r\n\r\nFor new users, use the automated build script that handles everything:\r\n\r\n```bash\r\n# Clone repository with submodules\r\ngit clone --recurse-submodules https://github.com/Rounak77382/Project_ModManager_Rivals.git\r\ncd Project_ModManager_Rivals\r\n\r\n# Run one-click build (Windows)\r\n.\\build_local.bat\r\n\r\n# This will:\r\n# 1. Install npm dependencies\r\n# 2. Build Rust UE Tools with PyO3 bindings\r\n# 3. Create Python wrapper module\r\n# 4. Build Python backend with PyInstaller\r\n# 5. Build Tauri application\r\n# 6. Generate NSIS installer\r\n```\r\n\r\n### Manual Development Setup\r\n\r\n```bash\r\n# 1. Clone repository with submodules\r\ngit clone --recurse-submodules https://github.com/Rounak77382/Project_ModManager_Rivals.git\r\ncd Project_ModManager_Rivals\r\n\r\n# If you already cloned without submodules:\r\ngit submodule update --init --recursive\r\n\r\n# 2. Install frontend dependencies\r\nnpm install\r\n\r\n# 3. Setup Python environment\r\npython -m venv .venv\r\n.venv\\Scripts\\Activate.ps1\r\npip install -r requirements.txt\r\npip install maturin  # For PyO3 builds\r\n\r\n# 4. Build Rust UE Tools with Maturin\r\ncd src-tauri/src/rust-ue-tools\r\nmaturin build --release --features pyo3\r\npip install target/wheels/*.whl\r\ncd ../../..\r\n\r\n# 5. Start development servers\r\n# Terminal 1: Backend\r\npython src-python/run_server.py\r\n\r\n# Terminal 2: Frontend\r\nnpm run dev\r\n\r\n# OR run full desktop app\r\nnpm run tauri:dev\r\n```\r\n\r\n### Build Commands\r\n\r\n```bash\r\n# One-click build (recommended)\r\n.\\build_local.bat\r\n\r\n# Manual builds\r\nnpm run build          # Production web build\r\nnpm run tauri:build    # Full desktop application\r\n\r\n# Rust UE Tools with Maturin\r\ncd src-tauri/src/rust-ue-tools\r\nmaturin build --release --features pyo3\r\nmaturin develop  # Install in development mode\r\n```\r\n\r\n### Project Structure\r\n\r\n```\r\n📦 RivalNxt\r\n├── 📁 core/                    # Python backend modules\r\n│   ├── api/                   # FastAPI endpoints (50+)\r\n│   ├── db/                    # SQLite + migrations\r\n│   ├── ingestion/             # File scanning \u0026 discovery\r\n│   ├── nexus/                 # NexusMods API client\r\n│   └── utils/                 # Shared utilities\r\n├── 📁 scripts/                # CLI automation (25+ tools)\r\n├── 📁 src/                    # React frontend\r\n│   ├── components/           # UI components\r\n│   ├── lib/                  # API client \u0026 utils\r\n│   └── styles/               # Tailwind CSS\r\n├── 📁 src-tauri/             # Rust desktop shell\r\n│   ├── src/rust-ue-tools/    # Native Rust library (Git submodule)\r\n│   │   ├── repak-rivals/    # Workspace with PAK/UTOC/Oodle\r\n│   │   ├── pyproject.toml   # Maturin build config\r\n│   │   └── Cargo.toml       # Rust workspace config\r\n│   └── src/main.rs           # Tauri main entry\r\n├── 📁 build_local.bat        # One-click build script\r\n├── 📁 .github/workflows/     # CI/CD automation\r\n└── 📁 src-python/            # Backend entry point\r\n```\r\n\r\n### Development Workflow\r\n\r\n**Code Standards**\r\n\r\n- Python: PEP 8 with type hints\r\n- TypeScript: Strict mode, React hooks patterns\r\n- Rust: Standard conventions with `tauri-plugin-*`\r\n\r\n#### Rust UE Tools Development\r\n\r\nWhen working on the Rust components, ensure you have the latest Rust toolchain:\r\n\r\n```bash\r\n# Update Rust toolchain\r\nrustup update stable\r\n\r\n# Check toolchain version\r\nrustc --version\r\n\r\n# Run Rust-specific tests\r\ncd src-tauri/src/rust-ue-tools\r\ncargo test\r\ncargo clippy  # Linting\r\ncargo fmt --check  # Code formatting check\r\n```\r\n\r\n**Rust Development Tools:**\r\n\r\n- **rust-analyzer** (VS Code extension) - IDE support\r\n- **cargo-watch** - Auto-recompile on changes: `cargo install cargo-watch`\r\n- **cargo-audit** - Security vulnerability checking: `cargo install cargo-audit`\r\n\r\n**Useful Commands**\r\n\r\n```\r\n# Database inspection\r\npython -X utf8 -m scripts.inspect_db\r\n\r\n# Database rebuild\r\npython -X utf8 -m scripts.rebuild_sqlite\r\n\r\n# Check missing metadata\r\npython -X utf8 -m scripts.report_missing_tags\r\n```\r\n\r\n**VS Code Extensions** (Recommended)\r\n\r\n- Python (ms-python.python)\r\n- Rust Analyzer (rust-lang.rust-analyzer)\r\n- TypeScript (ms-vscode.vscode-typescript-next)\r\n- Tailwind CSS (bradlc.vscode-tailwindcss)\r\n\r\n## 🤖 CI/CD Automation\r\n\r\nRivalNxt uses GitHub Actions for automated builds and releases.\r\n\r\n### Release Workflow\r\n\r\nWhen a new GitHub Release is published, the workflow automatically:\r\n\r\n1. **Builds PyO3 Module** - Uses Maturin to build Python wheel with Rust bindings\r\n2. **Packages Backend** - Creates standalone executable with PyInstaller\r\n3. **Builds Tauri App** - Compiles desktop application with embedded backend\r\n4. **Uploads Assets** - Attaches installer to the GitHub Release\r\n\r\n### Workflow File\r\n\r\nSee [`.github/workflows/release.yml`](file:///c:/Users/rouna/OneDrive/Documents/vs_code_projects/RivalNxt/.github/workflows/release.yml) for the complete CI/CD configuration.\r\n\r\n### Key Features\r\n\r\n- **Submodule Support** - Automatically initializes Git submodules\r\n- **Multi-stage Caching** - Caches Rust, Node, and Python dependencies\r\n- **Size Validation** - Ensures backend executable includes all dependencies\r\n- **Artifact Upload** - Uploads build artifacts for debugging\r\n- **Automated Release** - No manual build steps required for releases\r\n\r\n### Creating a Release\r\n\r\n```bash\r\n# 1. Tag your commit\r\ngit tag v0.5.0\r\ngit push origin v0.5.0\r\n\r\n# 2. Create GitHub Release from tag\r\n# The workflow will automatically build and attach the installer\r\n```\r\n\r\n## ⚙️ Configuration\r\n\r\nConfiguration is stored at: `%APPDATA%/com.rivalnxt.modmanager/settings.json`\r\n\r\n**Environment Variables**\r\n\r\n| Variable                             | Description             | Default           |\r\n| ------------------------------------ | ----------------------- | ----------------- |\r\n| `MM_DATA_DIR`                        | Data directory override | Platform-specific |\r\n| `MM_BACKEND_HOST`                    | Backend bind address    | `127.0.0.1`       |\r\n| `MM_BACKEND_PORT`                    | Backend port            | `8000`            |\r\n| `NEXUS_API_KEY`                      | NexusMods API key       | None              |\r\n| `MARVEL_RIVALS_ROOT`                 | Game installation path  | Required          |\r\n| `MARVEL_RIVALS_LOCAL_DOWNLOADS_ROOT` | Mod downloads folder    | Required          |\r\n\r\nSee [Configuration Guide](./NEXUS_API_KEY_USAGE.md) for detailed setup instructions.\r\n\r\n## 🤝 Contributing\r\n\r\nWe welcome contributions! Please see our [Contributing Guidelines](#contribution-guidelines) for details.\r\n\r\n### Contribution Guidelines\r\n\r\n**Getting Started**\r\n\r\n1. Check [open issues](https://github.com/Rounak77382/Project_ModManager_Rivals/issues)\r\n2. Look for [`good first issue`](https://github.com/Rounak77382/Project_ModManager_Rivals/labels/good%20first%20issue) labels\r\n3. Open an issue for major changes before starting work\r\n\r\n**Pull Request Process**\r\n\r\n1. Fork the repository\r\n2. Create a feature branch (`git checkout -b feature/AmazingFeature`)\r\n3. Commit changes (`git commit -m 'Add AmazingFeature'`)\r\n4. Push to branch (`git push origin feature/AmazingFeature`)\r\n5. Open a Pull Request\r\n\r\n**Code Quality Standards**\r\n\r\n- Add tests for new features\r\n- Update documentation\r\n- Follow existing code style\r\n- Validate all inputs and API parameters\r\n\r\n## 🐛 Known Issues\r\n\r\nSee the [issue tracker](https://github.com/Rounak77382/Project_ModManager_Rivals/issues) for known bugs and feature requests.\r\n\r\n## 📄 License\r\n\r\nNo license file is currently present. This project is \"all rights reserved\" by default. Please open an issue to discuss licensing before contributing or reusing code.\r\n\r\nConsider adding an SPDX-compatible `LICENSE` file (MIT, Apache 2.0, GPL, etc.).\r\n\r\n## 🙏 Acknowledgments\r\n\r\nBuilt with amazing open-source tools:\r\n\r\n- [Rust UE Tools](https://github.com/Rounak77382/rust-ue-tools) - Native Rust implementation replacing external CLI tools\r\n  - Based on [natimerry/repak-rivals](https://github.com/natimerry/repak-rivals) and retoc libraries\r\n  - Provides PAK/UTOC operations without external dependencies\r\n- [Tauri](https://tauri.app/) - Lightweight desktop runtime\r\n- [FastAPI](https://fastapi.tiangolo.com/) - Modern Python web framework\r\n- [React](https://reactjs.org/) + [Vite](https://vitejs.dev/) - Fast frontend tooling\r\n- [Radix UI](https://www.radix-ui.com/) - Accessible component primitives\r\n- [NexusMods](https://www.nexusmods.com/) - Modding community platform\r\n\r\n---\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n\r\nMade with ❤️ for the Marvel Rivals modding community\r\n\r\n**[⬆ back to top](#-rivalnxt)**\r\n\r\n\u003c/div\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frounak77382%2Frivalnxt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frounak77382%2Frivalnxt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frounak77382%2Frivalnxt/lists"}