MCPcopy Index your code
hub / github.com/ArixAR/hollow-sync

github.com/ArixAR/hollow-sync @v1.1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.1.1 ↗ · + Follow
112 symbols 210 edges 20 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Hollow Sync

An application for Hollow Knight and Hollow Knight: Silksong that lets you transfer your progress between PC and Nintendo Switch.

Hollow Sync Demo

Prefer command line? Check out the CLI version for terminal based usage.

Important

This tool requires homebrew on your Switch. Always backup your saves before using. Use at your own risk.

Requirements

Installation

Option 1: Pre-built App (Recommended)

  1. Download the latest release from the Releases page
  2. Run the installer (.exe file)
  3. Launch "Hollow Sync" from your Start menu

Option 2: Build from Source

# Clone the repository
git clone https://github.com/ArixAR/hollow-sync.git
cd hollow-sync

# Install dependencies
npm install

# Run in development mode
npm run tauri dev

# Or build for production
npm run tauri build

How to Use

Step 1: Setup - Open the Hollow Sync app - The app automatically scans for both Hollow Knight and Silksong saves - Switch between games using the toggle at the top - Select your save slot from the detected characters

Step 2: Sync Saves - Click "Sync to Switch" to prepare your PC save for Switch - Click "Sync to PC" to prepare your Switch save for PC - The app shows save timestamps to help avoid conflicts

Step 3: Transfer to Switch 1. Insert your Switch SD card into your PC 2. Copy the generated backup folder to the appropriate JKSV folder: - Hollow Knight: /JKSV/Hollow Knight/ - Silksong: /JKSV/Hollow Knight Silksong/ 3. Use JKSV on Switch to restore the backup from the folder

JKSV Error: "Backup contains no meta file!"

If JKSV returns an error about missing .nx_save_meta.bin or the save doesn't appear after restore, follow this workaround:

  1. On your Switch: Start a new game in Hollow Knight/Silksong and play until it creates a save file
  2. Create JKSV backup: Open JKSV, select the game, and create a backup of this new save
  3. Copy to PC: Copy the JKSV backup ZIP file to your PC
  4. Replace save data: Open the ZIP file and replace the user1.dat file inside with your PC save (the decrypted save from this tool)
  5. Copy back to Switch: Copy the modified ZIP back to the JKSV folder on your Switch's SD card
  6. Hollow Knight: /JKSV/Hollow Knight/
  7. Silksong: /JKSV/Hollow Knight Silksong/
  8. Restore: In JKSV, select the modified backup and choose "Restore"

Why this works: This ensures the backup contains the required .nx_save_meta.bin metadata file while using your actual PC save data.

Alternative: Automatic Cloud Sync

For a more automated approach, you can set up JKSV to sync directly with cloud storage instead of manually transferring files via SD card.

Setup: Configure automatic cloud backups using either: - Google Drive - WebDAV

Once cloud sync is configured: 1. Point the app to your cloud folder path in settings 2. Use the sync buttons normally - the app will handle cloud files 3. Changes automatically sync across both platforms

Benefits: No more SD card removal, automatic backups, and seamless syncing once configured.

Note: You still need this app for format conversion since PC and Switch use different save file formats.

Save Locations

PC: - Hollow Knight: C:\Users\[Username]\AppData\LocalLow\Team Cherry\Hollow Knight\ - Silksong: C:\Users\[Username]\AppData\LocalLow\Team Cherry\Hollow Knight Silksong\[UserID]

Switch (JKSV folders): - Hollow Knight: /JKSV/Hollow Knight/ - Silksong: /JKSV/Hollow Knight Silksong/

Troubleshooting

Can't find saves? Make sure you've played Hollow Knight or Silksong and saved at least once.

App won't start? Check that you're running Windows 10 or newer.

Sync not working? Verify the output folder exists and you have write permissions.

Switch issues? Check that JKSV is installed and you're using the exact SD card path.

Advanced: Switch 1 → Switch 2 Save Migration

If you want to move your Hollow Knight or Silksong saves directly from Switch 1 to Switch 2, this requires additional steps beyond the normal PC ↔ Switch sync.

Warning: This process is advanced and carries risk. Only attempt if you fully understand the implications.

See the full guide here: Switch Save Transfer Guide

Extension points exported contracts — how you extend this code

SaveData (Interface)
(no doc)
src/App.tsx
ToastProps (Interface)
(no doc)
src/components/Toast.tsx
Config (Interface)
(no doc)
src/App.tsx
ToastContainerProps (Interface)
(no doc)
src/components/Toast.tsx
GameToggleProps (Interface)
(no doc)
src/components/GameToggle.tsx
SaveData (Interface)
(no doc)
src/components/SaveCard.tsx
SaveCardProps (Interface)
(no doc)
src/components/SaveCard.tsx

Core symbols most depended-on inside this repo

showToast
called by 17
src/App.tsx
loadConfig
called by 4
src/App.tsx
openPath
called by 4
src/App.tsx
handleSync
called by 3
src/App.tsx
get_file_info
called by 3
src-tauri/src/save_manager.rs
formatPath
called by 2
src/App.tsx
openFileDialog
called by 2
src/App.tsx
openDirectoryDialog
called by 2
src/App.tsx

Shape

Function 64
Method 30
Interface 13
Class 5

Languages

TypeScript52%
Rust48%

Modules by API surface

src/App.tsx26 symbols
src-tauri/src/save_manager.rs23 symbols
src-tauri/src/main.rs16 symbols
src-tauri/src/crypto.rs9 symbols
src/components/SilkParticles.tsx8 symbols
src/components/Toast.tsx6 symbols
src-tauri/src/utils.rs5 symbols
src/components/SaveCard.tsx4 symbols
src/components/SwitchTutorial.tsx3 symbols
src/components/ToggleSlider.tsx2 symbols
src/components/TabSlider.tsx2 symbols
src/components/HollowPanel.tsx2 symbols

For agents

$ claude mcp add hollow-sync \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page