Use standardize branding and legal wording
Seto Elkahfi committed
Jul 13, 2026 at 21:15 UTC
80a7eefd150e1e1965b4c805fdc3bbb38786ead1
24 files changed
+105
-91
.agents/skills/sdk-branding/SKILL.md
+41
-25
@@ -13,57 +13,66 @@ Branding rules for the Onde Inference SDK. These apply across all languages and
13
14
## Copyright Header
15
16
-Every hand-written source file starts with this three-line block. No blank line before it. One blank line after it (before the first import or code).
16
+Every hand-written source file starts with this two-line block. No blank line before it. One blank line after it (before the first import, `package`, or code).
17
+
18
19
### Format
20
21
```
21
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
22
-// Use of this source code is governed by the MIT license.
23
-//
22
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
23
+// SPDX-License-Identifier: MIT OR Apache-2.0
24
+
25
```
26
26
-Use `//` comment syntax for all languages that support it: Dart, Swift, Kotlin, Rust, C, C++.
27
+Use `//` comment syntax for all languages that support it: Dart, Swift, Kotlin, Rust, TypeScript, JavaScript, C, and C++.
28
29
### Language reference
30
31
**Dart**
32
```dart
32
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
33
-// Use of this source code is governed by the MIT license.
34
-//
33
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
34
+// SPDX-License-Identifier: MIT OR Apache-2.0
35
+
36
import 'dart:async';
37
```
38
39
**Swift**
40
```swift
40
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
41
-// Use of this source code is governed by the MIT license.
42
-//
41
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
42
+// SPDX-License-Identifier: MIT OR Apache-2.0
43
+
44
import Foundation
45
```
46
47
**Kotlin**
48
```kotlin
48
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
49
-// Use of this source code is governed by the MIT license.
50
-//
49
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
50
+// SPDX-License-Identifier: MIT OR Apache-2.0
51
+
52
package com.ondeinference
53
```
54
55
**Rust**
56
```rust
56
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
57
-// Use of this source code is governed by the MIT license.
58
-//
57
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
58
+// SPDX-License-Identifier: MIT OR Apache-2.0
59
+
60
use std::sync::Arc;
61
```
62
63
+**TypeScript / JavaScript**
64
+```ts
65
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
66
+// SPDX-License-Identifier: MIT OR Apache-2.0
67
+
68
+import OndeInferenceModule from "./OndeInferenceModule";
69
+```
70
+
71
**C / C++**
72
```cpp
64
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
65
-// Use of this source code is governed by the MIT license.
66
-//
73
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
74
+// SPDX-License-Identifier: MIT OR Apache-2.0
75
+
76
#include <flutter/plugin_registrar.h>
77
```
78
@@ -72,15 +81,20 @@ use std::sync::Arc;
81
If the file already has a descriptive comment block below the copyright position (e.g. `// OndeInferencePlugin.swift\n// Native iOS plugin...`), prepend the copyright header above it — do not replace it.
82
83
```swift
75
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
76
-// Use of this source code is governed by the MIT license.
77
-//
84
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
85
+// SPDX-License-Identifier: MIT OR Apache-2.0
86
+
87
// OndeInferencePlugin.swift
88
//
89
// Native iOS plugin for onde_inference.
90
//
91
```
92
93
+When updating hand-written SDK bridge code, keep the header style consistent
94
+across the React Native bridge and the Kotlin/Rust bridge. If one side uses an
95
+older MIT-only prose header, normalize the touched bridge files to the two-line
96
+SPDX header above.
97
+
98
---
99
100
## File Classification
@@ -99,6 +113,7 @@ Apply the header only to hand-written files. Never add it to generated files.
113
| `ios/Classes/OndeInferencePlugin.swift` | iOS plugin |
114
| `macos/Classes/OndeInferencePlugin.swift` | macOS plugin |
115
| `android/src/main/kotlin/**/*.kt` | Android plugin |
116
+| `src/**/*.ts` / `src/**/*.js` | React Native TypeScript / JavaScript source |
117
| `windows/**/*.cpp` | Windows plugin |
118
| `linux/**/*.cc` / `linux/**/*.h` | Linux plugin |
119
| `src/**/*.rs` | Rust crate source |
@@ -110,6 +125,7 @@ These files are written by a tool on every codegen run. Adding a header would be
125
| File / Pattern | Generator |
126
|---|---|
127
| `lib/src/frb_generated.dart/**` | `flutter_rust_bridge_codegen` |
128
+| `rust/src/frb_generated.rs` | `flutter_rust_bridge_codegen` |
129
| `**/*.freezed.dart` | `build_runner` + `freezed` |
130
| `**/*.g.dart` | `build_runner` |
131
| `example/*/Flutter/GeneratedPluginRegistrant.*` | `flutter pub get` |
@@ -333,7 +349,7 @@ When asked to add copyright headers to a set of files:
349
3. Skip if the first line already starts with `// Copyright`.
350
4. Skip if the first line contains `Generated` or `Do not edit`.
351
5. Skip if the file path matches any generated or scaffold pattern above.
336
-6. Prepend the three-line header followed by a blank line.
352
+6. Prepend the two-line header followed by a blank line.
353
7. If the file begins with an existing file-description comment block, insert the header above that block.
354
339
-Do all qualifying files in one pass. Do not ask for confirmation per file.
\ No newline at end of file
355
+Do all qualifying files in one pass. Do not ask for confirmation per file.
sdk/dart/example/lib/main.dart
+2
-2
@@ -1,5 +1,5 @@
1
-// Copyright 2024 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license found in LICENSE.
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
//
4
// example/lib/main.dart
5
//
sdk/dart/example/test/widget_test.dart
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
import 'package:flutter_test/flutter_test.dart';
5
6
import 'package:onde_inference_example/main.dart';
sdk/dart/ios/Classes/OndeInferencePlugin.swift
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
// OndeInferencePlugin.swift
5
//
6
// Native iOS plugin for onde_inference.
sdk/dart/ios/onde_inference/Sources/onde_inference/OndeInferencePlugin.swift
+2
-2
@@ -1,5 +1,5 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
4
import Flutter
5
import UIKit
sdk/dart/lib/onde_inference.dart
+2
-3
@@ -1,6 +1,5 @@
1
-// Copyright 2024 Onde Inference. All rights reserved.
2
-// Use of this source code is governed by the MIT license that can be found in
3
-// the LICENSE file.
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
4
/// On-device LLM inference SDK for Flutter & Dart.
5
///
sdk/dart/lib/src/engine.dart
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
// ignore_for_file: prefer_const_constructors
5
6
import 'dart:async';
sdk/dart/lib/src/types.dart
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
/// Generated and convenience types for the Onde Inference SDK.
5
///
6
/// All core data types ([ChatRole], [ChatMessage], [SamplingConfig],
sdk/dart/linux/onde_inference_plugin.cc
+3
-3
@@ -1,5 +1,5 @@
1
-// Copyright 2024 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license found in LICENSE.
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
//
4
// onde_inference_plugin.cc
5
//
@@ -55,4 +55,4 @@ void onde_inference_plugin_register_with_registrar(
55
g_object_new(onde_inference_plugin_get_type(), nullptr));
56
57
g_object_unref(plugin);
58
-}
\ No newline at end of file
58
+}
sdk/dart/macos/Classes/OndeInferencePlugin.swift
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
// OndeInferencePlugin.swift
5
//
6
// Native macOS plugin for onde_inference.
sdk/dart/macos/onde_inference/Sources/onde_inference/OndeInferencePlugin.swift
+2
-2
@@ -1,5 +1,5 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
4
import FlutterMacOS
5
import Foundation
sdk/dart/rust/src/api.rs
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
//! Flutter Rust Bridge v2 API for the Onde Inference Dart SDK.
5
//!
6
//! This module declares mirror types (re-declared plain Rust structs/enums
sdk/dart/test/dart_test.dart
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
import 'package:flutter_test/flutter_test.dart';
5
import 'package:onde_inference/onde_inference.dart';
6
import 'package:onde_inference/src/frb_generated.dart/frb_generated.dart'
sdk/dart/windows/onde_inference_plugin.cpp
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
// onde_inference_plugin.cpp
5
//
6
// Minimal Flutter Windows plugin registration entry point.
sdk/kotlin/lib/src/shared/kotlin/com/ondeinference/onde/Convenience.kt
+2
-3
@@ -1,6 +1,5 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
4
package com.ondeinference.onde
5
sdk/react-native/android/src/main/java/com/ondeinference/OndeInferenceModule.kt
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
package com.ondeinference
5
6
import expo.modules.kotlin.modules.Module
sdk/react-native/ios/OndeInferenceModule.swift
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
import ExpoModulesCore
5
import Foundation
6
sdk/react-native/rust/src/lib.rs
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
//! C FFI bridge for the Onde React Native npm SDK.
5
//!
6
//! This crate wraps [`onde::inference::engine::ChatEngine`] with `extern "C"`
sdk/react-native/src/OndeInferenceModule.ts
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
import { requireNativeModule } from "expo-modules-core";
5
6
/**
sdk/react-native/src/index.ts
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
import OndeInferenceModule from "./OndeInferenceModule";
5
import type {
6
ChatMessage,
src/hf_cache.rs
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
//! HuggingFace hub cache inspection, repair, and model download.
5
//!
6
//! This module owns all on-disk state management for locally cached
src/inference/engine.rs
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
//! On-device LLM chat inference engine powered by [mistral.rs](https://github.com/EricLBuehler/mistral.rs).
5
//!
6
//! `ChatEngine` provides a high-level, framework-agnostic API for:
src/inference/models.rs
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
/// Pre-quantized Qwen 2.5 1.5B Instruct (GGUF Q4_K_M) — lightest mobile option (~941 MB).
5
/// Fits comfortably on both iOS (iPhone 16e, 8 GB RAM) and Android memory-constrained devices.
6
/// Note: the 3B variant (~1.93 GB) caused OOM on iPhone 16e because iOS gives apps only ~2-3 GB;
src/inference/types.rs
+3
-3
@@ -1,6 +1,6 @@
1
-// Copyright 2026 Onde Inference (Splitfire AB). All rights reserved.
2
-// Use of this source code is governed by the MIT license.
3
-//
1
+// Copyright 2026 Splitfire AB (Onde Inference). All rights reserved.
2
+// SPDX-License-Identifier: MIT OR Apache-2.0
3
+
4
//! Shared types for the on-device LLM inference engine.
5
//!
6
//! These types are intentionally framework-agnostic — they do **not** depend on