{"id":31551464,"url":"https://github.com/pecan-solutions/lacesong","last_synced_at":"2025-10-04T18:56:38.354Z","repository":{"id":315071035,"uuid":"1057492811","full_name":"pecan-solutions/lacesong","owner":"pecan-solutions","description":"A cross platform Hollow Knight Silksong mod manager and installer, compatible with BepInEx, utilizing Thunderstore API, designed for easy use.","archived":false,"fork":false,"pushed_at":"2025-10-01T03:56:36.000Z","size":611,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-01T05:42:15.813Z","etag":null,"topics":["avalonia","bepinex","cross-platform","csharp","mod","mod-installer","modmanager","silksong","silksong-mod","thunderstore"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pecan-solutions.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-15T19:58:42.000Z","updated_at":"2025-10-01T03:57:21.000Z","dependencies_parsed_at":"2025-09-24T05:25:17.307Z","dependency_job_id":null,"html_url":"https://github.com/pecan-solutions/lacesong","commit_stats":null,"previous_names":["pecan-solutions/lacesong"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pecan-solutions/lacesong","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pecan-solutions%2Flacesong","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pecan-solutions%2Flacesong/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pecan-solutions%2Flacesong/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pecan-solutions%2Flacesong/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pecan-solutions","download_url":"https://codeload.github.com/pecan-solutions/lacesong/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pecan-solutions%2Flacesong/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278358488,"owners_count":25973949,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["avalonia","bepinex","cross-platform","csharp","mod","mod-installer","modmanager","silksong","silksong-mod","thunderstore"],"created_at":"2025-10-04T18:56:35.973Z","updated_at":"2025-10-04T18:56:38.313Z","avatar_url":"https://github.com/pecan-solutions.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lacesong\n\n![Lacesong Banner](docs/lacesongbanner.png)\n\nA cross-platform mod management tool for Unity/Mono games, starting with Hollow Knight: Silksong. Built with .NET 9 and Avalonia UI, Lacesong runs natively on Windows, macOS, and Linux.\n\n## Overview\n\nLacesong provides a simple, safe, and consistent way to install, manage, and update community mods. Inspired by tools like Lumafly and Scarab, it focuses on automation, safety, and cross-platform compatibility.\n\n## Features\n\n- **Cross-Platform UI** - Modern Avalonia interface with MVVM architecture running on Windows, macOS, and Linux\n- **Automatic Game Detection** - Finds installations via Steam, Epic Games, GOG, Xbox Game Pass, or manual selection\n- **BepInEx Management** - One-click installation with version selection and configuration\n- **Comprehensive Mod Management** - Install from files or URLs with automatic dependency resolution\n- **Conflict Detection** - Advanced detection and resolution for mod conflicts\n- **Configuration Preservation** - Smart config merging during updates\n- **Enhanced Backup System** - Restore points with metadata tracking before critical operations\n- **Mod Index Integration** - Browse and install from centralized repositories\n- **Signature Verification** - Cryptographic validation of mod files and downloads\n- **Update Management** - Built-in updater with GitHub release integration\n- **CLI Interface** - Full-featured command-line tool for advanced users and automation\n\n## Tech Stack\n\n**Core**: .NET 9, C#, BepInEx integration, JSON-based manifests  \n**UI**: Avalonia (cross-platform MVVM), CommunityToolkit.Mvvm  \n**Services**: Octokit (GitHub API), System.CommandLine (CLI)  \n**Testing**: xUnit, Moq, FlaUI (UI automation)  \n**Distribution**: Self-contained executables for Windows, macOS, Linux\n\n## Installation\n\n### Desktop Application\n\n**Windows / macOS / Linux**\n\nDownload the latest release for your platform from [GitHub Releases](https://github.com/YourOrg/Lacesong/releases):\n- Windows: `.exe` installer or portable `.zip`\n- macOS: `.dmg` installer (ARM64 and Intel)\n- Linux: `.AppImage` or `.deb` package\n\nLaunch the application - it will auto-detect your Silksong installation or prompt for manual selection.\n\n### Command Line Interface\n\nDownload the CLI package for your platform and extract it. Run `modman` (or `modman.exe` on Windows) from the command line.\n\nSee [USAGE.md](USAGE.md) for detailed commands and options\n\n## Quick Start\n\n### Desktop Application\n\n1. Launch Lacesong - automatic game detection runs on startup\n2. If needed, manually browse for your game installation\n3. Install BepInEx with one click\n4. Browse and install mods from the catalog or local files\n5. Manage mods: enable, disable, update, or uninstall\n\n### CLI Examples\n\n```bash\n# Basic operations\nmodman detect-game\nmodman install-bepinex --version 5.4.22 --backup\nmodman install-mod \"path/to/mod.zip\"\nmodman list-mods\nmodman enable-mod \"mod-id\"\n\n# Advanced features\nmodman search-mods --category UI --verified\nmodman check-updates\nmodman detect-conflicts\nmodman create-restore-point \"before-update\"\n```\n\nFor comprehensive documentation, see [USAGE.md](USAGE.md)\n\n## Architecture\n\nBuilt with service-oriented design principles:\n- Clean interfaces for all core services (game detection, BepInEx management, mod operations)\n- Dependency injection with testable, mockable components\n- Comprehensive data models for installations, mods, and configurations\n- Safe atomic file operations with cross-platform path handling\n\n## Safety Features\n\n- **Dependency Resolution** - Automatic validation and installation with version constraint support\n- **Signature Verification** - Cryptographic validation (SHA256/SHA512/MD5) of mod files\n- **Safe Installation** - Staged installs with validation pipeline and atomic rollback\n- **Backup System** - Automatic restore points with metadata before critical operations\n- **Conflict Detection** - File, dependency, and load order conflict resolution\n- **Permission Handling** - Cross-platform elevation with protected location detection\n\n## Development\n\n### Build System\n\nBuild scripts for all platforms:\n```bash\n# Windows\nbuild.bat\n\n# macOS/Linux\n./build.sh\n```\n\nProduces self-contained executables with all dependencies included.\n\n### Testing\n\nComprehensive test coverage with xUnit and UI automation:\n```bash\ndotnet test\n```\n\n## Contributing\n\nContributions welcome! Open issues for bugs or features, submit PRs for improvements. Please follow existing code style and include tests for new features.\n\n## License\n\nMIT License - See [LICENSE](LICENSE) for details.\n\n## Disclaimer\n\nLacesong is a community-driven tool, not affiliated with Team Cherry or Hollow Knight: Silksong. Use at your own risk.\n\n---\n\n**Documentation**: See [USAGE.md](USAGE.md) for detailed usage instructions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpecan-solutions%2Flacesong","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpecan-solutions%2Flacesong","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpecan-solutions%2Flacesong/lists"}