bkper 4.29.4 → 4.30.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +1 -1
  2. package/lib/agent/extensions/bkper-ai-provider.d.ts.map +1 -1
  3. package/lib/agent/extensions/bkper-ai-provider.js +5 -4
  4. package/lib/agent/extensions/bkper-ai-provider.js.map +1 -1
  5. package/lib/agent/extensions/builtins.d.ts.map +1 -1
  6. package/lib/agent/extensions/builtins.js +0 -2
  7. package/lib/agent/extensions/builtins.js.map +1 -1
  8. package/lib/commands/apps/deploy.d.ts +24 -3
  9. package/lib/commands/apps/deploy.d.ts.map +1 -1
  10. package/lib/commands/apps/deploy.js +41 -25
  11. package/lib/commands/apps/deploy.js.map +1 -1
  12. package/lib/commands/apps/git/clone.d.ts +8 -0
  13. package/lib/commands/apps/git/clone.d.ts.map +1 -1
  14. package/lib/commands/apps/git/clone.js +20 -31
  15. package/lib/commands/apps/git/clone.js.map +1 -1
  16. package/lib/commands/apps/git/credentials.d.ts +2 -1
  17. package/lib/commands/apps/git/credentials.d.ts.map +1 -1
  18. package/lib/commands/apps/git/credentials.js +28 -12
  19. package/lib/commands/apps/git/credentials.js.map +1 -1
  20. package/lib/commands/apps/git/external-source.d.ts +16 -0
  21. package/lib/commands/apps/git/external-source.d.ts.map +1 -0
  22. package/lib/commands/apps/git/external-source.js +113 -0
  23. package/lib/commands/apps/git/external-source.js.map +1 -0
  24. package/lib/commands/apps/git/index.d.ts +2 -1
  25. package/lib/commands/apps/git/index.d.ts.map +1 -1
  26. package/lib/commands/apps/git/index.js +2 -1
  27. package/lib/commands/apps/git/index.js.map +1 -1
  28. package/lib/commands/apps/git/inspect.d.ts.map +1 -1
  29. package/lib/commands/apps/git/inspect.js +7 -2
  30. package/lib/commands/apps/git/inspect.js.map +1 -1
  31. package/lib/commands/apps/git/mode.d.ts +3 -2
  32. package/lib/commands/apps/git/mode.d.ts.map +1 -1
  33. package/lib/commands/apps/git/mode.js +5 -6
  34. package/lib/commands/apps/git/mode.js.map +1 -1
  35. package/lib/commands/apps/git/preflight.d.ts +8 -3
  36. package/lib/commands/apps/git/preflight.d.ts.map +1 -1
  37. package/lib/commands/apps/git/preflight.js +19 -12
  38. package/lib/commands/apps/git/preflight.js.map +1 -1
  39. package/lib/commands/apps/git/push.d.ts +6 -1
  40. package/lib/commands/apps/git/push.d.ts.map +1 -1
  41. package/lib/commands/apps/git/push.js +50 -40
  42. package/lib/commands/apps/git/push.js.map +1 -1
  43. package/lib/commands/apps/git/run-git.d.ts +1 -0
  44. package/lib/commands/apps/git/run-git.d.ts.map +1 -1
  45. package/lib/commands/apps/git/run-git.js +1 -1
  46. package/lib/commands/apps/git/run-git.js.map +1 -1
  47. package/lib/commands/apps/git/types.d.ts +2 -2
  48. package/lib/commands/apps/git/types.d.ts.map +1 -1
  49. package/lib/commands/apps/git/types.js.map +1 -1
  50. package/lib/commands/apps/register.js +5 -5
  51. package/lib/commands/apps/register.js.map +1 -1
  52. package/lib/commands/apps/source-workflow.d.ts +4 -1
  53. package/lib/commands/apps/source-workflow.d.ts.map +1 -1
  54. package/lib/commands/apps/source-workflow.js +87 -32
  55. package/lib/commands/apps/source-workflow.js.map +1 -1
  56. package/lib/commands/apps/sync.d.ts.map +1 -1
  57. package/lib/commands/apps/sync.js +1 -0
  58. package/lib/commands/apps/sync.js.map +1 -1
  59. package/lib/docs/apps/app-listing.md +3 -3
  60. package/lib/docs/apps/architecture.md +3 -3
  61. package/lib/docs/apps/configuration.md +5 -5
  62. package/lib/docs/apps/context-menu.md +3 -3
  63. package/lib/docs/apps/deploying.md +10 -8
  64. package/lib/docs/apps/event-handlers.md +5 -5
  65. package/lib/docs/apps/first-app.md +12 -12
  66. package/lib/docs/apps/overview.md +10 -10
  67. package/lib/docs/apps/quality.md +5 -5
  68. package/lib/docs/apps/security.md +5 -5
  69. package/lib/docs/apps/self-hosted.md +4 -4
  70. package/lib/docs/apps/shared-app-source.md +16 -11
  71. package/lib/docs/cli/app-management.md +17 -12
  72. package/lib/docs/core/core-concepts.md +1 -1
  73. package/lib/docs/sdk/bkper-api-types.md +2 -0
  74. package/lib/docs/sdk/bkper-js.md +2 -0
  75. package/package.json +3 -3
  76. package/lib/agent/extensions/image-fallback.d.ts +0 -23
  77. package/lib/agent/extensions/image-fallback.d.ts.map +0 -1
  78. package/lib/agent/extensions/image-fallback.js +0 -177
  79. package/lib/agent/extensions/image-fallback.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"source-workflow.js","sourceRoot":"","sources":["../../../src/commands/apps/source-workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-workflow.js","sourceRoot":"","sources":["../../../src/commands/apps/source-workflow.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/commands/apps/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAc,MAAM,UAAU,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;;;GAIG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAI9C;AAED;;;;GAIG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAI9C;AAED;;;;GAIG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAmCnD"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/commands/apps/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAc,MAAM,UAAU,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;;;GAIG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAI9C;AAED;;;;GAIG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAI9C;AAED;;;;GAIG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAoCnD"}
@@ -64,6 +64,7 @@ export function syncApp() {
64
64
  throw err;
65
65
  }
66
66
  }
67
+ console.log('Verifying stored source...');
67
68
  return syncManagedAppSource({
68
69
  appId,
69
70
  coreAppExists: exists,
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/commands/apps/sync.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAO,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAgB,SAAS;;QAC3B,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,UAAU,CAAC;IACtB,CAAC;CAAA;AAED;;;;GAIG;AACH,MAAM,UAAgB,SAAS;;QAC3B,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,UAAU,CAAC;IACtB,CAAC;CAAA;AAED;;;;GAIG;AACH,MAAM,UAAgB,OAAO;;QACzB,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;QAE1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QAED,sBAAsB;QACtB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC;YACD,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,GAAG,IAAI,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,YAAY,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAChD,iCAAiC;gBACjC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;gBAC/C,MAAM,GAAG,KAAK,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,CAAC;YACd,CAAC;QACL,CAAC;QAED,OAAO,oBAAoB,CAAC;YACxB,KAAK;YACL,aAAa,EAAE,MAAM;YACrB,QAAQ,EAAE,CAAM,MAAM,EAAC,EAAE;gBACrB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACJ,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;gBACvB,CAAC;YACL,CAAC,CAAA;SACJ,CAAC,CAAC;IACP,CAAC;CAAA"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/commands/apps/sync.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAO,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAgB,SAAS;;QAC3B,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,UAAU,CAAC;IACtB,CAAC;CAAA;AAED;;;;GAIG;AACH,MAAM,UAAgB,SAAS;;QAC3B,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,UAAU,CAAC;IACtB,CAAC;CAAA;AAED;;;;GAIG;AACH,MAAM,UAAgB,OAAO;;QACzB,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;QAE1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QAED,sBAAsB;QACtB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC;YACD,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,GAAG,IAAI,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,YAAY,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAChD,iCAAiC;gBACjC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;gBAC/C,MAAM,GAAG,KAAK,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,CAAC;YACd,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,oBAAoB,CAAC;YACxB,KAAK;YACL,aAAa,EAAE,MAAM;YACrB,QAAQ,EAAE,CAAM,MAAM,EAAC,EAAE;gBACrB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACJ,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;gBACvB,CAAC;YACL,CAAC,CAAA;SACJ,CAAC,CAAC;IACP,CAAC;CAAA"}
@@ -4,7 +4,7 @@ All Bkper apps are listed on the Automations Portal at _[app.bkper.com](https://
4
4
 
5
5
  ![App listing on the Automations Portal](https://bkper.com/docs/_astro/bkper-app-listing.BgcbAsjE.png)
6
6
 
7
- App listings are populated from the fields you declare in [`bkper.yaml`](https://bkper.com/docs/build/apps/configuration.md). Sync metadata changes with `bkper app sync`. Deploying code is a separate step.
7
+ App listings are populated from the fields you declare in [`bkper.yaml`](https://bkper.com/docs/platform/apps/configuration.md). Sync metadata changes with `bkper app sync`. Deploying code is a separate step.
8
8
 
9
9
  ## Listing fields
10
10
 
@@ -24,7 +24,7 @@ ownerWebsite: https://yourwebsite.com
24
24
  website: https://your-app.bkper.app
25
25
  ```
26
26
 
27
- See [App Configuration](https://bkper.com/docs/build/apps/configuration.md) for the full `bkper.yaml` reference.
27
+ See [App Configuration](https://bkper.com/docs/platform/apps/configuration.md) for the full `bkper.yaml` reference.
28
28
 
29
29
  ## Default visibility
30
30
 
@@ -49,7 +49,7 @@ To make your app available to all Bkper users, contact us at [support@bkper.com]
49
49
  ### What the review involves
50
50
 
51
51
  - **Functionality check** — The app works correctly and handles errors gracefully
52
- - **Quality review** — The implementation follows the [App Quality Guidelines](https://bkper.com/docs/build/apps/quality.md)
52
+ - **Quality review** — The implementation follows the [App Quality Guidelines](https://bkper.com/docs/platform/apps/quality.md)
53
53
  - **Security review** — Event handlers are idempotent and include loop prevention
54
54
  - **Listing quality** — The app has a clear name, description, logo, and user-facing documentation
55
55
 
@@ -4,7 +4,7 @@ Bkper platform apps use one Worker bundle per app and environment. The same Work
4
4
 
5
5
  Treat `/api/*` as the reusable surface for app behavior. The bundled web client is one consumer; scripts, external clients, and agents can call the same routes with bearer authentication.
6
6
 
7
- Follow the [App Quality Guidelines](https://bkper.com/docs/build/apps/quality.md) when implementing, changing, or reviewing an app.
7
+ Follow the [App Quality Guidelines](https://bkper.com/docs/platform/apps/quality.md) when implementing, changing, or reviewing an app.
8
8
 
9
9
  ## Structure
10
10
 
@@ -204,7 +204,7 @@ Platform outbound authentication injects the validated user's OAuth token on Bkp
204
204
 
205
205
  Authentication identifies the Bkper user, but each app must authorize sensitive data and actions server-side. Client-side checks are not an authorization boundary.
206
206
 
207
- See [App Security](https://bkper.com/docs/build/apps/security.md) for domain restrictions, Book permissions, and app installation checks.
207
+ See [App Security](https://bkper.com/docs/platform/apps/security.md) for domain restrictions, Book permissions, and app installation checks.
208
208
 
209
209
  ## Event handlers
210
210
 
@@ -212,7 +212,7 @@ Platform event deliveries reach `/events` on the same Worker. Event adapters liv
212
212
 
213
213
  Event code uses server-side `new Bkper()` and must not read `bkper-oauth-token`, `bkper-agent-id`, or `Authorization` headers. Dispatch and platform outbound authentication handle the event token and app agent identity.
214
214
 
215
- See [Event Handlers](https://bkper.com/docs/build/apps/event-handlers.md) for routing, responses, loop prevention, and event types. Self-hosted handlers process event authentication directly because the platform outbound layer is not involved.
215
+ See [Event Handlers](https://bkper.com/docs/platform/apps/event-handlers.md) for routing, responses, loop prevention, and event types. Self-hosted handlers process event authentication directly because the platform outbound layer is not involved.
216
216
 
217
217
  ## App shapes
218
218
 
@@ -97,7 +97,7 @@ deployment:
97
97
 
98
98
  `SIDEBAR` and `EXPANDED` Apps can receive live context updates while their iframe stays loaded. `NEW_TAB` Apps receive context only in the URL used to open the tab.
99
99
 
100
- See [Context Menu](https://bkper.com/docs/build/apps/context-menu.md#live-context-updates) for menu URL configuration and live context updates.
100
+ See [Context Menu](https://bkper.com/docs/platform/apps/context-menu.md#live-context-updates) for menu URL configuration and live context updates.
101
101
 
102
102
  ### Menu URL variables
103
103
 
@@ -123,9 +123,9 @@ The following variables can be used in `menuUrl` and `menuUrlDev`:
123
123
  | `webhookUrl` | Production webhook URL for receiving events. |
124
124
  | `webhookUrlDev` | Development webhook URL (auto-updated by `bkper app dev`). |
125
125
  | `apiVersion` | API version for event payloads (currently `v5`). |
126
- | `events` | List of [event types](https://bkper.com/docs/build/apps/event-handlers.md#event-types) to subscribe to. |
126
+ | `events` | List of [event types](https://bkper.com/docs/platform/apps/event-handlers.md#event-types) to subscribe to. |
127
127
 
128
- See [Event Handlers](https://bkper.com/docs/build/apps/event-handlers.md) for details on handling events.
128
+ See [Event Handlers](https://bkper.com/docs/platform/apps/event-handlers.md) for details on handling events.
129
129
 
130
130
  ### File patterns
131
131
 
@@ -160,7 +160,7 @@ propertiesSchema:
160
160
 
161
161
  ### Deployment
162
162
 
163
- For apps deployed to the [Bkper Platform](https://bkper.com/docs/build/apps/overview.md):
163
+ For apps deployed to the [Bkper Platform](https://bkper.com/docs/platform/apps/overview.md):
164
164
 
165
165
  | Field | Description |
166
166
  | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
@@ -170,4 +170,4 @@ For apps deployed to the [Bkper Platform](https://bkper.com/docs/build/apps/over
170
170
  | `deployment.secrets` | Secret names used by the app. Managed via `bkper app secrets`. |
171
171
  | `deployment.compatibility_date` | [Cloudflare Workers compatibility date](https://developers.cloudflare.com/workers/configuration/compatibility-dates/). |
172
172
 
173
- See [Building & Deploying](https://bkper.com/docs/build/apps/deploying.md) for the full deployment workflow.
173
+ See [Building & Deploying](https://bkper.com/docs/platform/apps/deploying.md) for the full deployment workflow.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Apps can add context menu items on the Transactions page **More** menu in your Books. This lets you open dynamically built URLs with reference to the current Book's context — the active query, selected account, date range, and more.
4
4
 
5
- Embedded interfaces should follow the [App Quality Guidelines](https://bkper.com/docs/build/apps/quality.md) for visual consistency, startup behavior, and Book-context verification.
5
+ Embedded interfaces should follow the [App Quality Guidelines](https://bkper.com/docs/platform/apps/quality.md) for visual consistency, startup behavior, and Book-context verification.
6
6
 
7
7
  ## How it works
8
8
 
@@ -16,7 +16,7 @@ When clicked, a popup opens carrying the particular context of that book at that
16
16
 
17
17
  ## Configuration
18
18
 
19
- Configure the menu URL in your [`bkper.yaml`](https://bkper.com/docs/build/apps/configuration.md):
19
+ Configure the menu URL in your [`bkper.yaml`](https://bkper.com/docs/platform/apps/configuration.md):
20
20
 
21
21
  ```yaml
22
22
  menuUrl: https://my-app.bkper.app?bookId=${book.id}&query=${transactions.query}
@@ -115,4 +115,4 @@ The menu URL supports these dynamic expressions:
115
115
  | `${group.id}` | The selected group ID |
116
116
  | `${group.name}` | The selected group name |
117
117
 
118
- For the full list of accepted expressions, see the [Menu URL variables](https://bkper.com/docs/build/apps/configuration.md#menu-url-variables) reference.
118
+ For the full list of accepted expressions, see the [Menu URL variables](https://bkper.com/docs/platform/apps/configuration.md#menu-url-variables) reference.
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## The deployment workflow
4
4
 
5
+ Sync and deployment require an attached, clean, committed Git branch whose current commit is stored remotely. Bkper-managed private Git is recommended. Apps without Git receive actionable initialization and managed-sync instructions from the CLI; external repositories must configure and push the current branch to its intended upstream.
6
+
5
7
  Run the template's deterministic checks before releasing:
6
8
 
7
9
  ```bash
@@ -26,7 +28,7 @@ npm run check
26
28
  bkper app sync
27
29
  ```
28
30
 
29
- Syncs your `bkper.yaml` configuration to Bkper — name, description, menu URLs, webhook URLs, access control, and branding. For an app using Bkper-managed source, it also safely pushes the current clean, committed branch. Sync does not build or deploy the app.
31
+ Verifies stored source, then syncs your `bkper.yaml` configuration to Bkper — name, description, menu URLs, webhook URLs, access control, and branding. For managed source, it safely pushes the current clean, committed branch. For external source, it fetches the configured upstream and verifies that it contains the current commit. Sync does not build or deploy the app.
30
32
 
31
33
  3. **Deploy** — Upload the local build to the platform
32
34
 
@@ -34,7 +36,7 @@ npm run check
34
36
  bkper app deploy
35
37
  ```
36
38
 
37
- For a managed-source app, deploy safely pushes and verifies the current commit. It then uploads your existing pre-built code from `dist/` to the Bkper Platform. The command does not run a build. Your app is live at `https://{appId}.bkper.app`.
39
+ Deploy verifies stored source again. Managed source is pushed and Platform-verified; external source is checked against the configured upstream by the CLI. Deploy then uploads your existing pre-built code from `dist/` to the Bkper Platform. The command does not run a build, and the Platform does not prove that `dist/` was produced from the verified commit. Your app is live at `https://{appId}.bkper.app`.
38
40
 
39
41
  The app template combines all three after source changes are committed:
40
42
 
@@ -46,7 +48,7 @@ Use `npm run deploy:preview` for the preview environment.
46
48
 
47
49
  > **Caution: Source is not deployment**
48
50
  > An ordinary `git push` stores source only and never deploys. `bkper app sync` also does not deploy. Run `bkper app deploy` explicitly when the local build is ready to release.
49
- See [Shared App Source](https://bkper.com/docs/build/apps/shared-app-source.md) for managed-source setup, cloning, access, and external Git workflows.
51
+ See [Shared App Source](https://bkper.com/docs/platform/apps/shared-app-source.md) for managed-source setup, cloning, access, and external Git workflows.
50
52
 
51
53
  ### Production
52
54
 
@@ -131,7 +133,7 @@ app.get('/api/data', async c => {
131
133
  });
132
134
  ```
133
135
 
134
- During local development, use the `.dev.vars` file instead. See [Development Experience](https://bkper.com/docs/build/apps/development.md#local-secrets).
136
+ During local development, use the `.dev.vars` file instead. See [Development Experience](https://bkper.com/docs/platform/apps/development.md#local-secrets).
135
137
 
136
138
  ### KV storage
137
139
 
@@ -172,10 +174,10 @@ bkper app install <appId> -b <bookId>
172
174
  bkper app uninstall <appId> -b <bookId>
173
175
  ```
174
176
 
175
- Once installed, the app's [event handlers](https://bkper.com/docs/build/apps/event-handlers.md) receive events from that book at `/events`, and the app's [context menu](https://bkper.com/docs/build/apps/context-menu.md) appears in the book's UI.
177
+ Once installed, the app's [event handlers](https://bkper.com/docs/platform/apps/event-handlers.md) receive events from that book at `/events`, and the app's [context menu](https://bkper.com/docs/platform/apps/context-menu.md) appears in the book's UI.
176
178
 
177
179
  ## Next steps
178
180
 
179
- - [Shared App Source](https://bkper.com/docs/build/apps/shared-app-source.md) — Share private source without coupling Git pushes to deployment
180
- - [Development Experience](https://bkper.com/docs/build/apps/development.md) — Run the app and event delivery locally
181
- - [App Listing](https://bkper.com/docs/build/apps/app-listing.md) — Prepare the app for installation
181
+ - [Shared App Source](https://bkper.com/docs/platform/apps/shared-app-source.md) — Share private source without coupling Git pushes to deployment
182
+ - [Development Experience](https://bkper.com/docs/platform/apps/development.md) — Run the app and event delivery locally
183
+ - [App Listing](https://bkper.com/docs/platform/apps/app-listing.md) — Prepare the app for installation
@@ -6,11 +6,11 @@ Event handlers are the code that reacts to events in your Bkper Books. When a tr
6
6
 
7
7
  ## How it works
8
8
 
9
- 1. You declare which events your app handles in [`bkper.yaml`](https://bkper.com/docs/build/apps/configuration.md)
9
+ 1. You declare which events your app handles in [`bkper.yaml`](https://bkper.com/docs/platform/apps/configuration.md)
10
10
  2. Bkper sends an HTTP POST to your webhook URL when those events fire
11
11
  3. Your handler processes the event and returns a response
12
12
 
13
- On the [Bkper Platform](https://bkper.com/docs/build/apps/overview.md), events are routed to `/events` on your app's single Worker — including local development via tunnels. For [self-hosted](https://bkper.com/docs/build/apps/self-hosted.md) setups, you configure the webhook URL directly.
13
+ On the [Bkper Platform](https://bkper.com/docs/platform/apps/overview.md), events are routed to `/events` on your app's single Worker — including local development via tunnels. For [self-hosted](https://bkper.com/docs/platform/apps/self-hosted.md) setups, you configure the webhook URL directly.
14
14
 
15
15
  ## Agent identity
16
16
 
@@ -99,7 +99,7 @@ Do not read `bkper-oauth-token`, `bkper-agent-id`, or `Authorization` headers in
99
99
 
100
100
  > **Note**
101
101
  > During local development, events are routed through the Cloudflare tunnel started by `bkper app dev`. Local outbound uses your CLI credentials when the handler calls Bkper.
102
- For [self-hosted](https://bkper.com/docs/build/apps/self-hosted.md) setups, the event auth headers are sent to both `webhookUrl` and `webhookUrlDev` and must be handled directly by your infrastructure.
102
+ For [self-hosted](https://bkper.com/docs/platform/apps/self-hosted.md) setups, the event auth headers are sent to both `webhookUrl` and `webhookUrlDev` and must be handled directly by your infrastructure.
103
103
 
104
104
  ## Event routing pattern
105
105
 
@@ -197,7 +197,7 @@ The event payload has the following structure:
197
197
  }
198
198
  ```
199
199
 
200
- The event payload is the same structure exposed by the [REST API](https://bkper.com/docs/build/scripts/rest-api.md). If you use TypeScript, add the [`@bkper/bkper-api-types`](https://www.npmjs.com/package/@bkper/bkper-api-types) package to your project for full type definitions.
200
+ The event payload is the same structure exposed by the [REST API](https://bkper.com/docs/platform/scripts/rest-api.md). If you use TypeScript, add the [`@bkper/bkper-api-types`](https://www.npmjs.com/package/@bkper/bkper-api-types) package to your project for full type definitions.
201
201
 
202
202
  For update events, `data.previousAttributes` contains the fields that changed and their previous values — useful for computing diffs or reacting only to specific field changes.
203
203
 
@@ -212,7 +212,7 @@ events:
212
212
  - ACCOUNT_CREATED
213
213
  ```
214
214
 
215
- The complete current set of event types:
215
+ The complete API set of event types is listed below. `COMMENT_CREATED` and `COMMENT_DELETED` remain in the API for compatibility with historical Events; Comments are not available in the current Bkper PWA.
216
216
 
217
217
  | Event | Description |
218
218
  | --- | --- |
@@ -4,7 +4,7 @@ This tutorial walks you through building and deploying a Bkper app from scratch.
4
4
 
5
5
  ## Prerequisites
6
6
 
7
- [Development Setup](https://bkper.com/docs/build/getting-started/setup.md) — the CLI installed and authenticated.
7
+ [Development Setup](https://bkper.com/docs/platform/getting-started/setup.md) — the CLI installed and authenticated.
8
8
 
9
9
  ## Walkthrough
10
10
 
@@ -15,7 +15,7 @@ This tutorial walks you through building and deploying a Bkper app from scratch.
15
15
  cd my-app
16
16
  ```
17
17
 
18
- `bkper app init my-app` creates `./my-app` and uses `my-app` as the app id. The CLI sets your package name, URLs, and event-handler loop guards automatically. See [App Configuration](https://bkper.com/docs/build/apps/configuration.md) for the full `bkper.yaml` reference.
18
+ `bkper app init my-app` creates `./my-app` and uses `my-app` as the app id. The CLI sets your package name, URLs, and event-handler loop guards automatically. See [App Configuration](https://bkper.com/docs/platform/apps/configuration.md) for the full `bkper.yaml` reference.
19
19
 
20
20
  2. **Install and start developing**
21
21
 
@@ -24,7 +24,7 @@ This tutorial walks you through building and deploying a Bkper app from scratch.
24
24
  npm run dev
25
25
  ```
26
26
 
27
- This runs the Vite client dev server and the local Worker runtime with automatic event tunneling. See [Development Experience](https://bkper.com/docs/build/apps/development.md) for details.
27
+ This runs the Vite client dev server and the local Worker runtime with automatic event tunneling. See [Development Experience](https://bkper.com/docs/platform/apps/development.md) for details.
28
28
 
29
29
  3. **Open the app**
30
30
 
@@ -32,7 +32,7 @@ This tutorial walks you through building and deploying a Bkper app from scratch.
32
32
 
33
33
  4. **Trigger an event**
34
34
 
35
- Go to any Bkper book and check a transaction. The event handler creates a 20% draft using the original from and to Accounts. It does not affect balances unless posted. See [Event Handlers](https://bkper.com/docs/build/apps/event-handlers.md) for the full event model.
35
+ Go to any Bkper book and check a transaction. The event handler creates a 20% draft using the original from and to Accounts. It does not affect balances unless posted. See [Event Handlers](https://bkper.com/docs/platform/apps/event-handlers.md) for the full event model.
36
36
 
37
37
  5. **Make a change**
38
38
 
@@ -40,7 +40,7 @@ This tutorial walks you through building and deploying a Bkper app from scratch.
40
40
 
41
41
  6. **Customize your listing**
42
42
 
43
- Update `bkper.yaml` with your app's description and owner details. Replace the placeholder logos in `client/public/images/`. See [App Listing](https://bkper.com/docs/build/apps/app-listing.md) for publishing details.
43
+ Update `bkper.yaml` with your app's description and owner details. Replace the placeholder logos in `client/public/images/`. See [App Listing](https://bkper.com/docs/platform/apps/app-listing.md) for publishing details.
44
44
 
45
45
  7. **Update the README**
46
46
 
@@ -56,7 +56,7 @@ This tutorial walks you through building and deploying a Bkper app from scratch.
56
56
  bkper app sync
57
57
  ```
58
58
 
59
- For an eligible standalone app without an external remote, sync creates private Bkper-managed source and configures it as `origin`. Authorized teammates and coding agents can then clone the same codebase with `bkper app clone my-app`. See [Shared App Source](https://bkper.com/docs/build/apps/shared-app-source.md) for access rules and other source workflows.
59
+ Stored Git source is required before an app can sync or deploy. For this standalone app without an external remote, sync creates the recommended private Bkper-managed source and configures it as `origin`. Authorized teammates and coding agents can then clone the same codebase with `bkper app clone my-app`. See [Shared App Source](https://bkper.com/docs/platform/apps/shared-app-source.md) for access rules and external source workflows.
60
60
 
61
61
  9. **Check and deploy**
62
62
 
@@ -65,12 +65,12 @@ This tutorial walks you through building and deploying a Bkper app from scratch.
65
65
  npm run deploy
66
66
  ```
67
67
 
68
- Deployment is explicit: syncing or pushing source does not deploy the app. Your app is live at `https://my-app.bkper.app`. See [Building & Deploying](https://bkper.com/docs/build/apps/deploying.md) for preview environments, secrets, and KV.
68
+ Deployment is explicit: syncing or pushing source does not deploy the app. Your app is live at `https://my-app.bkper.app`. See [Building & Deploying](https://bkper.com/docs/platform/apps/deploying.md) for preview environments, secrets, and KV.
69
69
 
70
70
  ## Next steps
71
71
 
72
- - [Shared App Source](https://bkper.com/docs/build/apps/shared-app-source.md) — Clone and improve one private app codebase together
73
- - [App Architecture](https://bkper.com/docs/build/apps/architecture.md) — Understand the single Worker client/server structure
74
- - [App Configuration](https://bkper.com/docs/build/apps/configuration.md) — Full `bkper.yaml` reference
75
- - [Event Handlers](https://bkper.com/docs/build/apps/event-handlers.md) — All event types and patterns
76
- - [Building & Deploying](https://bkper.com/docs/build/apps/deploying.md) — Preview environments and secrets
72
+ - [Shared App Source](https://bkper.com/docs/platform/apps/shared-app-source.md) — Clone and improve one private app codebase together
73
+ - [App Architecture](https://bkper.com/docs/platform/apps/architecture.md) — Understand the single Worker client/server structure
74
+ - [App Configuration](https://bkper.com/docs/platform/apps/configuration.md) — Full `bkper.yaml` reference
75
+ - [Event Handlers](https://bkper.com/docs/platform/apps/event-handlers.md) — All event types and patterns
76
+ - [Building & Deploying](https://bkper.com/docs/platform/apps/deploying.md) — Preview environments and secrets
@@ -20,20 +20,20 @@ The same Worker can expose app-defined `/api/*` routes. Treat those routes as th
20
20
 
21
21
  When an app needs model inference, use Bkper AI by default. An authenticated app API route or event establishes the user and app identity, then platform outbound supplies authorization and usage attribution for the Worker's Bkper AI requests. The app does not need provider credentials.
22
22
 
23
- See [Add Bkper AI to an App](https://bkper.com/docs/build/apps/ai.md) for live model discovery, strict structured output, validation, and the client-to-Worker authentication flow.
23
+ See [Add Bkper AI to an App](https://bkper.com/docs/platform/apps/ai.md) for live model discovery, strict structured output, validation, and the client-to-Worker authentication flow.
24
24
 
25
25
  ### Authentication
26
26
 
27
27
  OAuth is pre-configured. No client IDs, no redirect URIs, no consent screens to build.
28
28
 
29
- - **Web client** — Use `@bkper/web-auth`: `auth.getAccessToken()`. See [App Architecture → Client authentication](https://bkper.com/docs/build/apps/architecture.md#client-authentication).
30
- - **Server API routes** — Send `Authorization: Bearer <token>` to `/api/*`; dispatch validates it and platform outbound injects auth for server-side Bkper API calls. See [App Architecture → Server API authentication](https://bkper.com/docs/build/apps/architecture.md#server-api-authentication).
31
- - **Event handlers** — Handle `/events` in the same Worker and call Bkper with server-side `new Bkper()`; dispatch/outbound handle auth and agent identity. See [Event Handlers → Authentication](https://bkper.com/docs/build/apps/event-handlers.md#authentication).
32
- - **Local development** — The Vite auth middleware uses your CLI credentials. See [Development Experience → Local development authentication](https://bkper.com/docs/build/apps/development.md#local-development-authentication).
29
+ - **Web client** — Use `@bkper/web-auth`: `auth.getAccessToken()`. See [App Architecture → Client authentication](https://bkper.com/docs/platform/apps/architecture.md#client-authentication).
30
+ - **Server API routes** — Send `Authorization: Bearer <token>` to `/api/*`; dispatch validates it and platform outbound injects auth for server-side Bkper API calls. See [App Architecture → Server API authentication](https://bkper.com/docs/platform/apps/architecture.md#server-api-authentication).
31
+ - **Event handlers** — Handle `/events` in the same Worker and call Bkper with server-side `new Bkper()`; dispatch/outbound handle auth and agent identity. See [Event Handlers → Authentication](https://bkper.com/docs/platform/apps/event-handlers.md#authentication).
32
+ - **Local development** — The Vite auth middleware uses your CLI credentials. See [Development Experience → Local development authentication](https://bkper.com/docs/platform/apps/development.md#local-development-authentication).
33
33
 
34
34
  ### Services
35
35
 
36
- Declare the services you need in [`bkper.yaml`](https://bkper.com/docs/build/apps/configuration.md) and the platform provisions them:
36
+ Declare the services you need in [`bkper.yaml`](https://bkper.com/docs/platform/apps/configuration.md) and the platform provisions them:
37
37
 
38
38
  - **KV storage** — Key-value storage for caching and state. Access via `c.env.KV` in your handlers.
39
39
  - **Secrets** — Securely stored environment variables. Set via `bkper app secrets put`, access via `c.env.SECRET_NAME`.
@@ -54,7 +54,7 @@ Bkper can host one private codebase for your app. Authorized teammates and codin
54
54
 
55
55
  Source synchronization remains separate from deployment. A Git push stores source but never builds or deploys the app.
56
56
 
57
- See [Shared App Source](https://bkper.com/docs/build/apps/shared-app-source.md) for the collaboration workflow, access rules, and external Git options.
57
+ See [Shared App Source](https://bkper.com/docs/platform/apps/shared-app-source.md) for the collaboration workflow, access rules, and external Git options.
58
58
 
59
59
  ### Deployment
60
60
 
@@ -101,6 +101,6 @@ This gives you a working app with a client UI, server API routes, and `/events`
101
101
 
102
102
  ## Next steps
103
103
 
104
- - [Your First App](https://bkper.com/docs/build/apps/first-app.md) — Build and deploy a complete platform app
105
- - [Shared App Source](https://bkper.com/docs/build/apps/shared-app-source.md) — Collaborate from one private codebase
106
- - [App Architecture](https://bkper.com/docs/build/apps/architecture.md) — Understand how platform apps are structured
104
+ - [Your First App](https://bkper.com/docs/platform/apps/first-app.md) — Build and deploy a complete platform app
105
+ - [Shared App Source](https://bkper.com/docs/platform/apps/shared-app-source.md) — Collaborate from one private codebase
106
+ - [App Architecture](https://bkper.com/docs/platform/apps/architecture.md) — Understand how platform apps are structured
@@ -66,7 +66,7 @@ Keep the security boundary simple and explicit:
66
66
  - Access only the Book data needed for the operation.
67
67
  - Make event handling safe to retry and prevent event loops.
68
68
 
69
- See [App Security](https://bkper.com/docs/build/apps/security.md) and [Event Handlers](https://bkper.com/docs/build/apps/event-handlers.md) for implementation details.
69
+ See [App Security](https://bkper.com/docs/platform/apps/security.md) and [Event Handlers](https://bkper.com/docs/platform/apps/event-handlers.md) for implementation details.
70
70
 
71
71
  ## Verification
72
72
 
@@ -81,7 +81,7 @@ App reviews should report concrete findings with file locations and suggested fi
81
81
 
82
82
  ## Next Steps
83
83
 
84
- - [App Architecture](https://bkper.com/docs/build/apps/architecture.md) — Client, server, API, and event structure.
85
- - [App Security](https://bkper.com/docs/build/apps/security.md) — Authentication and authorization boundaries.
86
- - [Context Menu](https://bkper.com/docs/build/apps/context-menu.md) — Embedded Book context and open modes.
87
- - [Development Experience](https://bkper.com/docs/build/apps/development.md) — Local development and deterministic checks.
84
+ - [App Architecture](https://bkper.com/docs/platform/apps/architecture.md) — Client, server, API, and event structure.
85
+ - [App Security](https://bkper.com/docs/platform/apps/security.md) — Authentication and authorization boundaries.
86
+ - [Context Menu](https://bkper.com/docs/platform/apps/context-menu.md) — Embedded Book context and open modes.
87
+ - [Development Experience](https://bkper.com/docs/platform/apps/development.md) — Local development and deterministic checks.
@@ -8,7 +8,7 @@ Authentication identifies the Bkper user making a request. The platform handles
8
8
 
9
9
  Authorization determines whether that user may perform a specific operation.
10
10
 
11
- See [App Architecture](https://bkper.com/docs/build/apps/architecture.md) for the client and server authentication flow.
11
+ See [App Architecture](https://bkper.com/docs/platform/apps/architecture.md) for the client and server authentication flow.
12
12
 
13
13
  ## Authorize app operations
14
14
 
@@ -68,7 +68,7 @@ if (!isInstalled) {
68
68
 
69
69
  ## Next Steps
70
70
 
71
- - [App Quality Guidelines](https://bkper.com/docs/build/apps/quality.md) — Review cross-cutting app quality and security expectations.
72
- - [App Architecture](https://bkper.com/docs/build/apps/architecture.md) — Understand client and server authentication flows.
73
- - [Building & Deploying](https://bkper.com/docs/build/apps/deploying.md#setting-secrets) — Store production and preview secrets.
74
- - [Event Handlers](https://bkper.com/docs/build/apps/event-handlers.md#authentication) — Understand authentication for platform and self-hosted events.
71
+ - [App Quality Guidelines](https://bkper.com/docs/platform/apps/quality.md) — Review cross-cutting app quality and security expectations.
72
+ - [App Architecture](https://bkper.com/docs/platform/apps/architecture.md) — Understand client and server authentication flows.
73
+ - [Building & Deploying](https://bkper.com/docs/platform/apps/deploying.md#setting-secrets) — Store production and preview secrets.
74
+ - [Event Handlers](https://bkper.com/docs/platform/apps/event-handlers.md#authentication) — Understand authentication for platform and self-hosted events.
@@ -1,6 +1,6 @@
1
1
  # Bkper Self-Hosted Webhooks
2
2
 
3
- The [Bkper Platform](https://bkper.com/docs/build/apps/overview.md) handles hosting, authentication, and deployment for you. However, you can host event handlers on your own infrastructure if you have specific requirements — existing cloud setup, compliance constraints, or legacy apps.
3
+ The [Bkper Platform](https://bkper.com/docs/platform/apps/overview.md) handles hosting, authentication, and deployment for you. However, you can host event handlers on your own infrastructure if you have specific requirements — existing cloud setup, compliance constraints, or legacy apps.
4
4
 
5
5
  > **Tip**
6
6
  > Use the Bkper Platform unless you have a specific reason to self-host. It eliminates the need to manage authentication, secrets, hosting, and deployment yourself.
@@ -8,7 +8,7 @@ The [Bkper Platform](https://bkper.com/docs/build/apps/overview.md) handles host
8
8
 
9
9
  A Bkper event handler running on [Google Cloud Functions](https://cloud.google.com/functions/) receives authenticated calls from the `bkper-hrd@appspot.gserviceaccount.com` service account. You need to grant this service account the [Cloud Functions Invoker IAM role](https://cloud.google.com/functions/docs/securing/managing-access-iam) (`roles/cloudfunctions.invoker`).
10
10
 
11
- Set the production endpoint in [`bkper.yaml`](https://bkper.com/docs/build/apps/configuration.md):
11
+ Set the production endpoint in [`bkper.yaml`](https://bkper.com/docs/platform/apps/configuration.md):
12
12
 
13
13
  ```yaml
14
14
  webhookUrl: https://us-central1-my-project.cloudfunctions.net/events
@@ -32,7 +32,7 @@ The function response must follow the standard format:
32
32
  { result?: any, error?: any }
33
33
  ```
34
34
 
35
- See [Event Handlers](https://bkper.com/docs/build/apps/event-handlers.md#response-format) for details on response handling.
35
+ See [Event Handlers](https://bkper.com/docs/platform/apps/event-handlers.md#response-format) for details on response handling.
36
36
 
37
37
  ### Considerations
38
38
 
@@ -46,7 +46,7 @@ See [Event Handlers](https://bkper.com/docs/build/apps/event-handlers.md#respons
46
46
 
47
47
  You can host event handlers on any infrastructure — other cloud providers, containers, on-premise servers.
48
48
 
49
- Configure the same `webhookUrl` property in [`bkper.yaml`](https://bkper.com/docs/build/apps/configuration.md):
49
+ Configure the same `webhookUrl` property in [`bkper.yaml`](https://bkper.com/docs/platform/apps/configuration.md):
50
50
 
51
51
  ```yaml
52
52
  webhookUrl: https://my-server.example.com/bkper/events
@@ -2,7 +2,7 @@
2
2
 
3
3
  Bkper-managed app source gives your team and coding agents one shared private codebase for a Bkper app. Authorized app developers can clone the same repository, improve it locally, and continue from one shared history without setting up a separate Git host.
4
4
 
5
- Shared app source supports development collaboration. It does not automatically build or deploy your app.
5
+ Every app sync and deployment requires clean, committed source stored in a durable Git remote. Bkper-managed source is the recommended default for development collaboration. It does not automatically build or deploy your app.
6
6
 
7
7
  ## Who can access the source
8
8
 
@@ -66,7 +66,7 @@ Keep agent instructions such as `AGENTS.md` in the repository so every teammate
66
66
 
67
67
  ## Source synchronization is not deployment
68
68
 
69
- Source storage and app deployment are separate operations:
69
+ Source storage and app deployment are separate operations. Apps without a Git repository cannot sync or deploy; the CLI provides the initialization and managed-sync steps needed to establish source safely.
70
70
 
71
71
  | Action | What it does with source | Does it deploy? |
72
72
  | ------------------ | ------------------------------------------------------------------------------ | --------------- |
@@ -75,19 +75,24 @@ Source storage and app deployment are separate operations:
75
75
  | `npm run build` | Creates local build output in `dist/`. | No |
76
76
  | `bkper app deploy` | Pushes and verifies the managed commit, then uploads the existing local build. | Yes |
77
77
 
78
- An ordinary Git push never deploys. `bkper app deploy` also does not run a build, so build locally before deploying the result you intend to release.
78
+ An ordinary Git push never deploys. `bkper app deploy` also does not run a build, so build locally before deploying the result you intend to release. The CLI verifies the stored source commit but does not prove that the local `dist/` output was built from it.
79
79
 
80
- Managed sync and deploy require a clean, committed working tree and use fast-forward safety checks. The CLI does not automatically commit, merge, rebase, force-push, reset, or discard files.
80
+ Managed sync and deploy require a clean, committed working tree and use fast-forward safety checks. External sync and deploy require the current branch to track an upstream containing the current clean commit. The CLI does not automatically commit, merge, rebase, force-push, reset, discard files, choose an external remote, or push to an external provider.
81
81
 
82
82
  ## External Git and monorepos
83
83
 
84
84
  Bkper-managed source is optional. Existing workflows remain external when:
85
85
 
86
- - the app already has a GitHub, GitLab, or other provider remote;
87
- - `bkper.yaml` is inside a monorepo rather than at the repository root; or
88
- - the app is otherwise not rooted in a standalone Git repository.
86
+ - the app already has a GitHub, GitLab, or other provider remote; or
87
+ - `bkper.yaml` is inside a monorepo rather than at the repository root.
89
88
 
90
- Clone those apps from their external provider. `bkper app clone` is for Bkper-managed source only.
89
+ The current branch must have a configured upstream containing the commit being synced or deployed. If no upstream is configured, choose the intended provider remote and store the branch explicitly:
90
+
91
+ ```bash
92
+ git push --set-upstream <remote> <branch>
93
+ ```
94
+
95
+ The CLI fetches and verifies the upstream without pushing or changing the working tree. Clone external apps from their provider. `bkper app clone` is for Bkper-managed source only.
91
96
 
92
97
  Moving an existing standalone app from an external provider is intentional: the CLI never removes or renames an existing remote. Before changing remotes, make sure every branch and tag you want to preserve is available locally and the current `main` branch is clean and committed. Removing all external remotes and running `bkper app sync` then activates managed source for an eligible app.
93
98
 
@@ -95,7 +100,7 @@ The `repoUrl` field in `bkper.yaml` is app-listing metadata. It does not select
95
100
 
96
101
  ## Next steps
97
102
 
98
- - [Your First App](https://bkper.com/docs/build/apps/first-app.md) — Scaffold an app and establish its shared source
99
- - [Building & Deploying](https://bkper.com/docs/build/apps/deploying.md) — Build, sync, preview, and deploy explicitly
100
- - [CLI](https://bkper.com/docs/build/tools/cli.md) — Install the CLI and review its app-development workflows
103
+ - [Your First App](https://bkper.com/docs/platform/apps/first-app.md) — Scaffold an app and establish its shared source
104
+ - [Building & Deploying](https://bkper.com/docs/platform/apps/deploying.md) — Build, sync, preview, and deploy explicitly
105
+ - [CLI](https://bkper.com/docs/platform/tools/cli.md) — Install the CLI and review its app-development workflows
101
106
  - [Coding Agents](https://bkper.com/docs/ai/coding-agents.md) — Give coding agents the Bkper and project context they need