Skip to content

Commit a90da9c

Browse files
committed
docs: polish README and trim migration commentary
1 parent 5e76bd9 commit a90da9c

1 file changed

Lines changed: 14 additions & 27 deletions

File tree

README.md

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,14 @@
11
# libpilot
22

3-
Pilot Protocol C ABI. Builds a shared library
4-
(`libpilot.dylib` / `libpilot.so` / `libpilot.dll`) that other
5-
language SDKs link against via FFI:
3+
Pilot Protocol C ABI. Builds a shared library (`libpilot.dylib` / `libpilot.so` / `libpilot.dll`) plus a C header (`libpilot.h`) that other language SDKs link against via FFI.
64

7-
- **pilot-protocol/sdk-node** — Node.js via `koffi`
8-
- **pilot-protocol/sdk-python** — Python via `ctypes`
9-
- (future) Swift, Rust, etc.
5+
The library embeds a full pilot daemon plus all the standard plugins (handshake, policy, runtime, skillinject, trustedagents, dataexchange, eventstream, webhook). FFI clients get a single in-process pilot node.
106

11-
The library embeds a full pilot daemon plus all the standard plugins
12-
(handshake, policy, runtime, skillinject, trustedagents, dataexchange,
13-
eventstream, webhook). FFI clients get a single in-process pilot node.
7+
## Consumers
148

15-
## Layout
16-
17-
| File | What it does |
18-
|---|---|
19-
| `bindings.go` | The exported `//export` C functions: `pilot_init`, `pilot_send`, `pilot_recv`, `pilot_close`, etc. |
20-
| `embedded.go` | In-process daemon construction (runtime + plugins). |
9+
- [sdk-node](https://github.com/pilot-protocol/sdk-node) — Node.js via `koffi`
10+
- [sdk-python](https://github.com/pilot-protocol/sdk-python) — Python via `ctypes`
11+
- [sdk-swift](https://github.com/pilot-protocol/sdk-swift) — Swift via C interop
2112

2213
## Build
2314

@@ -26,19 +17,15 @@ make build # produces libpilot.<ext> + libpilot.h
2617
make clean
2718
```
2819

29-
The output `libpilot.h` is the C header consumers include or generate
30-
bindings against. The `.dylib`/`.so`/`.dll` is the runtime library.
20+
The output `libpilot.h` is the C header consumers include or generate bindings against. The `.dylib` / `.so` / `.dll` is the runtime library.
3121

32-
## Releasing
22+
## Layout
3323

34-
Release workflow builds binaries for `linux/{amd64,arm64}`,
35-
`darwin/{amd64,arm64}`, `windows/amd64` and attaches them to the
36-
GitHub release. SDK repos pull the matching artifacts in their own
37-
release pipelines.
24+
| File | What it does |
25+
|---|---|
26+
| `bindings.go` | Exported `//export` C functions: `pilot_init`, `pilot_send`, `pilot_recv`, `pilot_close`, etc. |
27+
| `embedded.go` | In-process daemon construction (runtime + plugins). |
3828

39-
## Why a separate repo
29+
## Releases
4030

41-
CGo binaries don't compose well with pure-Go modules — putting the
42-
`cgo` blob in the protocol repo's main module would force every
43-
consumer onto a CGo-capable toolchain. Splitting it out keeps the
44-
protocol modules pure-Go.
31+
The release workflow builds binaries for `linux/{amd64,arm64}`, `darwin/{amd64,arm64}`, and `windows/amd64` and attaches them to the GitHub release. SDK repos pull the matching artifacts in their own release pipelines.

0 commit comments

Comments
 (0)