Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
176 commits
Select commit Hold shift + click to select a range
ed348e3
basic scaffolding
stevensJourney Feb 2, 2026
2e6fa58
confg templates
stevensJourney Feb 3, 2026
73763b2
Schema packages. Improve templates. WIP link commands.
stevensJourney Feb 3, 2026
f8021ca
wip: linking
stevensJourney Feb 3, 2026
16352ad
unify config types
stevensJourney Feb 3, 2026
63eebde
Command structures and implement deploy command
stevensJourney Feb 4, 2026
ec8d323
Add destroy and stop command implementation
stevensJourney Feb 4, 2026
77cc382
fetch and pull cloud config commands
stevensJourney Feb 4, 2026
a066fd7
Improvements from testing deploy workflow
stevensJourney Feb 5, 2026
0def649
Add multiple options for specifying cloud instance
stevensJourney Feb 5, 2026
23ad67e
Various command improvements. cloud Token and schema generation comma…
stevensJourney Feb 5, 2026
5d9a090
wip: shared commands
stevensJourney Feb 6, 2026
14d3e51
Help groups for CLI command flags. Unify linking resolve patterns. Up…
stevensJourney Feb 6, 2026
51bd353
validation commands
stevensJourney Feb 6, 2026
5a916c1
update docs
stevensJourney Feb 6, 2026
874e4d4
Support for naming and creating cloud instances
stevensJourney Feb 6, 2026
78fcb42
cleanup token input
stevensJourney Feb 6, 2026
321591c
update commands' descriptions
stevensJourney Feb 6, 2026
4d76397
strategic command shuffle
stevensJourney Feb 6, 2026
873d463
cli plugin framework. Docker deploy for self hosting example plugin.
stevensJourney Feb 6, 2026
a13c9f8
monorepo structure
stevensJourney Feb 6, 2026
69c3250
add usage docs for docker
stevensJourney Feb 6, 2026
5ec0fe3
wip: update docker templates
stevensJourney Feb 9, 2026
8a70580
docker plugin templating improvements
stevensJourney Feb 9, 2026
40a92b4
update workspace layout
stevensJourney Feb 9, 2026
78cc6d3
cleanup templates
stevensJourney Feb 9, 2026
35d2983
update readme
stevensJourney Feb 9, 2026
2798d21
formatting
stevensJourney Feb 9, 2026
68104f7
cleanup cloud commands
stevensJourney Feb 9, 2026
ec8180f
add colour to logs
stevensJourney Feb 9, 2026
756db05
update packages
stevensJourney Feb 9, 2026
90164bc
update start command docs
stevensJourney Feb 9, 2026
e6df80f
colourize errors. Add some basic examples
stevensJourney Feb 10, 2026
deface8
pretty format client errors
stevensJourney Feb 10, 2026
4ed581b
fix cloud deploy command failure. use micro web sdk client.
stevensJourney Feb 11, 2026
78f1c48
styled errors
stevensJourney Feb 11, 2026
bd40e12
cleanup logs - format command strings to standout
stevensJourney Feb 11, 2026
f8ed092
update fetch status command
stevensJourney Feb 11, 2026
b6face2
update examples with readmes
stevensJourney Feb 11, 2026
7c13bdc
Add basic node.js example app
stevensJourney Feb 11, 2026
a7a91fc
update docs
stevensJourney Feb 11, 2026
885dd0b
share code with core-api
stevensJourney Feb 11, 2026
604cab3
use relative paths for Docker
stevensJourney Feb 11, 2026
34e0ade
specify docker project name in compose projects
stevensJourney Feb 11, 2026
59edbca
accounts client and list instances command
stevensJourney Feb 12, 2026
5030b44
cleanup project loading
stevensJourney Feb 12, 2026
30720bb
cleanup token storage. Improve login command.
stevensJourney Feb 12, 2026
e517f95
wip: browser based PAT for login
stevensJourney Feb 16, 2026
cc979fa
improve config pull output
stevensJourney Feb 16, 2026
91e7667
improve schemas and config validation
stevensJourney Feb 16, 2026
758cf7e
update readmes
stevensJourney Feb 16, 2026
5781534
split init commands. Add interactivity to docker configure
stevensJourney Feb 16, 2026
b7aee18
refactor: rename link.yaml to cli.yaml
stevensJourney Feb 16, 2026
aef9ced
clean login command
stevensJourney Feb 16, 2026
4506cdc
Add ability to configure custom YAML tags for VSCode.
stevensJourney Feb 16, 2026
89aeec9
show progress during validations. neaten init commad logs.
stevensJourney Feb 17, 2026
25faae9
add more usage docs. refactor command name to powersync pull instance
stevensJourney Feb 17, 2026
c3a19f4
default org-id for PAT tokens with single org
stevensJourney Feb 17, 2026
e8aea02
readme cleanup
stevensJourney Feb 17, 2026
fe892ac
fallback login token to prompt if dashboard cannot send it
stevensJourney Feb 17, 2026
66a7fb5
improve PAT login with encryption for edge cases.
stevensJourney Feb 18, 2026
3d1a218
respond with html for long
stevensJourney Feb 19, 2026
4de930f
feat: migration of sync rules
stevensJourney Feb 19, 2026
ef7bac7
remove service-schema override
stevensJourney Feb 19, 2026
22d410c
less colour is more colour
stevensJourney Feb 19, 2026
0c60b99
rename sync rules to sync config. Add command for only deploying sync…
stevensJourney Feb 19, 2026
e082df0
YAML language server templating
stevensJourney Feb 19, 2026
23aff77
More token storage options.
stevensJourney Feb 19, 2026
a239df9
minor log cleanup
stevensJourney Feb 20, 2026
c837230
remove pnpm overrides
stevensJourney Feb 20, 2026
9d1a14d
formatting
stevensJourney Feb 20, 2026
1cc41b8
use single pnpm version
stevensJourney Feb 20, 2026
50d9ef1
remove local override
stevensJourney Feb 20, 2026
ae2f997
fix prettier ignore
stevensJourney Feb 20, 2026
770426c
pretty lint
stevensJourney Feb 20, 2026
6d1cd26
more cleanup
stevensJourney Feb 20, 2026
dce470e
cleanup
stevensJourney Feb 20, 2026
9e54182
try fix windows
stevensJourney Feb 20, 2026
39ac48a
tests for login command
stevensJourney Feb 20, 2026
bcf14bc
Add example commands
stevensJourney Feb 20, 2026
a2929c0
cleanup template config
stevensJourney Feb 20, 2026
9fd74e8
Merge branch 'init' into sync-rules-migrate
stevensJourney Feb 20, 2026
d61e2bc
update sync stream defaults
stevensJourney Feb 20, 2026
921e61b
formatting
stevensJourney Feb 20, 2026
054fadf
lint
stevensJourney Feb 20, 2026
50a45f6
update readme
stevensJourney Feb 20, 2026
caebe3f
Update cli/src/api/write-vscode-settings-for-yaml-env.ts
stevensJourney Feb 23, 2026
dccb61d
pr feedback items
stevensJourney Feb 23, 2026
d6f249f
Merge branch 'init' of github.com:powersync-ja/temp-cli into init
stevensJourney Feb 23, 2026
8429145
lint
stevensJourney Feb 23, 2026
2f6af9f
cleanup
stevensJourney Feb 23, 2026
f86df4e
ensure directory is required for multiple directories
stevensJourney Feb 23, 2026
e16a941
update sync config examples to edition 3
stevensJourney Feb 23, 2026
e729d8e
remove debug_api from templates
stevensJourney Feb 23, 2026
4c5bbaf
list is_provisioned in instance statuses. Wait for destroy and stop c…
stevensJourney Feb 24, 2026
34cef60
document oclif plugins
stevensJourney Feb 24, 2026
1c140ba
update templates in order to create cloud instances without replicati…
stevensJourney Feb 24, 2026
9a4bcd1
update instance status data_queries to used_for_replication
stevensJourney Feb 24, 2026
7cfd2e9
update validate message.
stevensJourney Feb 24, 2026
89385b8
update validation messages. refresh unit tests
stevensJourney Feb 24, 2026
4a5d932
fix tests
stevensJourney Feb 24, 2026
8665efe
husky lint
stevensJourney Feb 24, 2026
23d5999
more husky
stevensJourney Feb 24, 2026
3c4329d
update docs to refer to powersync docker command and topic - not plugin
stevensJourney Feb 24, 2026
78c4f15
wip: cleanup commands and topics
stevensJourney Feb 24, 2026
a6c1f0a
add autocomplete
stevensJourney Feb 24, 2026
1ba7179
add commands plugin
stevensJourney Feb 25, 2026
c35a15d
rename sync.yaml to sync-config.yaml
stevensJourney Feb 25, 2026
d952cca
update package name
stevensJourney Feb 25, 2026
268e879
add install instructions to readme
stevensJourney Feb 25, 2026
2188bef
update build script
stevensJourney Feb 25, 2026
11eb305
fix login command when pasting a PAT
stevensJourney Feb 25, 2026
b88dbe6
cleanup flag resolution order
stevensJourney Feb 25, 2026
80560f9
cleanup login command
stevensJourney Feb 25, 2026
d33535d
add ability to deploy only service config changes (no sync config)
stevensJourney Feb 25, 2026
7e1c365
cleanup deploy logging
stevensJourney Feb 25, 2026
4844ba2
Polish the yaml templates (#5)
benitav Feb 25, 2026
fe6fc60
fix format
stevensJourney Feb 25, 2026
38d88b5
Merge branch 'init' of github.com:powersync-ja/temp-cli into init
stevensJourney Feb 25, 2026
04019b7
fix tests
stevensJourney Feb 25, 2026
72f6b7f
fix typo
stevensJourney Feb 25, 2026
7f986e7
add note about cloud secrets
stevensJourney Feb 26, 2026
e29b1c5
allow linking if project directory does not exist
stevensJourney Feb 26, 2026
58d23b7
add powersync status alias
stevensJourney Feb 26, 2026
64e25ec
add objectId validation, and org - project existance checks
stevensJourney Feb 26, 2026
0653202
remove unknown error code.
stevensJourney Feb 26, 2026
1d87c0d
rename TOKEN to PS_ADMIN_TOKEN
stevensJourney Feb 26, 2026
9ff2af3
fix format
stevensJourney Feb 26, 2026
05177fb
assign project for self hosted commands
stevensJourney Feb 26, 2026
96cdb73
fix filename casing
stevensJourney Feb 26, 2026
2e60a40
fix order of spreading default options.
stevensJourney Feb 26, 2026
a10ed87
fix: destroy command should call destroyInstance
stevensJourney Feb 26, 2026
2d0b2a2
fix: docker typo
stevensJourney Feb 26, 2026
adc5964
temp move
stevensJourney Feb 26, 2026
6a4d1f4
move op
stevensJourney Feb 26, 2026
8894d8a
patch oclif for pnpm monorepo
stevensJourney Feb 26, 2026
91504cd
add workflows
stevensJourney Feb 26, 2026
683f3c0
try fix windows build
stevensJourney Feb 26, 2026
e0d5f69
more windows fixes
stevensJourney Feb 27, 2026
70eea12
some debug
stevensJourney Feb 27, 2026
a035435
try bump oclif
stevensJourney Feb 27, 2026
7e37d6e
windows: list output
stevensJourney Feb 27, 2026
8ed0dec
more windows test
stevensJourney Feb 27, 2026
59aba86
test s3 uploads
stevensJourney Feb 27, 2026
6cb73c8
fix
stevensJourney Feb 27, 2026
bf29b9a
declare s3 bucket for update
stevensJourney Feb 27, 2026
186391e
fix missing region
stevensJourney Feb 27, 2026
d46046b
fix for acls
stevensJourney Feb 27, 2026
7d5c048
test promote action
stevensJourney Feb 27, 2026
6a68eba
cleanup powersync status examples
stevensJourney Mar 1, 2026
a9d08d3
feedback from AI review
stevensJourney Mar 1, 2026
7ec5ee8
cleanup
stevensJourney Mar 1, 2026
682e439
Merge branch 'init' into packaging
stevensJourney Mar 1, 2026
903cae6
Merge remote-tracking branch 'origin/main' into packaging
stevensJourney Mar 2, 2026
a2042ad
update license to FSL
stevensJourney Mar 2, 2026
329b33f
remove S3 for now
stevensJourney Mar 2, 2026
230402a
update github workflows
stevensJourney Mar 3, 2026
fba0d37
changesets config
stevensJourney Mar 3, 2026
9cf8274
remove updates for now
stevensJourney Mar 3, 2026
eee998c
delete unused workflow
stevensJourney Mar 3, 2026
c373094
test
stevensJourney Mar 3, 2026
8540ee2
allow specifying retention days
stevensJourney Mar 3, 2026
46ddda8
allow specifying retention days
stevensJourney Mar 3, 2026
f52c9d8
remove temp push event
stevensJourney Mar 3, 2026
8ef38c0
cleanup
stevensJourney Mar 3, 2026
dd9a7ab
only build installers on powersync cli package release
stevensJourney Mar 3, 2026
164a8e4
update license dates
stevensJourney Mar 4, 2026
eedd2dc
Merge remote-tracking branch 'origin/main' into packaging
stevensJourney Mar 4, 2026
c2b224c
cleanup
stevensJourney Mar 4, 2026
2625538
Merge remote-tracking branch 'origin/main' into packaging
stevensJourney Mar 4, 2026
a9922a2
update repository name to powersync-cli
stevensJourney Mar 4, 2026
b6766e5
Set to version 0.9.0 in order to do manual release for trusted publis…
stevensJourney Mar 4, 2026
3e8c0ba
Merge branch 'main' into packaging
stevensJourney Mar 4, 2026
31beff8
update readmes
stevensJourney Mar 4, 2026
b228e5d
add previous changelog entries
stevensJourney Mar 4, 2026
1011d46
Update cli/README.md
stevensJourney Mar 4, 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
11 changes: 11 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.1.2/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [["powersync", "@powersync/cli-core", "@powersync/cli-schemas", "@powersync/cli-plugin-docker"]],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": []
}
5 changes: 5 additions & 0 deletions .changeset/shaggy-parks-notice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'powersync': patch
---

