Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
3a24b95
WIP: full reference for service.yaml
benitav Aug 12, 2026
8f6f0ea
Better intro and overview for both cloud and self-hosted instances
benitav Aug 19, 2026
34eed37
More natural flow of the self-hosted instance page
benitav Aug 19, 2026
28ba303
Swap the order of supplementary materials
benitav Aug 19, 2026
358334d
AI feedback
benitav Aug 19, 2026
0398d0f
Merge branch 'main' into service-yaml-reference
benitav Aug 19, 2026
9fb0fc6
Skills update: capitalize Service
benitav Aug 20, 2026
b6b7849
Use shared snippet for CLI getting started instructions
benitav Aug 20, 2026
4f85414
Polish after using the reviewer skill
benitav Aug 20, 2026
e5b516c
Merge branch 'service-yaml-reference' of github.com:powersync-ja/powe…
benitav Aug 20, 2026
ccb2f05
Side quest: remove old version mentions
benitav Aug 20, 2026
3b7cf45
Undocument some internal/deprecated options; add a couple missing ones
benitav Aug 20, 2026
c966823
Move "supplementary" materials into corresponding sections
benitav Aug 20, 2026
def7e69
Add storage version cross ref
benitav Aug 20, 2026
88cdec3
Merge branch 'main' into service-yaml-reference
benitav Aug 20, 2026
e09f2aa
Merge branch 'service-yaml-reference' of github.com:powersync-ja/powe…
benitav Aug 20, 2026
ae78a0c
Refer to heartbeat_interval_seconds from error PSYNC_S1345
benitav Aug 20, 2026
c0ba3fc
Add Xata to Vale accept list
benitav Aug 20, 2026
5fa851d
Claude feedback
benitav Aug 20, 2026
2ba55ab
Document MongoDB bucket storage required permissions
benitav Aug 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,9 +154,12 @@ Always use the left column. Never use the right.
| Postgres | PostgreSQL |
| partial sync | dynamic partial replication |
| PowerSync Service | powersync service |
| the Service (short for the PowerSync Service) | the service |
| Sync Rules | sync rules |
| Sync Streams | sync streams |

When referring to the PowerSync Service in shortened form, write "the Service" (capitalized), never "the service". Generic services (a Docker Compose service, a third-party service) stay lowercase.

## Mintlify Components

### When to Use What
Expand Down
5 changes: 3 additions & 2 deletions .claude/agents/document-reviewer.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,9 @@ These require judgment. Each item maps to a section of CLAUDE.md; apply the full
8. **Code examples**: language tag on every block; realistic data; no real secrets; filenames only on self-hosted examples; no SQL table aliases unless required.
9. **Links and navigation**: internal links use relative paths, never absolute URLs; new pages appear in `docs.json` navigation; moved or removed pages have redirects.
10. **Sync Streams policy**: no new content that teaches or promotes Sync Rules; where both appear side by side, the examples must return the same data with matching filters. In prose, "(or legacy Sync Rules)" is the approved pairing but only once per page or major section; later mentions omit Sync Rules.
11. **Technical accuracy**: flag claims, APIs, or examples you cannot verify.
12. **Legal and compliance content**: contractual or commercial terms may deviate from standard terminology (for example, "Synchronization Service" in the HIPAA shared-responsibility table). Don't "fix" these; outside legal contexts, the standard terms apply.
11. **"the Service" shorthand**: shortened references to the PowerSync Service are capitalized ("the Service", never "the service"). Generic services (a Docker Compose service, a third-party service) stay lowercase. Vale cannot distinguish these; judge from context.
12. **Technical accuracy**: flag claims, APIs, or examples you cannot verify.
13. **Legal and compliance content**: contractual or commercial terms may deviate from standard terminology (for example, "Synchronization Service" in the HIPAA shared-responsibility table). Don't "fix" these; outside legal contexts, the standard terms apply.

## Output Format

Expand Down
1 change: 1 addition & 0 deletions .claude/skills/doc-author/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ The `description` and opening paragraph must not duplicate each other — the op
| Postgres | PostgreSQL |
| partial sync | dynamic partial replication |
| PowerSync Service | powersync service |
| the Service (short for the PowerSync Service) | the service |
| Sync Rules | sync rules |
| Sync Streams | sync streams |

Expand Down
3 changes: 3 additions & 0 deletions .github/vale/config/vocabularies/PowerSync/accept.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ addon
addons
agnostically
allowlisting
anonymized
autoscaling
backpressure
baz
Expand Down Expand Up @@ -123,6 +124,7 @@ toolchains
ttl
uncomment
uncheck
unicast
unprovisioned
unmounts
unsynced
Expand Down Expand Up @@ -312,6 +314,7 @@ WASQLite
WinForms
Windsurf
WorkManager
Xata
Xcode
Yjs
Zod
Expand Down
2 changes: 1 addition & 1 deletion client-sdks/full-text-search.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

