From 3ad0d2fe239291ea757ef166b8f56a9d64a7126c Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Thu, 22 Jan 2026 01:59:12 +0000 Subject: [PATCH] chore: bump version to 2026.1.21 --- appcast.xml | 10 +++++----- apps/android/app/build.gradle.kts | 4 ++-- apps/ios/Sources/Info.plist | 4 ++-- apps/ios/Tests/Info.plist | 4 ++-- apps/ios/project.yml | 8 ++++---- apps/macos/Sources/Clawdbot/Resources/Info.plist | 4 ++-- docs/platforms/mac/release.md | 14 +++++++------- extensions/bluebubbles/package.json | 2 +- extensions/copilot-proxy/package.json | 2 +- extensions/diagnostics-otel/package.json | 2 +- extensions/discord/package.json | 2 +- extensions/google-antigravity-auth/package.json | 2 +- extensions/google-gemini-cli-auth/package.json | 2 +- extensions/imessage/package.json | 2 +- extensions/matrix/CHANGELOG.md | 2 +- extensions/matrix/package.json | 2 +- extensions/memory-core/package.json | 2 +- extensions/memory-lancedb/package.json | 2 +- extensions/msteams/CHANGELOG.md | 2 +- extensions/msteams/package.json | 2 +- extensions/nextcloud-talk/package.json | 2 +- extensions/nostr/CHANGELOG.md | 2 +- extensions/nostr/package.json | 2 +- extensions/signal/package.json | 2 +- extensions/slack/package.json | 2 +- extensions/telegram/package.json | 2 +- extensions/voice-call/CHANGELOG.md | 2 +- extensions/voice-call/package.json | 2 +- extensions/whatsapp/package.json | 2 +- extensions/zalo/CHANGELOG.md | 2 +- extensions/zalo/package.json | 2 +- extensions/zalouser/CHANGELOG.md | 2 +- extensions/zalouser/package.json | 2 +- package.json | 2 +- src/cli/update-cli.test.ts | 2 +- src/infra/update-check.test.ts | 10 +++++----- src/infra/update-runner.test.ts | 2 +- 37 files changed, 58 insertions(+), 58 deletions(-) diff --git a/appcast.xml b/appcast.xml index a84493f32..3e2e01c6c 100644 --- a/appcast.xml +++ b/appcast.xml @@ -3,13 +3,13 @@ Clawdbot - 2026.1.20 + 2026.1.21 Wed, 21 Jan 2026 08:18:22 +0000 https://raw.githubusercontent.com/clawdbot/clawdbot/main/appcast.xml 7116 - 2026.1.20 + 2026.1.21 15.0 - Clawdbot 2026.1.20 + Clawdbot 2026.1.21

