openclaw-package-valid¶
OpenClaw package metadata must declare valid extension entries
| Severity | error (disabled) |
| Autofix | - |
| Since | v0.21.0 |
| Repo Types | openclaw-plugin |
| Category | OpenClaw |
Why¶
OpenClaw reads runtime entrypoint metadata from package.json, separately from
its native manifest. A non-object openclaw or non-array openclaw.extensions
rejects entrypoint discovery. Every array item must be a non-empty string.
Missing or null openclaw metadata or extensions permit conventional index entrypoint fallback.
When explicit extensions are declared, a nonempty openclaw.runtimeExtensions
array must contain non-empty strings
and have the same length as openclaw.extensions. Entries correspond by index.
An empty array or a non-array value means no explicit runtime mapping, matching
the native loader. Runtime metadata is ignored without explicit source entries.
Invalid mappings are reported here; runtime path containment
and optional existence checks belong to openclaw-resources.
Activation¶
Opt-in with --rule openclaw-package-valid or enabled: true while native
plugin coverage expands.
How to fix¶
Use an object for openclaw, and an array of non-empty path strings for
extensions when declaring explicit entrypoints. package.json uses JSON,
while the native manifest also accepts JSON5. Keep package metadata within
the native loader’s 16 MiB limit. A package.json is not mandatory
for a native plugin with a conventional index entrypoint. No autofix is provided.
See manifest sources for the pinned loader source. Runtime file existence is an optional check in openclaw-resources, because source checkouts often have not built their distribution files.
Configuration¶
Run skillsaw explain openclaw-package-valid to see this documentation and the rule's effective configuration in your terminal.