Full-text search has been demonstrated in the following SDKs:

- [**Dart/Flutter SDK**](/client-sdks/reference/flutter): Uses the [sqlite_async](https://pub.dev/documentation/sqlite_async/latest/) package for migrations

Check warning on line 12 in client-sdks/full-text-search.mdx

View check run for this annotation

Mintlify / Mintlify Validation (powersync) - vale-spellcheck

client-sdks/full-text-search.mdx#L12

Did you really mean 'sqlite'?
- [**JavaScript Web SDK**](/client-sdks/reference/javascript-web): Requires version 0.5.0 or greater (including [wa-sqlite](https://github.com/powersync-ja/wa-sqlite) 0.2.0+)
- [**JavaScript Web SDK**](/client-sdks/reference/javascript-web)
- [**React Native SDK**](/client-sdks/reference/react-native-and-expo): Requires additional configuration to enable FTS5, see [the README](https://www.npmjs.com/package/@powersync/react-native).
- [**Swift SDK**](/client-sdks/reference/swift)

Expand Down
2 changes: 1 addition & 1 deletion client-sdks/reference/flutter.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ class TodosWidget extends StatelessWidget {

## Configure Logging

Since version 1.1.2 of the SDK, logging is enabled by default and outputs logs from PowerSync to the console in debug mode.
Logging is enabled by default and outputs logs from PowerSync to the console in debug mode.

To disable this, or to configure logging in release-mode configurations, use the `logger` parameter on the `PowerSyncDatabase` constructor.
PowerSync uses [`package:logging`](https://pub.dev/packages/logging) to emit logs. See that package for additional information.
Expand Down
13 changes: 4 additions & 9 deletions client-sdks/usage-examples.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1001,7 +1001,7 @@ import JavaScriptCallbackWatch from '/snippets/basic-watch-query-javascript-call

<Tabs>
<Tab title="Dart/Flutter">
Use the [hasSynced](https://pub.dev/documentation/powersync/latest/powersync/SyncStatus/hasSynced.html) property (available since version 1.5.1 of the SDK) and register a listener to indicate to the user whether the initial sync is in progress.
Use the [hasSynced](https://pub.dev/documentation/powersync/latest/powersync/SyncStatus/hasSynced.html) property and register a listener to indicate to the user whether the initial sync is in progress.

```dart
// Example of using hasSynced to show whether the first sync has completed
Expand Down Expand Up @@ -1043,7 +1043,7 @@ import JavaScriptCallbackWatch from '/snippets/basic-watch-query-javascript-call
</Tab>

<Tab title="React Native & Expo">
Use the [hasSynced](https://powersync-ja.github.io/powersync-js/common/interfaces/SyncStatus#hassynced) property (available since version 1.4.1 of the SDK) and register an event listener with [PowerSyncDatabase.registerListener](https://powersync-ja.github.io/powersync-js/common/interfaces/CommonPowerSyncDatabase#registerlistener) to indicate to the user whether the initial sync is in progress.
Use the [hasSynced](https://powersync-ja.github.io/powersync-js/common/interfaces/SyncStatus#hassynced) property and register an event listener with [PowerSyncDatabase.registerListener](https://powersync-ja.github.io/powersync-js/common/interfaces/CommonPowerSyncDatabase#registerlistener) to indicate to the user whether the initial sync is in progress.

```js
// Example of using hasSynced to show whether the first sync has completed
Expand All @@ -1067,7 +1067,7 @@ import JavaScriptCallbackWatch from '/snippets/basic-watch-query-javascript-call
</Tab>

<Tab title="JavaScript Web">
Use the [hasSynced](https://powersync-ja.github.io/powersync-js/common/interfaces/SyncStatus#hassynced) property (available since version 0.4.1 of the SDK) and register an event listener with [PowerSyncDatabase.registerListener](https://powersync-ja.github.io/powersync-js/common/interfaces/CommonPowerSyncDatabase#registerlistener) to indicate to the user whether the initial sync is in progress.
Use the [hasSynced](https://powersync-ja.github.io/powersync-js/common/interfaces/SyncStatus#hassynced) property and register an event listener with [PowerSyncDatabase.registerListener](https://powersync-ja.github.io/powersync-js/common/interfaces/CommonPowerSyncDatabase#registerlistener) to indicate to the user whether the initial sync is in progress.

```js
// Example of using hasSynced to show whether the first sync has completed
Expand Down Expand Up @@ -1155,7 +1155,7 @@ import JavaScriptCallbackWatch from '/snippets/basic-watch-query-javascript-call
</Tab>

<Tab title=".NET">
Use the [HasSynced](https://powersync-ja.github.io/powersync-dotnet/api/PowerSync.Common.DB.Crud.SyncStatus.HasSynced.html) property (available since version 0.0.6-alpha.1 of the SDK) to indicate to the user whether the initial sync is in progress.
Use the [HasSynced](https://powersync-ja.github.io/powersync-dotnet/api/PowerSync.Common.DB.Crud.SyncStatus.HasSynced.html) property to indicate to the user whether the initial sync is in progress.

```cs
using PowerSync.Common.Client;
Expand All @@ -1174,7 +1174,6 @@ import JavaScriptCallbackWatch from '/snippets/basic-watch-query-javascript-call
await db.WaitForFirstSync();

// Wait for a specific priority level to complete syncing
// The priority parameter is available since version 0.0.6-alpha.1 of the SDK
var prioritySyncRequest = new PowerSyncDatabase.PrioritySyncRequest{ Priority = 1 };
await db.WaitForFirstSync(request: prioritySyncRequest);
```
Expand Down Expand Up @@ -1458,10 +1457,6 @@ import JavaScriptCallbackWatch from '/snippets/basic-watch-query-javascript-call
<Tab title=".NET">
You can show users a progress bar when data downloads using the `DownloadProgress()` method from the [SyncStatus](https://powersync-ja.github.io/powersync-dotnet/api/PowerSync.Common.DB.Crud.SyncStatus.html) class. `DownloadProgress().DownloadedFraction` gives you a value from 0.0 to 1.0 representing the total sync progress. This is especially useful for long-running initial syncs.

<Note>
**Version compatibility**: The `DownloadProgress()` method is available since version 0.0.6-alpha.1 of the SDK. The event listener uses `db.Events.OnStatusChanged.ListenAsync` (since v0.0.11-alpha.1).
</Note>

Example:

```cs
Expand Down
32 changes: 24 additions & 8 deletions configuration/powersync-service/cloud-instances.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,34 @@ description: "Create and configure PowerSync Cloud instances with a database con
---

import CreateCloudInstance from '/snippets/create-cloud-instance.mdx';
import CreateCloudInstanceCli from '/snippets/create-cloud-instance-cli.mdx';

A PowerSync instance is a running deployment of the [PowerSync Service](/architecture/powersync-service): it replicates data from your source database and streams it to clients based on your [Sync Streams](/sync/streams/overview). On PowerSync Cloud, instances are hosted and managed for you, and you create and configure them in the [PowerSync Dashboard](https://dashboard.powersync.com) or with the [PowerSync CLI](/tools/cli).

## Create a PowerSync Instance

<CreateCloudInstance/>
<Tabs>
<Tab title="Dashboard">
<CreateCloudInstance/>
</Tab>

<Tab title="CLI">
<CreateCloudInstanceCli/>
</Tab>
</Tabs>

## Configure Your Instance

A new instance needs three things before clients can sync:

## Instance Settings
1. A connection to your source database. See [Source Database Connection](/configuration/source-db/connection).
2. Client authentication. See [Authentication Setup](/configuration/auth/overview). When getting started, you can use temporary [development tokens](/configuration/auth/development-tokens) instead of setting up a full auth provider.
3. A sync configuration defining what data syncs to which clients, written as [Sync Streams](/sync/streams/overview).

After creating an instance, you can configure various settings through the [PowerSync Dashboard](https://dashboard.powersync.com/):
In the Dashboard, each of these has its own view in the instance's sidebar. With the CLI, the database connection and client auth settings live in `service.yaml` and the sync configuration in `sync-config.yaml`; run `powersync deploy` to apply changes.

- **Database Connections**: Connect your instance to your source database. See [Source Database Connection](/configuration/source-db/connection) for details.
- **Client Auth**: Configure how clients authenticate. See [Authentication Setup](/configuration/auth/overview) for details.
- **Sync Streams / Sync Rules (legacy)**: Define what data to sync to clients. See [Sync Streams & Sync Rules Overview](/sync/overview) for details.
- **Settings**: Advanced instance-specific settings.
Other lower-level instance options, such as compacting buckets and deprovisioning, are available in the Dashboard under the instance's Settings view. The CLI has corresponding commands for most of these operations.

For more information about managing instances, see the [PowerSync Dashboard](/tools/powersync-dashboard) documentation.
For more information, see:
- [PowerSync Dashboard](/tools/powersync-dashboard) documentation
- [PowerSync CLI](/tools/cli) documentation
Loading