id = "fork" name = "Fork" homepage = "https://git-fork.com" description = "A fast and friendly git client for Mac and Windows." # The app's own icon, from its homepage. icon = "https://git-fork.com/images/logo.png" # Fork ships no command-line tool; the name is the app bundle's executable # (CFBundleExecutable in /Applications/Fork.app/Contents/Info.plist). executables = ["Fork"] # Fork runs on Mac and Windows, but only the macOS locations below were # verified, so the entry claims macOS alone rather than guessing at where the # Windows build writes. platforms = ["macos"] [dotfiles] # Verified on a Mac with Fork installed: `osascript -e 'id of app "Fork"'` # answers com.DanPristupov.Fork, and the app keeps its own directory at # ~/Library/Application Support/com.DanPristupov.Fork/ (named after the bundle # id, not the app) alongside the usual preferences domain in # ~/Library/Preferences. # # Two files there are user configuration: custom-commands.json, the custom # commands added in Preferences → Custom Commands, and accounts.json, the # list of hosting accounts (a JSON array whose objects carry gitProvider, # host, user, type, avatarUrl, defaultCloneProtocol and sshKeyPath). The # preferences plist is the Preferences window itself. paths = [ "[appData]/com.DanPristupov.Fork/custom-commands.json", "[appData]/com.DanPristupov.Fork/accounts.json", "[preferences]/com.DanPristupov.Fork.plist", ] exclude = [] # Not a credential: accounts.json holds the account's identity and the path to # the SSH key it uses, and no token — the keys inspected on an installed copy # are gitProvider, host, user, type, avatarUrl, defaultCloneProtocol and # sshKeyPath. Fork's tokens and passwords go to the macOS Keychain. The other # files in that directory are state rather than config and are deliberately # not listed: session.json is the open windows, tabs and workspaces, # db.sqlite3 and repositories.json/repositories.toml are the repository list # with each clone's absolute path, and com.crashlytics/ and # com.microsoft.appcenter/ are crash-reporter queues. secret = [] # sshKeyPath is an absolute path to a private key on this machine # (/Users//.ssh/id_ed25519); the account it belongs to is worth # carrying, the path to one machine's key file is not — though which key this # Mac signs with is worth keeping so the account can be wired up again here, # so it is backup rather than discarded. The file is a JSON array, so the first # segment matches each element. [[dotfiles.machine_lines]] file = "[appData]/com.DanPristupov.Fork/accounts.json" match = { key_path = ["*.sshKeyPath"] } scope = "backup"