This document provides a complete guide to publishing CopyCrafter to GitHub and making it available for users.
- Create a new repository on GitHub
- Push your code to GitHub:
git remote add origin https://github.com/nesimtunc/copycrafter.git git push -u origin main
- Add appropriate topics to your repository (e.g., flutter, macos, desktop-app, file-management)
- Set up a description and website link if you have one
- Enable GitHub Issues for user feedback
- Add a license file if not already present
When you push a tag starting with 'v', GitHub Actions will automatically:
- Build the app for macOS and Windows
- Create installers
- Create a draft GitHub Release with the binaries attached
To trigger this process:
git tag -a v1.0.0 -m "Initial release"
git push origin v1.0.0To build manually:
- Run the build script:
./scripts/build_all.sh
- This will create releases in the
releases/directory - Upload these manually to a GitHub Release
For proper distribution on macOS:
- Obtain an Apple Developer certificate (Apple Developer Program membership required)
- Sign the app:
codesign --force --options runtime --sign "Developer ID Application: Your Name (TEAM_ID)" \ build/macos/Build/Products/Release/CopyCrafter.app - Notarize the app:
xcrun altool --notarize-app --primary-bundle-id "com.yourdomain.copycrafter" \ --username "your@email.com" --password "@keychain:AC_PASSWORD" \ --file path/to/CopyCrafter.dmg
- Check notarization status:
xcrun altool --notarization-info [RequestUUID] -u "your@email.com" -p "@keychain:AC_PASSWORD"
- Staple the notarization ticket:
xcrun stapler staple "path/to/CopyCrafter.dmg"
For Windows distribution:
- Obtain a code signing certificate from a trusted CA
- Sign the executable:
signtool sign /a /tr http://timestamp.digicert.com /td sha256 /fd sha256 \ build\windows\runner\Release\CopyCrafter.exe
Currently, CopyCrafter doesn't include auto-update functionality. Users will need to:
- Download the new version manually
- Replace their existing installation
Consider adding an auto-update mechanism in future versions.
- Update your README.md with screenshots and clear installation instructions
- Create a landing page or website for the app (optional)
- Share on relevant platforms:
- Flutter community
- Reddit (r/Flutter, r/MacOS, r/WindowsApps)
- Twitter/X
- Developer forums
- Include a clear privacy policy if your app collects any user data
- Ensure you have the right to use all included libraries and assets
- Consider trademark registration if planning commercial use
- Monitor GitHub Issues for bug reports
- Create a roadmap for future development
- Engage with users for feedback
- Plan regular updates to add features and fix bugs