@allourthings/core 0.1.0 → 0.1.9

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.
package/README.md CHANGED
@@ -2,15 +2,42 @@
2
2
 
3
3
  Rust storage library for [All Our Things](https://allourthings.io) — an AI-powered household inventory system.
4
4
 
5
- Handles all reading and writing of catalog data. Shared across clients via platform-specific bindings
5
+ Handles all reading and writing of catalog data. Shared across clients via platform-specific bindings:
6
+
7
+ - **MCP server** — consumed as an npm package (`@allourthings/core`) via [napi-rs](https://napi.rs/) pre-built native addons
8
+ - **iOS app** — consumed as a Swift Package Manager binary target via [UniFFI](https://mozilla.github.io/uniffi-rs/) XCFramework
6
9
 
7
10
  ## Usage
8
11
 
9
12
  ```bash
10
- cargo test # run all 25 tests
13
+ cargo test # run all tests
11
14
  bun run build # build the .node native addon for the MCP server
12
15
  ```
13
16
 
17
+ ## iOS distribution
18
+
19
+ ### Local development
20
+
21
+ ```bash
22
+ ./scripts/build-ios.sh # release build (default)
23
+ ./scripts/build-ios.sh --debug # debug build
24
+ ```
25
+
26
+ This compiles the crate for all iOS targets, generates Swift bindings via UniFFI, and assembles a static XCFramework at `build/allourthings_core.xcframework`. The generated Swift bindings are committed to `Sources/AllourthingsCore/allourthings_core.swift`.
27
+
28
+ In the iOS project, add `../allourthings-core` as a local Swift Package Manager dependency — Xcode resolves the XCFramework automatically.
29
+
30
+ ### Published releases
31
+
32
+ Tagging a version (e.g. `git tag v0.1.8 && git push origin v0.1.8`) triggers `.github/workflows/release-ios.yml`, which:
33
+
34
+ 1. Builds the XCFramework for all iOS targets
35
+ 2. Zips it and computes the SPM checksum
36
+ 3. Patches `Package.swift` with the remote URL and checksum
37
+ 4. Commits and force-moves the tag, then creates a GitHub release with the zip attached
38
+
39
+ iOS consumers can then depend on this repo via SPM without needing a Rust toolchain.
40
+
14
41
  ## Storage format
15
42
 
16
43
  Each item is a directory containing a single JSON file:
@@ -21,7 +48,6 @@ Each item is a directory containing a single JSON file:
21
48
 
22
49
  Required fields: `id`, `name`, `created_at`, `updated_at`. All other fields are optional. Custom fields are preserved as-is and round-trip without modification.
23
50
 
24
-
25
51
  ## License
26
52
 
27
53
  MIT
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allourthings/core",
3
- "version": "0.1.0",
3
+ "version": "0.1.9",
4
4
  "description": "Native storage core for All Our Things",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",