Skip to content

Commit 10559c8

Browse files
authored
Split codebase (#455)
1 parent d2dc719 commit 10559c8

742 files changed

Lines changed: 7624 additions & 3187 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude-context.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ Make Yaak runnable as a standalone CLI without Tauri as a dependency. The core R
88

99
```
1010
crates/ # Core crates - should NOT depend on Tauri
11-
crates-tauri/ # Tauri-specific crates (yaak-app, yaak-tauri-utils, etc.)
11+
crates-tauri/ # Tauri-specific crates (yaak-app-client, yaak-tauri-utils, etc.)
1212
crates-cli/ # CLI crate (yaak-cli)
1313
```
1414

1515
## Completed Work
1616

1717
### 1. Folder Restructure
1818

19-
- Moved Tauri-dependent app code to `crates-tauri/yaak-app/`
19+
- Moved Tauri-dependent app code to `crates-tauri/yaak-app-client/`
2020
- Created `crates-tauri/yaak-tauri-utils/` for shared Tauri utilities (window traits, api_client, error handling)
2121
- Created `crates-cli/yaak-cli/` for the standalone CLI
2222

@@ -50,14 +50,14 @@ crates-cli/ # CLI crate (yaak-cli)
5050
3. Move extension traits (e.g., `SomethingManagerExt`) to yaak-app or yaak-tauri-utils
5151
4. Initialize managers in yaak-app's `.setup()` block
5252
5. Remove `tauri` from Cargo.toml dependencies
53-
6. Update `crates-tauri/yaak-app/capabilities/default.json` to remove the plugin permission
53+
6. Update `crates-tauri/yaak-app-client/capabilities/default.json` to remove the plugin permission
5454
7. Replace `tauri::async_runtime::block_on` with `tokio::runtime::Handle::current().block_on()`
5555

5656
## Key Files
5757

58-
- `crates-tauri/yaak-app/src/lib.rs` - Main Tauri app, setup block initializes managers
59-
- `crates-tauri/yaak-app/src/commands.rs` - Migrated Tauri commands
60-
- `crates-tauri/yaak-app/src/models_ext.rs` - Database plugin and extension traits
58+
- `crates-tauri/yaak-app-client/src/lib.rs` - Main Tauri app, setup block initializes managers
59+
- `crates-tauri/yaak-app-client/src/commands.rs` - Migrated Tauri commands
60+
- `crates-tauri/yaak-app-client/src/models_ext.rs` - Database plugin and extension traits
6161
- `crates-tauri/yaak-tauri-utils/src/window.rs` - WorkspaceWindowTrait for window state
6262
- `crates/yaak-models/src/lib.rs` - Contains `init_standalone()` for CLI usage
6363

@@ -79,5 +79,5 @@ e718a5f1 Refactor models_ext to use init_standalone from yaak-models
7979
## Testing
8080

8181
- Run `cargo check -p <crate>` to verify a crate builds without Tauri
82-
- Run `npm run app-dev` to test the Tauri app still works
82+
- Run `npm run client:dev` to test the Tauri app still works
8383
- Run `cargo run -p yaak-cli -- --help` to test the CLI

.gitattributes

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
crates-tauri/yaak-app/vendored/**/* linguist-generated=true
2-
crates-tauri/yaak-app/gen/schemas/**/* linguist-generated=true
1+
crates-tauri/yaak-app-client/vendored/**/* linguist-generated=true
2+
crates-tauri/yaak-app-client/gen/schemas/**/* linguist-generated=true
33
**/bindings/* linguist-generated=true
44
crates/yaak-templates/pkg/* linguist-generated=true
55

.github/workflows/release-app.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ jobs:
125125
security list-keychain -d user -s $KEYCHAIN_PATH
126126
127127
# Sign vendored binaries with hardened runtime and their specific entitlements
128-
codesign --force --options runtime --entitlements crates-tauri/yaak-app/macos/entitlements.yaakprotoc.plist --sign "$APPLE_SIGNING_IDENTITY" crates-tauri/yaak-app/vendored/protoc/yaakprotoc || true
129-
codesign --force --options runtime --entitlements crates-tauri/yaak-app/macos/entitlements.yaaknode.plist --sign "$APPLE_SIGNING_IDENTITY" crates-tauri/yaak-app/vendored/node/yaaknode || true
128+
codesign --force --options runtime --entitlements crates-tauri/yaak-app-client/macos/entitlements.yaakprotoc.plist --sign "$APPLE_SIGNING_IDENTITY" crates-tauri/yaak-app-client/vendored/protoc/yaakprotoc || true
129+
codesign --force --options runtime --entitlements crates-tauri/yaak-app-client/macos/entitlements.yaaknode.plist --sign "$APPLE_SIGNING_IDENTITY" crates-tauri/yaak-app-client/vendored/node/yaaknode || true
130130
131131
- uses: tauri-apps/tauri-action@v0
132132
env:
@@ -155,7 +155,8 @@ jobs:
155155
releaseBody: "[Changelog __VERSION__](https://yaak.app/blog/__VERSION__)"
156156
releaseDraft: true
157157
prerelease: true
158-
args: "${{ matrix.args }} --config ./crates-tauri/yaak-app/tauri.release.conf.json"
158+
projectPath: ./crates-tauri/yaak-app-client
159+
args: "${{ matrix.args }} --config ./tauri.release.conf.json"
159160

160161
# Build a per-machine NSIS installer for enterprise deployment (PDQ, SCCM, Intune)
161162
- name: Build and upload machine-wide installer (Windows only)
@@ -171,7 +172,9 @@ jobs:
171172
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
172173
run: |
173174
Get-ChildItem -Recurse -Path target -File -Filter "*.exe.sig" | Remove-Item -Force
174-
npx tauri bundle ${{ matrix.args }} --bundles nsis --config ./crates-tauri/yaak-app/tauri.release.conf.json --config '{"bundle":{"createUpdaterArtifacts":true,"windows":{"nsis":{"installMode":"perMachine"}}}}'
175+
Push-Location crates-tauri/yaak-app-client
176+
npx tauri bundle ${{ matrix.args }} --bundles nsis --config ./tauri.release.conf.json --config '{"bundle":{"createUpdaterArtifacts":true,"windows":{"nsis":{"installMode":"perMachine"}}}}'
177+
Pop-Location
175178
$setup = Get-ChildItem -Recurse -Path target -Filter "*setup*.exe" | Select-Object -First 1
176179
$setupSig = "$($setup.FullName).sig"
177180
$dest = $setup.FullName -replace '-setup\.exe$', '-setup-machine.exe'

.github/workflows/release-cli-npm.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ jobs:
4545
with:
4646
name: vendored-assets
4747
path: |
48-
crates-tauri/yaak-app/vendored/plugin-runtime/index.cjs
49-
crates-tauri/yaak-app/vendored/plugins
48+
crates-tauri/yaak-app-client/vendored/plugin-runtime/index.cjs
49+
crates-tauri/yaak-app-client/vendored/plugins
5050
if-no-files-found: error
5151

5252
build-binaries:
@@ -107,7 +107,7 @@ jobs:
107107
uses: actions/download-artifact@v4
108108
with:
109109
name: vendored-assets
110-
path: crates-tauri/yaak-app/vendored
110+
path: crates-tauri/yaak-app-client/vendored
111111

112112
- name: Set CLI build version
113113
shell: bash

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ codebook.toml
3939
target
4040

4141
# Per-worktree Tauri config (generated by post-checkout hook)
42-
crates-tauri/yaak-app/tauri.worktree.conf.json
42+
crates-tauri/yaak-app-client/tauri.worktree.conf.json
43+
crates-tauri/yaak-app-proxy/tauri.worktree.conf.json
4344

4445
# Tauri auto-generated permission files
4546
**/permissions/autogenerated

.oxfmtignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
**/bindings/**
2+
**/routeTree.gen.ts
3+
crates/yaak-templates/pkg/**

.oxfmtrc.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{
22
"printWidth": 100,
3-
"ignorePatterns": ["**/bindings/**", "crates/yaak-templates/pkg/**", "src-web/routeTree.gen.ts"]
3+
"ignorePatterns": [
4+
"**/bindings/**",
5+
"crates/yaak-templates/pkg/**",
6+
"apps/yaak-client/routeTree.gen.ts"
7+
]
48
}

Cargo.lock

Lines changed: 152 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)