@crashcontinuum/crashcart-packager
v1.0.1
Published
Package Crash BASIC games for distribution on Windows, macOS, and Linux
Maintainers
Readme
crashcart-packager
Package Crash BASIC games for distribution on Windows, macOS, and Linux.
Usage
npx crashcart-packager mygame.crashcart "My Game"This will:
- Stamp your CrashCart with your Crash BASIC Arcade license
- Download CrashPlayer for your platform
- Create a ready-to-distribute package
Options
Usage: crashcart-packager [options] <crashcart> <game-name>
Arguments:
crashcart Path to the .crashcart file
game-name Name of your game
Options:
-p, --platform <platform> Target platform (windows, macos, linux)
-i, --icon <path> Path to icon file (PNG for best results)
-o, --output <dir> Output directory (default: ".")
--skip-stamp Skip the stamping step (if already stamped)
--all Build for all platforms
macOS Code Signing:
--apple-team-id <id> Apple Developer Team ID
--signing-identity <id> Code signing identity
--apple-id <email> Apple ID for notarization
--apple-password <pass> App-specific password for notarization
-h, --help Display helpExamples
Package for current platform
npx crashcart-packager mygame.crashcart "My Awesome Game"Package for all platforms
npx crashcart-packager mygame.crashcart "My Awesome Game" --allPackage with custom icon
npx crashcart-packager mygame.crashcart "My Awesome Game" --icon icon.pngPackage for a specific platform
npx crashcart-packager mygame.crashcart "My Awesome Game" --platform windowsOutput
The packager creates platform-specific bundles:
- Windows: Folder containing CrashPlayer.exe, your game, and launcher scripts (.bat and .vbs)
- macOS: A proper .app bundle that can be distributed directly
- Linux: Folder containing CrashPlayer, your game, launcher script, and .desktop file
macOS Code Signing & Notarization
For your macOS app to run without security warnings, it must be signed and notarized. The packager will automatically sign and notarize if you provide Apple Developer credentials.
Setup
Join the Apple Developer Program at https://developer.apple.com/programs/
Create a Developer ID Application certificate
- Open Keychain Access on your Mac
- Go to developer.apple.com → Certificates
- Create a "Developer ID Application" certificate
- Download and install it in your keychain
Create an app-specific password
- Go to appleid.apple.com → Sign-In and Security
- Click "App-Specific Passwords" → Generate
Find your credentials
- Team ID: developer.apple.com → Membership → Team ID
- Signing Identity: Run
security find-identity -v -p codesigningLook for "Developer ID Application: Your Name (TEAM_ID)"
Using credentials
Via command line options:
npx crashcart-packager mygame.crashcart "My Game" \
--apple-team-id "YOUR_TEAM_ID" \
--signing-identity "Developer ID Application: Your Name (TEAM_ID)" \
--apple-id "[email protected]" \
--apple-password "xxxx-xxxx-xxxx-xxxx"Or via environment variables:
export APPLE_TEAM_ID="YOUR_TEAM_ID"
export APPLE_SIGNING_IDENTITY="Developer ID Application: Your Name (TEAM_ID)"
export APPLE_ID="[email protected]"
export APPLE_PASSWORD="xxxx-xxxx-xxxx-xxxx"
npx crashcart-packager mygame.crashcart "My Game"Requirements
- Node.js 18 or later
- A Crash BASIC Arcade account with an active subscription (Indie or Studio tier)
- On Windows: PowerShell (for ZIP extraction)
- On Unix: unzip command (for cross-platform Windows builds)
- On macOS (for signing): Apple Developer Program membership, Developer ID certificate
License
© 2026 Crash Continuum LLC. All rights reserved.