[Internal] Configure trusted publishing and Github release flow.
86 changes: 86 additions & 0 deletions .github/workflows/buildArtifacts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Build CLI Installer Artifacts Partial

on:
workflow_call:
inputs:
retention-days:
description: 'Number of days to retain uploaded artifacts'
type: number
default: 7

jobs:
package-installers:
strategy:
fail-fast: false
matrix:
include:
- os: macos-latest
command: pack macos
artifact_name: macos-pkg
artifact_path: cli/dist/**/*.pkg
- os: windows-latest
command: pack win --targets win32-x64
artifact_name: windows-installer
artifact_path: cli/dist/**/*.exe
- os: ubuntu-latest
command: pack deb
artifact_name: linux-deb
artifact_path: cli/dist/**/*.deb
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'pnpm'
- name: Configure pnpm linker for Windows packaging
if: ${{ matrix.os == 'windows-latest' }}
shell: pwsh
run: Set-Content -Path cli/.npmrc -Value "node-linker=hoisted"
- run: pnpm install --frozen-lockfile
- run: pnpm run build
- name: Install Windows packaging dependencies
if: ${{ matrix.os == 'windows-latest' }}
run: choco install nsis.portable 7zip grep --no-progress -y
- name: Verify Windows packaging dependencies
if: ${{ matrix.os == 'windows-latest' }}
shell: pwsh
run: |
where.exe makensis
where.exe 7z
where.exe grep
- name: Build installer
run: pnpm -C cli exec oclif ${{ matrix.command }}
- name: Upload installer artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact_name }}
path: ${{ matrix.artifact_path }}
retention-days: ${{ inputs.retention-days }}

