Skip to content

PAM Native Plugin Kit

Every PAM Native product runs on the PAM runtime. Install and verify PAM first, create a Native application, and add this package through PAM Composer:

Terminal window
curl -fsSL https://github.com/push-in/pam/releases/latest/download/install.sh | sh
pam doctor
pam init my-app --template native
cd my-app
pam composer require pushinbr/pam-native-plugin-kit
pam doctor
pam native dev
Terminal window
vendor/bin/pam-native-plugin new acme/pam-native-biometric ./pam-native-biometric
vendor/bin/pam-native-plugin validate ./pam-native-biometric/pam-native.plugin.json
vendor/bin/pam-native-plugin compile ./pam-native-biometric/pam-native.idl.json ./generated

Scaffolder creates a package plus CI; ManifestValidator verifies metadata, native sources, and contracts; IdlCompiler emits deterministic PHP/Kotlin/ Swift; Diagnostic and ValidationResult expose typed findings.

IDL coded variants are sequential integer enums beginning at 1; gaps and string variants fail compilation. Commit generated output, regenerate into a temporary directory in CI, and require a clean diff. PAM records manifest and IDL digests in .pam-native/plugins.lock.json.

The vendor/bin commands are package tooling available after installation through pam composer.

Diagnostics use integer-backed DiagnosticSeverity; invalid IDL raises IdlException. Apple manifest requirements are modeled by IosExtensionKind and SwiftPackageRequirementKind rather than free-form strings.