Bring the node-addon-landlock-run tree (tag v0.0.1, commit 614f7fd) into native/landlock-run as its source of record: launcher development happens here, next to the harness consumers, and the standalone repository becomes the release mirror the tree is exported to for packing and publishing (procedure in native/README.md). The subtree keeps its own pnpm workspace and lockfile and is NOT added to the harness workspace: harness installs, gates, and CI never touch it. The mirror's .github/ stays out of the subtree; a separate manually-dispatched workflow (.github/workflows/landlock-run.yml) runs the subtree's CI legs — the per-architecture native builds, real-kernel launcher proofs, and pack rehearsal — adapted with working-directory/cache paths. eslint ignores the subtree like vendor/; AGENTS.md gains the native/ layout line (+5 words on its budget ceiling).
31 lines
1.1 KiB
Markdown
31 lines
1.1 KiB
Markdown
# Naming
|
|
|
|
## npm packages
|
|
|
|
The public package family is unscoped, using the `node-addon-landlock-run` package prefix; platform packages append platform information only:
|
|
|
|
```text
|
|
node-addon-landlock-run
|
|
node-addon-landlock-run-<platform>
|
|
```
|
|
|
|
Platform suffixes carry no libc component (binaries are static musl) and no variant component — variants stay inside `prebuilds.json` and binary filenames.
|
|
|
|
## Binaries
|
|
|
|
The launcher executable is `landlock-run`, shipped at `bin/landlock-run` inside each platform package.
|
|
|
|
## Environment variables
|
|
|
|
The `NALR_` prefix (Node Addon Landlock Run) is reserved for build/test orchestration:
|
|
|
|
```text
|
|
NALR_REQUIRE_LANDLOCK test-only: an unenforcing kernel fails instead of skipping
|
|
```
|
|
|
|
Runtime binaries and entry packages read NO environment variables — a runtime safety rule ([AGENTS.md](../AGENTS.md)), not a naming convention. Do not include the npm scope in environment variable names.
|
|
|
|
## C symbols
|
|
|
|
The launcher is a single C file with static linkage; there is no exported symbol namespace. Kernel UAPI constants keep their kernel names prefixed `LL_` where locally defined.
|