package-tarballs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- run: pnpm run build
- name: Install 7-zip for packaging
run: |
sudo apt-get update
sudo apt-get install -y p7zip-full
- name: Build tarballs
run: pnpm -C cli exec oclif pack tarballs
- name: Upload tarball artifacts
uses: actions/upload-artifact@v4
with:
name: tarballs
path: |
cli/dist/**/*.tar.gz
cli/dist/**/*.tar.xz
retention-days: ${{ inputs.retention-days }}
15 changes: 15 additions & 0 deletions .github/workflows/onDispatchBuildArtifacts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Manually Build CLI Installers for Testing

on:
workflow_dispatch:
inputs:
retention-days:
description: 'Number of days to retain uploaded artifacts'
type: number
default: 7

jobs:
build-artifacts:
uses: ./.github/workflows/buildArtifacts.yml
with:
retention-days: ${{ inputs.retention-days || 7 }}
64 changes: 0 additions & 64 deletions .github/workflows/onPushToMain.yml

This file was deleted.

39 changes: 26 additions & 13 deletions .github/workflows/onRelease.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: publish on release
name: Add CLI Installers to GitHub Release

env:
# Increase heap to keep Nitro/Vite SSR builds (editor) from OOMing while treeshaking.
Expand All @@ -8,19 +8,32 @@ on:
release:
types: [released]

