{"owner":"moraroy","repo":"NonSteamLaunchers-On-Steam-Deck","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md"],"skills":{"AGENTS.md":"# AGENTS.md\n\nThis file provides guidance to LLMs when working with code in this repository.\n\n## Project Overview\n\nNonSteamLaunchers is a tool that installs various game launchers (Epic Games, EA App, GOG Galaxy, etc.) under a single Proton prefix on Steam Deck and Linux systems. It automatically adds these launchers to the Steam Library and can scan for installed games in real-time.\n\n## Development Commands\n\n### Python Environment Setup\n\n```bash\n# Create and activate virtual environment using UV\nuv venv --python \">=3.11,<3.13\"\nsource .venv/bin/activate\n\n# Install dependencies\nuv pip install -r pyproject.toml --all-extras\n```\n\n### Code Quality\n\n```bash\n# Format Python code\nruff format .\n\n# Check Python linting\nruff check .\n\n# Fix linting issues automatically\nruff check . --fix\n\n# Run pre-commit hooks manually\npre-commit run --all-files\n```\n\n### Running the Project\n\n```bash\n# Main installer script\n./NonSteamLaunchers.sh\n\n# Game scanner service\npython NSLGameScanner.py\n\n# Install specific launcher via command line\n/bin/bash -c 'curl -Ls https://raw.githubusercontent.com/moraroy/NonSteamLaunchers-On-Steam-Deck/main/NonSteamLaunchers.sh | nohup /bin/bash -s -- \"Epic Games\"'\n```\n\n## Architecture\n\n### Core Components\n\n- **NonSteamLaunchers.sh**: Main Bash script that handles launcher installation, Steam integration, and UI\n- **NSLGameScanner.py**: Python service that monitors installed launchers and automatically adds games to Steam library\n- **config.py**: Configuration management for paths and settings\n- **Modules/**: Vendored Python dependencies (steamgrid, requests, vdf, etc.)\n\n### Key Paths\n\n- Compatdata directory: `~/.local/share/Steam/steamapps/compatdata/`\n- NonSteamLaunchers prefix: `~/.local/share/Steam/steamapps/compatdata/NonSteamLaunchers/`\n- Logs: `/home/deck/Downloads/NonSteamLaunchers-install.log`\n- Game saves backup: `/home/deck/NSLGameSaves`\n\n### Integration Points\n\n- **Steam**: Adds shortcuts via Steam's shortcuts.vdf file\n- **Proton**: Uses UMU Launcher and GE-Proton for Windows compatibility\n- **Decky Loader**: Plugin available for Steam Deck Game Mode\n- **Ludusavi**: Pre-configured for game save backups\n\n## Code Style\n\n### Python\n\n- Formatter: Ruff (Black-compatible, 130 char line length)\n- Python version: 3.11-3.12\n- Indentation: 4 spaces\n- Follow PEP 8 with exceptions defined in ruff.toml\n\n### Shell Scripts\n\n- Indentation: Tabs\n- Follow shellcheck rules (see .shellcheckrc)\n- Use bash shebang: `#!/bin/bash`\n\n### Pre-commit Hooks\n\nPre-commit is configured with:\n\n- Ruff for Python formatting and linting\n- File checks (YAML, JSON, large files, private keys)\n- End-of-file fixing and line ending normalization\n\n## Testing\n\nCurrently, there is no formal test suite. When implementing new features:\n\n- Test installation of launchers manually\n- Verify Steam library integration\n- Check game scanner functionality\n- Test on both Desktop and Game Mode\n\n## Command Line Arguments\n\nThe main script supports:\n\n- Launcher names: `\"Epic Games\"`, `\"EA App\"`, `\"GOG Galaxy\"`, etc.\n- Uninstall: `\"Uninstall Epic Games\"`\n- Utilities: `\"Start Fresh\"`, `\"Update Proton-GE\"`, `\"Stop NSLGameScanner\"`\n- SD Card: `\"Move to SD Card\" \"LauncherName\"`\n\n## Important Notes\n\n- The script modifies Steam configuration files - handle with care\n- Game scanner runs as a systemd service\n- Community notes feature uses `#nsl` hashtag\n- MicroSD card support requires proper mount points\n- Cloud saves via Ludusavi are backed up to `/home/deck/NSLGameSaves`\n"},"files":{"AGENTS.md":"# AGENTS.md\n\nThis file provides guidance to LLMs when working with code in this repository.\n\n## Project Overview\n\nNonSteamLaunchers is a tool that installs various game launchers (Epic Games, EA App, GOG Galaxy, etc.) under a single Proton prefix on Steam Deck and Linux systems. It automatically adds these launchers to the Steam Library and can scan for installed games in real-time.\n\n## Development Commands\n\n### Python Environment Setup\n\n```bash\n# Create and activate virtual environment using UV\nuv venv --python \">=3.11,<3.13\"\nsource .venv/bin/activate\n\n# Install dependencies\nuv pip install -r pyproject.toml --all-extras\n```\n\n### Code Quality\n\n```bash\n# Format Python code\nruff format .\n\n# Check Python linting\nruff check .\n\n# Fix linting issues automatically\nruff check . --fix\n\n# Run pre-commit hooks manually\npre-commit run --all-files\n```\n\n### Running the Project\n\n```bash\n# Main installer script\n./NonSteamLaunchers.sh\n\n# Game scanner service\npython NSLGameScanner.py\n\n# Install specific launcher via command line\n/bin/bash -c 'curl -Ls https://raw.githubusercontent.com/moraroy/NonSteamLaunchers-On-Steam-Deck/main/NonSteamLaunchers.sh | nohup /bin/bash -s -- \"Epic Games\"'\n```\n\n## Architecture\n\n### Core Components\n\n- **NonSteamLaunchers.sh**: Main Bash script that handles launcher installation, Steam integration, and UI\n- **NSLGameScanner.py**: Python service that monitors installed launchers and automatically adds games to Steam library\n- **config.py**: Configuration management for paths and settings\n- **Modules/**: Vendored Python dependencies (steamgrid, requests, vdf, etc.)\n\n### Key Paths\n\n- Compatdata directory: `~/.local/share/Steam/steamapps/compatdata/`\n- NonSteamLaunchers prefix: `~/.local/share/Steam/steamapps/compatdata/NonSteamLaunchers/`\n- Logs: `/home/deck/Downloads/NonSteamLaunchers-install.log`\n- Game saves backup: `/home/deck/NSLGameSaves`\n\n### Integration Points\n\n- **Steam**: Adds shortcuts via Steam's shortcuts.vdf file\n- **Proton**: Uses UMU Launcher and GE-Proton for Windows compatibility\n- **Decky Loader**: Plugin available for Steam Deck Game Mode\n- **Ludusavi**: Pre-configured for game save backups\n\n## Code Style\n\n### Python\n\n- Formatter: Ruff (Black-compatible, 130 char line length)\n- Python version: 3.11-3.12\n- Indentation: 4 spaces\n- Follow PEP 8 with exceptions defined in ruff.toml\n\n### Shell Scripts\n\n- Indentation: Tabs\n- Follow shellcheck rules (see .shellcheckrc)\n- Use bash shebang: `#!/bin/bash`\n\n### Pre-commit Hooks\n\nPre-commit is configured with:\n\n- Ruff for Python formatting and linting\n- File checks (YAML, JSON, large files, private keys)\n- End-of-file fixing and line ending normalization\n\n## Testing\n\nCurrently, there is no formal test suite. When implementing new features:\n\n- Test installation of launchers manually\n- Verify Steam library integration\n- Check game scanner functionality\n- Test on both Desktop and Game Mode\n\n## Command Line Arguments\n\nThe main script supports:\n\n- Launcher names: `\"Epic Games\"`, `\"EA App\"`, `\"GOG Galaxy\"`, etc.\n- Uninstall: `\"Uninstall Epic Games\"`\n- Utilities: `\"Start Fresh\"`, `\"Update Proton-GE\"`, `\"Stop NSLGameScanner\"`\n- SD Card: `\"Move to SD Card\" \"LauncherName\"`\n\n## Important Notes\n\n- The script modifies Steam configuration files - handle with care\n- Game scanner runs as a systemd service\n- Community notes feature uses `#nsl` hashtag\n- MicroSD card support requires proper mount points\n- Cloud saves via Ludusavi are backed up to `/home/deck/NSLGameSaves`\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"# AGENTS.md\n\nThis file provides guidance to LLMs when working with code in this repository.\n\n## Project Overview\n\nNonSteamLaunchers is a tool that installs various game launchers (Epic Games, EA App, GOG Galaxy, etc.) under a single Proton prefix on Steam Deck and Linux systems. It automatically adds these launchers to the Steam Library and can scan for installed games in real-time.\n\n## Development Commands\n\n### Python Environment Setup\n\n```bash\n# Create and activate virtual environment using UV\nuv venv --python \">=3.11,<3.13\"\nsource .venv/bin/activate\n\n# Install dependencies\nuv pip install -r pyproject.toml --all-extras\n```\n\n### Code Quality\n\n```bash\n# Format Python code\nruff format .\n\n# Check Python linting\nruff check .\n\n# Fix linting issues automatically\nruff check . --fix\n\n# Run pre-commit hooks manually\npre-commit run --all-files\n```\n\n### Running the Project\n\n```bash\n# Main installer script\n./NonSteamLaunchers.sh\n\n# Game scanner service\npython NSLGameScanner.py\n\n# Install specific launcher via command line\n/bin/bash -c 'curl -Ls https://raw.githubusercontent.com/moraroy/NonSteamLaunchers-On-Steam-Deck/main/NonSteamLaunchers.sh | nohup /bin/bash -s -- \"Epic Games\"'\n```\n\n## Architecture\n\n### Core Components\n\n- **NonSteamLaunchers.sh**: Main Bash script that handles launcher installation, Steam integration, and UI\n- **NSLGameScanner.py**: Python service that monitors installed launchers and automatically adds games to Steam library\n- **config.py**: Configuration management for paths and settings\n- **Modules/**: Vendored Python dependencies (steamgrid, requests, vdf, etc.)\n\n### Key Paths\n\n- Compatdata directory: `~/.local/share/Steam/steamapps/compatdata/`\n- NonSteamLaunchers prefix: `~/.local/share/Steam/steamapps/compatdata/NonSteamLaunchers/`\n- Logs: `/home/deck/Downloads/NonSteamLaunchers-install.log`\n- Game saves backup: `/home/deck/NSLGameSaves`\n\n### Integration Points\n\n- **Steam**: Adds shortcuts via Steam's shortcuts.vdf file\n- **Proton**: Uses UMU Launcher and GE-Proton for Windows compatibility\n- **Decky Loader**: Plugin available for Steam Deck Game Mode\n- **Ludusavi**: Pre-configured for game save backups\n\n## Code Style\n\n### Python\n\n- Formatter: Ruff (Black-compatible, 130 char line length)\n- Python version: 3.11-3.12\n- Indentation: 4 spaces\n- Follow PEP 8 with exceptions defined in ruff.toml\n\n### Shell Scripts\n\n- Indentation: Tabs\n- Follow shellcheck rules (see .shellcheckrc)\n- Use bash shebang: `#!/bin/bash`\n\n### Pre-commit Hooks\n\nPre-commit is configured with:\n\n- Ruff for Python formatting and linting\n- File checks (YAML, JSON, large files, private keys)\n- End-of-file fixing and line ending normalization\n\n## Testing\n\nCurrently, there is no formal test suite. When implementing new features:\n\n- Test installation of launchers manually\n- Verify Steam library integration\n- Check game scanner functionality\n- Test on both Desktop and Game Mode\n\n## Command Line Arguments\n\nThe main script supports:\n\n- Launcher names: `\"Epic Games\"`, `\"EA App\"`, `\"GOG Galaxy\"`, etc.\n- Uninstall: `\"Uninstall Epic Games\"`\n- Utilities: `\"Start Fresh\"`, `\"Update Proton-GE\"`, `\"Stop NSLGameScanner\"`\n- SD Card: `\"Move to SD Card\" \"LauncherName\"`\n\n## Important Notes\n\n- The script modifies Steam configuration files - handle with care\n- Game scanner runs as a systemd service\n- Community notes feature uses `#nsl` hashtag\n- MicroSD card support requires proper mount points\n- Cloud saves via Ludusavi are backed up to `/home/deck/NSLGameSaves`\n","category":"root","tokens":871}]}