Skip to content

Commit 1ffee33

Browse files
committed
Describe the repository as nativeapi, the home of every binding
The repository is now libnativeapi/nativeapi (formerly nativeapi-flutter and nativeapi-workspace). Rewrite the README around the bindings it holds, point every link, package homepage and the shared Contributing section at the new name, and bump core for the same README change.
1 parent acbb14e commit 1ffee33

16 files changed

Lines changed: 82 additions & 46 deletions

File tree

‎AGENTS.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# libnativeapi workspace
22

3-
This is the workspace repo (`nativeapi-workspace`, formerly `nativeapi-flutter`) for the [libnativeapi](https://github.com/libnativeapi) project family. Every binding (`bindings/dart/`, `bindings/rust/`, `bindings/csharp/`, `bindings/js/`, `bindings/python/`), the code generator (`tools/codegen/`), the `./codegen` script, the specs and the shared tooling live directly in this repo (the Rust and C# histories were merged in from `nativeapi-rust` and `nativeapi-csharp`); only `core/` is a git submodule of an independent repository. Work inside `core/` is committed and pushed from that subdirectory; everything else is committed here.
3+
This is the workspace repo (`libnativeapi/nativeapi`, formerly `nativeapi-flutter` and `nativeapi-workspace`) for the [libnativeapi](https://github.com/libnativeapi) project family. Every binding (`bindings/dart/`, `bindings/rust/`, `bindings/csharp/`, `bindings/js/`, `bindings/python/`), the code generator (`tools/codegen/`), the `./codegen` script, the specs and the shared tooling live directly in this repo (the Rust and C# histories were merged in from `nativeapi-rust` and `nativeapi-csharp`); only `core/` is a git submodule of an independent repository. Work inside `core/` is committed and pushed from that subdirectory; everything else is committed here.
44

55
## Layout
66

‎README.md‎

Lines changed: 45 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,49 @@
1-
# libnativeapi workspace
1+
# nativeapi
22

3-
The development home of the [libnativeapi](https://github.com/libnativeapi) project: the Dart, Rust and C# bindings, the code generator, the design specs and the shared tooling live directly in this repository, and the C++ core is a git submodule. A core change and its regenerated bindings (core → codegen → bindings) are made and tracked together here.
3+
Unified access to native system APIs — windows, tray icons, menus, displays, keyboard, dialogs, storage and more — from Dart/Flutter, Rust, C#, JavaScript/TypeScript and Python, all built on one C++ core.
44

5-
This repository was `nativeapi-flutter` until 2026-09; its history, issues and stars carry over. The histories of the former `workspace`, `nativeapi-rust` and `nativeapi-csharp` repositories are merged in.
5+
| Android | iOS | Linux | macOS | Windows |
6+
|:-------:|:---:|:-----:|:-----:|:-------:|
7+
| ✅ | ✅ | ✅ | ✅ | ✅ |
8+
9+
🚧 **Work in Progress**: the API is under active development.
10+
11+
This repository is the home of every binding: the Dart, Rust, C#, JS and Python bindings, the code generator, the design specs and the shared tooling live here directly, and the C++ core ([nativeapi-core](https://github.com/libnativeapi/nativeapi-core)) is checked out as a git submodule. A core change and its regenerated bindings (core → codegen → bindings) are made and tracked together.
12+
13+
## Bindings
14+
15+
| Binding | Packages | Status |
16+
| --- | --- | --- |
17+
| [Dart / Flutter](bindings/dart) | [`nativeapi`](https://pub.dev/packages/nativeapi), [`cnativeapi`](https://pub.dev/packages/cnativeapi) on pub.dev; `nativeapi_flutter` (not yet published) | published |
18+
| [Rust](bindings/rust) | [`nativeapi`](https://crates.io/crates/nativeapi), [`cnativeapi`](https://crates.io/crates/cnativeapi) on crates.io | published |
19+
| [C#](bindings/csharp) | `NativeAPI` | not yet on NuGet; build from source |
20+
| [JavaScript / TypeScript](bindings/js) | `nativeapi` (Node-API addon for Node.js, Deno and Bun) | not yet on npm |
21+
| [Python](bindings/python) | `nativeapi` (`ctypes`, Python 3.10+) | prototype, not yet on PyPI |
22+
23+
Each binding's README covers installation and usage.
24+
25+
## History
26+
27+
This repository was `nativeapi-flutter`, then `nativeapi-workspace`, and is now `nativeapi`; the old names redirect here, and its history, issues and stars carry over. The histories of the former `workspace`, `nativeapi-rust` and `nativeapi-csharp` repositories are merged in, so the Rust and C# bindings keep their full history under `bindings/`. The old `nativeapi-rust` and `nativeapi-csharp` repositories are archived.
628

729
## Layout
830

931
| Path | Description |
1032
| --- | --- |
11-
| [core](https://github.com/libnativeapi/nativeapi-core) | submodule: C++ core library (`nativeapi-core`) |
33+
| [core](https://github.com/libnativeapi/nativeapi-core) | submodule: the C++ core library (`nativeapi-core`) |
1234
| [bindings/dart](bindings/dart) | Dart binding (packages `nativeapi`, `cnativeapi`, `nativeapi_flutter`) |
1335
| [bindings/rust](bindings/rust) | Rust binding (crates `nativeapi`, `cnativeapi`) |
1436
| [bindings/csharp](bindings/csharp) | C# binding |
15-
| [examples](examples) | example apps of every binding: `flutter_*`, `rust_*`, `csharp_*` |
16-
| `tools/codegen` | the C ABI and binding generators |
17-
| `specs` | design rules for the core's public API |
37+
| [bindings/js](bindings/js) | JavaScript / TypeScript binding (Node-API addon) |
38+
| [bindings/python](bindings/python) | Python binding (`ctypes`) |
39+
| [examples](examples) | example apps of every binding, prefixed by binding: `flutter_*`, `rust_*`, `csharp_*`, `js_*`, `python_*`, … |
40+
| [tools/codegen](tools/codegen) | the C ABI and binding generators |
41+
| [specs](specs) | design rules for the core's public API |
1842

1943
## Getting started
2044

2145
```bash
22-
git clone --recursive git@github.com:libnativeapi/nativeapi-workspace.git
46+
git clone --recursive https://github.com/libnativeapi/nativeapi.git
2347
```
2448

2549
Already cloned without `--recursive`?
@@ -28,7 +52,7 @@ Already cloned without `--recursive`?
2852
git submodule update --init --recursive
2953
```
3054

31-
The root `pubspec.yaml` is the pub workspace (and melos) root for the Dart packages and the Flutter examples, and the root `Cargo.toml` is the cargo workspace for the Rust crates and examples, so `flutter pub get` and `cargo build` run from the repository root.
55+
The root `pubspec.yaml` is the pub workspace (and melos) root for the Dart packages and the Flutter examples, and the root `Cargo.toml` is the cargo workspace for the Rust crates and examples, so `flutter pub get` and `cargo build` run from the repository root. The C# solution is `bindings/csharp/NativeAPI.slnx`.
3256

3357
## Code generation
3458

@@ -37,7 +61,7 @@ The root `pubspec.yaml` is the pub workspace (and melos) root for the Dart packa
3761
```bash
3862
./codegen # full run: C ABI, then all bindings
3963
./codegen check # verify generated files are up to date (CI mode)
40-
./codegen readme # copy the shared README sections (tools/readme/) into every repo
64+
./codegen readme # copy the shared README sections (tools/readme/) into every README
4165
./codegen sync # after a core change: regenerate everything, rerun
4266
# bindgen/ffigen, and commit core, then this repo
4367
# (add --push to also push, -m "..." for the core message)
@@ -48,13 +72,22 @@ See [tools/codegen/README.md](tools/codegen/README.md) for details.
4872
## Common tasks
4973

5074
```bash
51-
make status # working-tree status of this repo and every submodule
75+
make status # working-tree status of this repo and the core submodule
5276
make sync # fast-forward core to origin/main
5377
make bump # stage the updated core pointer for commit
5478
```
5579

5680
Work on the bindings, the tooling and the specs is committed here directly. Work inside `core` is committed and pushed from that subdirectory as if it were a standalone clone; this repository then records the updated pointer once the combination is known to be compatible.
5781

82+
## Issues
83+
84+
- API requests and native behavior bugs → [nativeapi-core issues](https://github.com/libnativeapi/nativeapi-core/issues)
85+
- Bugs specific to one binding → [nativeapi issues](https://github.com/libnativeapi/nativeapi/issues)
86+
5887
## Releases
5988

60-
Each binding is released from a tag of its own: `v<version>` publishes the Dart packages to pub.dev (`dart-release.yml`), `rust-v<version>` publishes the crates to crates.io (`rust-release.yml`). The C# binding is not published yet.
89+
Each binding is released from a tag of its own: `v<version>` publishes the Dart packages to pub.dev (`dart-release.yml`), `rust-v<version>` publishes the crates to crates.io (`rust-release.yml`). The C#, JS and Python bindings are not published yet.
90+
91+
## License
92+
93+
MIT

‎bindings/csharp/README.md‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# nativeapi-csharp
1+
# nativeapi for C#
22

33
C# bindings for [nativeapi](https://github.com/libnativeapi/nativeapi-core) — unified access to native system APIs: windows, tray icons, menus, displays, keyboard, dialogs, storage and more.
44

@@ -13,8 +13,8 @@ C# bindings for [nativeapi](https://github.com/libnativeapi/nativeapi-core) —
1313
Clone the repository with its `core` submodule, build the native library (CMake 3.24+; on Linux also `libgtk-3-dev libx11-dev libxi-dev`), and reference `src/NativeAPI/NativeAPI.csproj` from your project:
1414

1515
```bash
16-
git clone --recursive https://github.com/libnativeapi/nativeapi-workspace.git
17-
cd nativeapi-workspace/bindings/csharp
16+
git clone --recursive https://github.com/libnativeapi/nativeapi.git
17+
cd nativeapi/bindings/csharp
1818
cmake -S src/CNativeAPI/native -B build/native -DCMAKE_BUILD_TYPE=Release
1919
cmake --build build/native
2020
dotnet build NativeAPI.slnx
@@ -49,16 +49,16 @@ dotnet run --project ../../examples/csharp_preferences_example
4949

5050
## Contributing
5151

52-
Development happens in [nativeapi-workspace](https://github.com/libnativeapi/nativeapi-workspace), which holds every binding and the code generator and checks out the core library as a submodule:
52+
Development happens in [nativeapi](https://github.com/libnativeapi/nativeapi), which holds every binding and the code generator and checks out the core library as a submodule:
5353

5454
```bash
55-
git clone --recursive https://github.com/libnativeapi/nativeapi-workspace.git
55+
git clone --recursive https://github.com/libnativeapi/nativeapi.git
5656
```
5757

5858
Files marked `AUTO-GENERATED. DO NOT EDIT.` are generated from the C++ headers in [nativeapi](https://github.com/libnativeapi/nativeapi-core). To change the API, send a pull request there; maintainers regenerate the bindings.
5959

6060
- API requests and native behavior bugs → [nativeapi-core issues](https://github.com/libnativeapi/nativeapi-core/issues)
61-
- Bugs specific to one binding → [nativeapi-workspace issues](https://github.com/libnativeapi/nativeapi-workspace/issues)
61+
- Bugs specific to one binding → [nativeapi issues](https://github.com/libnativeapi/nativeapi/issues)
6262
- Not sure → [nativeapi-core issues](https://github.com/libnativeapi/nativeapi-core/issues)
6363

6464
## License

‎bindings/dart/README-ZH.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,16 +104,16 @@ flutter run
104104

105105
## 参与贡献
106106

107-
开发在 [nativeapi-workspace](https://github.com/libnativeapi/nativeapi-workspace) 中进行,它包含所有绑定和代码生成器,并以 submodule 的形式检出核心库:
107+
开发在 [nativeapi](https://github.com/libnativeapi/nativeapi) 中进行,它包含所有绑定和代码生成器,并以 submodule 的形式检出核心库:
108108

109109
```bash
110-
git clone --recursive https://github.com/libnativeapi/nativeapi-workspace.git
110+
git clone --recursive https://github.com/libnativeapi/nativeapi.git
111111
```
112112

113113
标有 `AUTO-GENERATED. DO NOT EDIT.` 的文件由 [nativeapi](https://github.com/libnativeapi/nativeapi-core) 的 C++ 头文件生成。如需修改 API,请向该仓库提交 PR,绑定由维护者重新生成。
114114

115115
- API 需求、原生行为问题 → [nativeapi-core issues](https://github.com/libnativeapi/nativeapi-core/issues)
116-
- 仅影响某个绑定的问题 → [nativeapi-workspace issues](https://github.com/libnativeapi/nativeapi-workspace/issues)
116+
- 仅影响某个绑定的问题 → [nativeapi issues](https://github.com/libnativeapi/nativeapi/issues)
117117
- 不确定 → [nativeapi-core issues](https://github.com/libnativeapi/nativeapi-core/issues)
118118

119119
## 许可证

‎bindings/dart/README.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,16 +104,16 @@ flutter run
104104

105105
## Contributing
106106

107-
Development happens in [nativeapi-workspace](https://github.com/libnativeapi/nativeapi-workspace), which holds every binding and the code generator and checks out the core library as a submodule:
107+
Development happens in [nativeapi](https://github.com/libnativeapi/nativeapi), which holds every binding and the code generator and checks out the core library as a submodule:
108108

109109
```bash
110-
git clone --recursive https://github.com/libnativeapi/nativeapi-workspace.git
110+
git clone --recursive https://github.com/libnativeapi/nativeapi.git
111111
```
112112

113113
Files marked `AUTO-GENERATED. DO NOT EDIT.` are generated from the C++ headers in [nativeapi](https://github.com/libnativeapi/nativeapi-core). To change the API, send a pull request there; maintainers regenerate the bindings.
114114

115115
- API requests and native behavior bugs → [nativeapi-core issues](https://github.com/libnativeapi/nativeapi-core/issues)
116-
- Bugs specific to one binding → [nativeapi-workspace issues](https://github.com/libnativeapi/nativeapi-workspace/issues)
116+
- Bugs specific to one binding → [nativeapi issues](https://github.com/libnativeapi/nativeapi/issues)
117117
- Not sure → [nativeapi-core issues](https://github.com/libnativeapi/nativeapi-core/issues)
118118

119119
## License

‎bindings/dart/nativeapi/pubspec.yaml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
name: nativeapi
22
description: "Dart bindings for nativeapi - providing seamless, unified access to native system APIs."
33
version: 0.3.1
4-
homepage: https://github.com/libnativeapi/nativeapi-flutter
4+
homepage: https://github.com/libnativeapi/nativeapi
5+
repository: https://github.com/libnativeapi/nativeapi/tree/main/bindings/dart/nativeapi
56
resolution: workspace
67

78
environment:

‎bindings/dart/nativeapi_flutter/pubspec.yaml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
name: nativeapi_flutter
22
description: "Flutter integration for nativeapi: widgets, dart:ui conversions and the multi-window bridge on top of package:nativeapi."
33
version: 0.3.1
4-
homepage: https://github.com/libnativeapi/nativeapi-workspace
5-
repository: https://github.com/libnativeapi/nativeapi-workspace/tree/main/bindings/dart/nativeapi_flutter
4+
homepage: https://github.com/libnativeapi/nativeapi
5+
repository: https://github.com/libnativeapi/nativeapi/tree/main/bindings/dart/nativeapi_flutter
66
resolution: workspace
77

88
environment:

‎bindings/js/README.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,14 @@ npm start -w js_window_example
7171

7272
## Contributing
7373

74-
Development happens in [nativeapi-workspace](https://github.com/libnativeapi/nativeapi-workspace), which holds every binding and the code generator and checks out the core library as a submodule:
74+
Development happens in [nativeapi](https://github.com/libnativeapi/nativeapi), which holds every binding and the code generator and checks out the core library as a submodule:
7575

7676
```bash
77-
git clone --recursive https://github.com/libnativeapi/nativeapi-workspace.git
77+
git clone --recursive https://github.com/libnativeapi/nativeapi.git
7878
```
7979

8080
Files marked `AUTO-GENERATED. DO NOT EDIT.` are generated from the C++ headers in [nativeapi](https://github.com/libnativeapi/nativeapi-core). To change the API, send a pull request there; maintainers regenerate the bindings.
8181

8282
- API requests and native behavior bugs → [nativeapi-core issues](https://github.com/libnativeapi/nativeapi-core/issues)
83-
- Bugs specific to one binding → [nativeapi-workspace issues](https://github.com/libnativeapi/nativeapi-workspace/issues)
83+
- Bugs specific to one binding → [nativeapi issues](https://github.com/libnativeapi/nativeapi/issues)
8484
- Not sure → [nativeapi-core issues](https://github.com/libnativeapi/nativeapi-core/issues)

‎bindings/python/README.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,14 @@ cd bindings/python && PYTHONPATH=. uvx --with pytest pytest
8585

8686
## Contributing
8787

88-
Development happens in [nativeapi-workspace](https://github.com/libnativeapi/nativeapi-workspace), which holds every binding and the code generator and checks out the core library as a submodule:
88+
Development happens in [nativeapi](https://github.com/libnativeapi/nativeapi), which holds every binding and the code generator and checks out the core library as a submodule:
8989

9090
```bash
91-
git clone --recursive https://github.com/libnativeapi/nativeapi-workspace.git
91+
git clone --recursive https://github.com/libnativeapi/nativeapi.git
9292
```
9393

9494
Files marked `AUTO-GENERATED. DO NOT EDIT.` are generated from the C++ headers in [nativeapi](https://github.com/libnativeapi/nativeapi-core). To change the API, send a pull request there; maintainers regenerate the bindings.
9595

9696
- API requests and native behavior bugs → [nativeapi-core issues](https://github.com/libnativeapi/nativeapi-core/issues)
97-
- Bugs specific to one binding → [nativeapi-workspace issues](https://github.com/libnativeapi/nativeapi-workspace/issues)
97+
- Bugs specific to one binding → [nativeapi issues](https://github.com/libnativeapi/nativeapi/issues)
9898
- Not sure → [nativeapi-core issues](https://github.com/libnativeapi/nativeapi-core/issues)

‎bindings/rust/README.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# nativeapi-rust
1+
# nativeapi for Rust
22

33
Rust bindings for [nativeapi](https://github.com/libnativeapi/nativeapi-core) — unified access to native system APIs: windows, tray icons, menus, displays, keyboard, dialogs, storage and more.
44

@@ -49,16 +49,16 @@ cargo run -p tray_icon_example
4949

5050
## Contributing
5151

52-
Development happens in [nativeapi-workspace](https://github.com/libnativeapi/nativeapi-workspace), which holds every binding and the code generator and checks out the core library as a submodule:
52+
Development happens in [nativeapi](https://github.com/libnativeapi/nativeapi), which holds every binding and the code generator and checks out the core library as a submodule:
5353

5454
```bash
55-
git clone --recursive https://github.com/libnativeapi/nativeapi-workspace.git
55+
git clone --recursive https://github.com/libnativeapi/nativeapi.git
5656
```
5757

5858
Files marked `AUTO-GENERATED. DO NOT EDIT.` are generated from the C++ headers in [nativeapi](https://github.com/libnativeapi/nativeapi-core). To change the API, send a pull request there; maintainers regenerate the bindings.
5959

6060
- API requests and native behavior bugs → [nativeapi-core issues](https://github.com/libnativeapi/nativeapi-core/issues)
61-
- Bugs specific to one binding → [nativeapi-workspace issues](https://github.com/libnativeapi/nativeapi-workspace/issues)
61+
- Bugs specific to one binding → [nativeapi issues](https://github.com/libnativeapi/nativeapi/issues)
6262
- Not sure → [nativeapi-core issues](https://github.com/libnativeapi/nativeapi-core/issues)
6363

6464
## License

0 commit comments

Comments
 (0)