permissions:
contents: write

jobs:
publish:
build-artifacts:
if: startsWith(github.event.release.tag_name, 'powersync@')
uses: ./.github/workflows/buildArtifacts.yml
with:
retention-days: 1

publish-release-assets:
needs: [build-artifacts]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
- uses: actions/download-artifact@v4
with:
node-version-file: '.nvmrc'
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- run: pnpm run build
# - name: Publish @powersync/cli to npm
# run: pnpm publish -- --no-git-checks --access public
# env:
# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
path: release-assets
- name: Upload assets to GitHub Release
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
run: |
tag="${{ github.event.release.tag_name }}"
files=$(find release-assets -type f \( -name "*.pkg" -o -name "*.exe" -o -name "*.deb" -o -name "*.tar.gz" -o -name "*.tar.xz" \))
if [ -z "$files" ]; then
echo "Error: No artifacts found to upload"
exit 1
fi
gh release upload "$tag" $files --clobber
56 changes: 56 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Release

on:
push:
branches:
- main
workflow_dispatch: # For dev publishing

concurrency: ${{ github.workflow }}-${{ github.ref }}

permissions:
id-token: write # Required for OIDC / trusted publishing
contents: write # Required for changesets pushing commits
pull-requests: write # Required for changesets creating PRs

jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v6
- name: Enable Corepack
run: corepack enable
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
cache: pnpm
- name: Update npm
run: |
npm install -g npm@latest
npm --version
- name: Install dependencies
run: pnpm install

- name: Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
if: ${{ github.event_name == 'push' }}
with:
# Update the monorepo lockfile after versioning
version: pnpm changeset:version
# This expects you to have a script called release which does a build for your packages and calls changeset publish
publish: pnpm release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Dev publish
if: ${{ github.event_name == 'workflow_dispatch' }}
run: |
pnpm build:packages
pnpm changeset version --no-git-tag --snapshot dev
pnpm changeset publish --tag dev
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: tests
name: Unit Tests

env:
# Increase heap to keep Nitro/Vite SSR builds (editor) from OOMing while treeshaking.
Expand Down
Loading