Skip to main content

Contribute

Contributor and internals documentation lives in the repository, not on this site, because it has to track the code as it changes. This site covers using the app. The repository covers building and changing it.

Pull requests are welcome: bugs, features, docs, design and the landing page. Start with CONTRIBUTING.md.

Build from source​

git clone https://github.com/bakirgdev/CrocApp.git
cd CrocApp
scripts/build-xcframework.sh # Go engine -> CrocKit/Croc.xcframework
open app/CrocApp.xcodeproj
warning

A fresh clone builds nothing until the xcframework exists. The CrocKit binary target points at a file that is not committed, so scripts/build-xcframework.sh is required. docs/BUILDING.md lists the exact toolchain versions.

Where things are​

How it was made​

croc's Go library is compiled to an XCFramework with gomobile and driven from a Swift actor. It is not a subprocess, because iOS does not allow those. The interface is SwiftUI throughout, targeting iOS 26 and macOS 26. docs/ARCHITECTURE.md has the full picture.

Inspirations​

CrocApp exists because of these. Some are the foundation, and some showed what good looks like on other platforms.

  • croc: the engine and the protocol. Everything CrocApp does, croc does underneath.
  • magic-wormhole: the original code-phrase transfer, and croc's own inspiration.
  • LocalSend: proof that a cross-platform transfer app can be genuinely pleasant to use.
  • croc-app: the Android client, and the best mobile reference for what a croc GUI should feel like.
  • crock: a desktop croc GUI, and where the QR deeplink idea comes from.
  • crocgui: the long-running cross-platform croc GUI.