Changes

  • Control UI: add copy-as-markdown with error feedback. (#1345) https://docs.clawd.bot/web/control-ui
  • @@ -190,7 +190,7 @@ Thanks @AlexMikhalev, @CoreyH, @John-Rood, @KrauseFx, @MaudeBot, @Nachx639, @NicholaiVogel, @RyanLisse, @ThePickle31, @VACInc, @Whoaa512, @YuriNachos, @aaronveklabs, @abdaraxus, @alauppe, @ameno-, @artuskg, @austinm911, @bradleypriest, @cheeeee, @dougvk, @fogboots, @gnarco, @gumadeiras, @jdrhyne, @joelklabo, @longmaba, @mukhtharcm, @odysseus0, @oscargavin, @rhjoh, @sebslight, @sibbl, @sleontenko, @steipete, @suminhthanh, @thewilloftheshadow, @tyler6204, @vignesh07, @visionik, @ysqander, @zerone0x.

    View full changelog

    ]]> - + 2026.1.16-2 @@ -290,4 +290,4 @@ Thanks @AlexMikhalev, @CoreyH, @John-Rood, @KrauseFx, @MaudeBot, @Nachx639, @Nic - \ No newline at end of file + diff --git a/apps/android/app/build.gradle.kts b/apps/android/app/build.gradle.kts index ef7a1b522..7a99b672a 100644 --- a/apps/android/app/build.gradle.kts +++ b/apps/android/app/build.gradle.kts @@ -21,8 +21,8 @@ android { applicationId = "com.clawdbot.android" minSdk = 31 targetSdk = 36 - versionCode = 202601200 - versionName = "2026.1.20" + versionCode = 202601210 + versionName = "2026.1.21" } buildTypes { diff --git a/apps/ios/Sources/Info.plist b/apps/ios/Sources/Info.plist index 5a57ede0c..1b7b5b3d5 100644 --- a/apps/ios/Sources/Info.plist +++ b/apps/ios/Sources/Info.plist @@ -19,9 +19,9 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2026.1.20 + 2026.1.21 CFBundleVersion - 20260120 + 20260121 NSAppTransportSecurity NSAllowsArbitraryLoadsInWebContent diff --git a/apps/ios/Tests/Info.plist b/apps/ios/Tests/Info.plist index 2e154887e..e0351f399 100644 --- a/apps/ios/Tests/Info.plist +++ b/apps/ios/Tests/Info.plist @@ -17,8 +17,8 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 2026.1.20 + 2026.1.21 CFBundleVersion - 20260120 + 20260121 diff --git a/apps/ios/project.yml b/apps/ios/project.yml index eeea03bbf..ea6519001 100644 --- a/apps/ios/project.yml +++ b/apps/ios/project.yml @@ -81,8 +81,8 @@ targets: properties: CFBundleDisplayName: Clawdbot CFBundleIconName: AppIcon - CFBundleShortVersionString: "2026.1.20" - CFBundleVersion: "20260120" + CFBundleShortVersionString: "2026.1.21" + CFBundleVersion: "20260121" UILaunchScreen: {} UIApplicationSceneManifest: UIApplicationSupportsMultipleScenes: false @@ -130,5 +130,5 @@ targets: path: Tests/Info.plist properties: CFBundleDisplayName: ClawdbotTests - CFBundleShortVersionString: "2026.1.20" - CFBundleVersion: "20260120" + CFBundleShortVersionString: "2026.1.21" + CFBundleVersion: "20260121" diff --git a/apps/macos/Sources/Clawdbot/Resources/Info.plist b/apps/macos/Sources/Clawdbot/Resources/Info.plist index a3e616ffc..283901c0f 100644 --- a/apps/macos/Sources/Clawdbot/Resources/Info.plist +++ b/apps/macos/Sources/Clawdbot/Resources/Info.plist @@ -15,9 +15,9 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2026.1.20 + 2026.1.21 CFBundleVersion - 202601200 + 202601210 CFBundleIconFile Clawdbot CFBundleURLTypes diff --git a/docs/platforms/mac/release.md b/docs/platforms/mac/release.md index 077cdd342..10868ad51 100644 --- a/docs/platforms/mac/release.md +++ b/docs/platforms/mac/release.md @@ -30,17 +30,17 @@ Notes: # From repo root; set release IDs so Sparkle feed is enabled. # APP_BUILD must be numeric + monotonic for Sparkle compare. BUNDLE_ID=com.clawdbot.mac \ -APP_VERSION=2026.1.20 \ +APP_VERSION=2026.1.21 \ APP_BUILD="$(git rev-list --count HEAD)" \ BUILD_CONFIG=release \ SIGN_IDENTITY="Developer ID Application: ()" \ scripts/package-mac-app.sh # Zip for distribution (includes resource forks for Sparkle delta support) -ditto -c -k --sequesterRsrc --keepParent dist/Clawdbot.app dist/Clawdbot-2026.1.20.zip +ditto -c -k --sequesterRsrc --keepParent dist/Clawdbot.app dist/Clawdbot-2026.1.21.zip # Optional: also build a styled DMG for humans (drag to /Applications) -scripts/create-dmg.sh dist/Clawdbot.app dist/Clawdbot-2026.1.20.dmg +scripts/create-dmg.sh dist/Clawdbot.app dist/Clawdbot-2026.1.21.dmg # Recommended: build + notarize/staple zip + DMG # First, create a keychain profile once: @@ -48,26 +48,26 @@ scripts/create-dmg.sh dist/Clawdbot.app dist/Clawdbot-2026.1.20.dmg # --apple-id "" --team-id "" --password "" NOTARIZE=1 NOTARYTOOL_PROFILE=clawdbot-notary \ BUNDLE_ID=com.clawdbot.mac \ -APP_VERSION=2026.1.20 \ +APP_VERSION=2026.1.21 \ APP_BUILD="$(git rev-list --count HEAD)" \ BUILD_CONFIG=release \ SIGN_IDENTITY="Developer ID Application: ()" \ scripts/package-mac-dist.sh # Optional: ship dSYM alongside the release -ditto -c -k --keepParent apps/macos/.build/release/Clawdbot.app.dSYM dist/Clawdbot-2026.1.20.dSYM.zip +ditto -c -k --keepParent apps/macos/.build/release/Clawdbot.app.dSYM dist/Clawdbot-2026.1.21.dSYM.zip ``` ## Appcast entry Use the release note generator so Sparkle renders formatted HTML notes: ```bash -SPARKLE_PRIVATE_KEY_FILE=/path/to/ed25519-private-key scripts/make_appcast.sh dist/Clawdbot-2026.1.20.zip https://raw.githubusercontent.com/clawdbot/clawdbot/main/appcast.xml +SPARKLE_PRIVATE_KEY_FILE=/path/to/ed25519-private-key scripts/make_appcast.sh dist/Clawdbot-2026.1.21.zip https://raw.githubusercontent.com/clawdbot/clawdbot/main/appcast.xml ``` Generates HTML release notes from `CHANGELOG.md` (via [`scripts/changelog-to-html.sh`](https://github.com/clawdbot/clawdbot/blob/main/scripts/changelog-to-html.sh)) and embeds them in the appcast entry. Commit the updated `appcast.xml` alongside the release assets (zip + dSYM) when publishing. ## Publish & verify -- Upload `Clawdbot-2026.1.20.zip` (and `Clawdbot-2026.1.20.dSYM.zip`) to the GitHub release for tag `v2026.1.20`. +- Upload `Clawdbot-2026.1.21.zip` (and `Clawdbot-2026.1.21.dSYM.zip`) to the GitHub release for tag `v2026.1.21`. - Ensure the raw appcast URL matches the baked feed: `https://raw.githubusercontent.com/clawdbot/clawdbot/main/appcast.xml`. - Sanity checks: - `curl -I https://raw.githubusercontent.com/clawdbot/clawdbot/main/appcast.xml` returns 200. diff --git a/extensions/bluebubbles/package.json b/extensions/bluebubbles/package.json index c6dce3433..0ff638c28 100644 --- a/extensions/bluebubbles/package.json +++ b/extensions/bluebubbles/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/bluebubbles", - "version": "2026.1.21-1", + "version": "2026.1.21", "type": "module", "description": "Clawdbot BlueBubbles channel plugin", "clawdbot": { diff --git a/extensions/copilot-proxy/package.json b/extensions/copilot-proxy/package.json index 227489c0f..64d23edb2 100644 --- a/extensions/copilot-proxy/package.json +++ b/extensions/copilot-proxy/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/copilot-proxy", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot Copilot Proxy provider plugin", "clawdbot": { diff --git a/extensions/diagnostics-otel/package.json b/extensions/diagnostics-otel/package.json index 44fc01dbb..a71c880c7 100644 --- a/extensions/diagnostics-otel/package.json +++ b/extensions/diagnostics-otel/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/diagnostics-otel", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot diagnostics OpenTelemetry exporter", "clawdbot": { diff --git a/extensions/discord/package.json b/extensions/discord/package.json index 64096a701..7073d8b8e 100644 --- a/extensions/discord/package.json +++ b/extensions/discord/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/discord", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot Discord channel plugin", "clawdbot": { diff --git a/extensions/google-antigravity-auth/package.json b/extensions/google-antigravity-auth/package.json index 6e791d544..6f60b9fb1 100644 --- a/extensions/google-antigravity-auth/package.json +++ b/extensions/google-antigravity-auth/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/google-antigravity-auth", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot Google Antigravity OAuth provider plugin", "clawdbot": { diff --git a/extensions/google-gemini-cli-auth/package.json b/extensions/google-gemini-cli-auth/package.json index 21c2f3b67..c94a78f29 100644 --- a/extensions/google-gemini-cli-auth/package.json +++ b/extensions/google-gemini-cli-auth/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/google-gemini-cli-auth", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot Gemini CLI OAuth provider plugin", "clawdbot": { diff --git a/extensions/imessage/package.json b/extensions/imessage/package.json index c2a5ee758..2b0b36972 100644 --- a/extensions/imessage/package.json +++ b/extensions/imessage/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/imessage", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot iMessage channel plugin", "clawdbot": { diff --git a/extensions/matrix/CHANGELOG.md b/extensions/matrix/CHANGELOG.md index 43448dcb1..603b5ed19 100644 --- a/extensions/matrix/CHANGELOG.md +++ b/extensions/matrix/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 2026.1.20-2 +## 2026.1.21 ### Changes - Version alignment with core Clawdbot release numbers. diff --git a/extensions/matrix/package.json b/extensions/matrix/package.json index 4df8f02e9..5f70904b0 100644 --- a/extensions/matrix/package.json +++ b/extensions/matrix/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/matrix", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot Matrix channel plugin", "clawdbot": { diff --git a/extensions/memory-core/package.json b/extensions/memory-core/package.json index a97a3cacc..ffbee5ff6 100644 --- a/extensions/memory-core/package.json +++ b/extensions/memory-core/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/memory-core", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot core memory search plugin", "clawdbot": { diff --git a/extensions/memory-lancedb/package.json b/extensions/memory-lancedb/package.json index 43084d349..c052ce995 100644 --- a/extensions/memory-lancedb/package.json +++ b/extensions/memory-lancedb/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/memory-lancedb", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot LanceDB-backed long-term memory plugin with auto-recall/capture", "dependencies": { diff --git a/extensions/msteams/CHANGELOG.md b/extensions/msteams/CHANGELOG.md index e6309255f..d6bbd6789 100644 --- a/extensions/msteams/CHANGELOG.md +++ b/extensions/msteams/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 2026.1.20-2 +## 2026.1.21 ### Changes - Version alignment with core Clawdbot release numbers. diff --git a/extensions/msteams/package.json b/extensions/msteams/package.json index cde571679..b8a5921af 100644 --- a/extensions/msteams/package.json +++ b/extensions/msteams/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/msteams", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot Microsoft Teams channel plugin", "clawdbot": { diff --git a/extensions/nextcloud-talk/package.json b/extensions/nextcloud-talk/package.json index 06b16e774..6286b7ae4 100644 --- a/extensions/nextcloud-talk/package.json +++ b/extensions/nextcloud-talk/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/nextcloud-talk", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot Nextcloud Talk channel plugin", "clawdbot": { diff --git a/extensions/nostr/CHANGELOG.md b/extensions/nostr/CHANGELOG.md index 848e799cf..2ab179113 100644 --- a/extensions/nostr/CHANGELOG.md +++ b/extensions/nostr/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 2026.1.20-2 +## 2026.1.21 ### Changes - Version alignment with core Clawdbot release numbers. diff --git a/extensions/nostr/package.json b/extensions/nostr/package.json index 8630ac1d2..2e0bd0132 100644 --- a/extensions/nostr/package.json +++ b/extensions/nostr/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/nostr", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot Nostr channel plugin for NIP-04 encrypted DMs", "clawdbot": { diff --git a/extensions/signal/package.json b/extensions/signal/package.json index e849a57cc..3a80b650e 100644 --- a/extensions/signal/package.json +++ b/extensions/signal/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/signal", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot Signal channel plugin", "clawdbot": { diff --git a/extensions/slack/package.json b/extensions/slack/package.json index c24cf7890..d07ec2fda 100644 --- a/extensions/slack/package.json +++ b/extensions/slack/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/slack", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot Slack channel plugin", "clawdbot": { diff --git a/extensions/telegram/package.json b/extensions/telegram/package.json index 003ca330f..38333c2f3 100644 --- a/extensions/telegram/package.json +++ b/extensions/telegram/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/telegram", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot Telegram channel plugin", "clawdbot": { diff --git a/extensions/voice-call/CHANGELOG.md b/extensions/voice-call/CHANGELOG.md index b965d5d3b..807c6ffb6 100644 --- a/extensions/voice-call/CHANGELOG.md +++ b/extensions/voice-call/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 2026.1.20-2 +## 2026.1.21 ### Changes - Version alignment with core Clawdbot release numbers. diff --git a/extensions/voice-call/package.json b/extensions/voice-call/package.json index 6c8962cd7..a56fafdf8 100644 --- a/extensions/voice-call/package.json +++ b/extensions/voice-call/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/voice-call", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot voice-call plugin", "dependencies": { diff --git a/extensions/whatsapp/package.json b/extensions/whatsapp/package.json index 45530a438..44a7cd447 100644 --- a/extensions/whatsapp/package.json +++ b/extensions/whatsapp/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/whatsapp", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot WhatsApp channel plugin", "clawdbot": { diff --git a/extensions/zalo/CHANGELOG.md b/extensions/zalo/CHANGELOG.md index 804d5b035..1890023c2 100644 --- a/extensions/zalo/CHANGELOG.md +++ b/extensions/zalo/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 2026.1.20-2 +## 2026.1.21 ### Changes - Version alignment with core Clawdbot release numbers. diff --git a/extensions/zalo/package.json b/extensions/zalo/package.json index b97b09aca..cf26a354d 100644 --- a/extensions/zalo/package.json +++ b/extensions/zalo/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/zalo", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot Zalo channel plugin", "clawdbot": { diff --git a/extensions/zalouser/CHANGELOG.md b/extensions/zalouser/CHANGELOG.md index 903f695a5..f0154f95d 100644 --- a/extensions/zalouser/CHANGELOG.md +++ b/extensions/zalouser/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 2026.1.20-2 +## 2026.1.21 ### Changes - Version alignment with core Clawdbot release numbers. diff --git a/extensions/zalouser/package.json b/extensions/zalouser/package.json index d0e2c3d0b..932fe6b3d 100644 --- a/extensions/zalouser/package.json +++ b/extensions/zalouser/package.json @@ -1,6 +1,6 @@ { "name": "@clawdbot/zalouser", - "version": "2026.1.20-2", + "version": "2026.1.21", "type": "module", "description": "Clawdbot Zalo Personal Account plugin via zca-cli", "dependencies": { diff --git a/package.json b/package.json index 7ddca7764..0bc9e7236 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "clawdbot", - "version": "2026.1.20-2", + "version": "2026.1.21", "description": "WhatsApp gateway CLI (Baileys web) with Pi RPC agent", "type": "module", "main": "dist/index.js", diff --git a/src/cli/update-cli.test.ts b/src/cli/update-cli.test.ts index 4399dadaa..82a8aa778 100644 --- a/src/cli/update-cli.test.ts +++ b/src/cli/update-cli.test.ts @@ -302,7 +302,7 @@ describe("update-cli", () => { }); vi.mocked(resolveNpmChannelTag).mockResolvedValue({ tag: "latest", - version: "2026.1.20-1", + version: "2026.1.21-1", }); vi.mocked(runGatewayUpdate).mockResolvedValue({ status: "ok", diff --git a/src/infra/update-check.test.ts b/src/infra/update-check.test.ts index 628bb0452..abd5a7ce0 100644 --- a/src/infra/update-check.test.ts +++ b/src/infra/update-check.test.ts @@ -29,19 +29,19 @@ describe("resolveNpmChannelTag", () => { it("falls back to latest when beta is older", async () => { versionByTag.beta = "2026.1.19-beta.1"; - versionByTag.latest = "2026.1.20-1"; + versionByTag.latest = "2026.1.21-1"; const resolved = await resolveNpmChannelTag({ channel: "beta", timeoutMs: 1000 }); - expect(resolved).toEqual({ tag: "latest", version: "2026.1.20-1" }); + expect(resolved).toEqual({ tag: "latest", version: "2026.1.21-1" }); }); it("keeps beta when beta is not older", async () => { - versionByTag.beta = "2026.1.20-beta.1"; - versionByTag.latest = "2026.1.20-1"; + versionByTag.beta = "2026.1.21-beta.1"; + versionByTag.latest = "2026.1.21-1"; const resolved = await resolveNpmChannelTag({ channel: "beta", timeoutMs: 1000 }); - expect(resolved).toEqual({ tag: "beta", version: "2026.1.20-beta.1" }); + expect(resolved).toEqual({ tag: "beta", version: "2026.1.21-beta.1" }); }); }); diff --git a/src/infra/update-runner.test.ts b/src/infra/update-runner.test.ts index 250101ad4..fbc6ecfee 100644 --- a/src/infra/update-runner.test.ts +++ b/src/infra/update-runner.test.ts @@ -96,7 +96,7 @@ describe("runGatewayUpdate", () => { JSON.stringify({ name: "clawdbot", version: "1.0.0", packageManager: "pnpm@8.0.0" }), "utf-8", ); - const stableTag = "v2026.1.20-1"; + const stableTag = "v2026.1.21-1"; const betaTag = "v2026.1.19-beta.2"; const { runner, calls } = createRunner({ [`git -C ${tempDir} rev-parse --show-toplevel`]: { stdout: tempDir },