pushinbr/pam-native-plugin-kit

Scaffold, validate and generate typed PAM Native plugins.

Maintainers

Package info

github.com/push-in/pam-native-plugin-kit

pkg:composer/pushinbr/pam-native-plugin-kit

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.0 2026-08-01 03:37 UTC

This package is auto-updated.

Last update: 2026-08-01 06:05:05 UTC


README

The official toolchain for building real PAM Native ecosystem packages. It validates plugin manifests, compiles one typed IDL into PHP, Kotlin and Swift, and scaffolds cross-platform packages with CI from the first commit.

composer require --dev pushinbr/pam-native-plugin-kit

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

Typed IDL

Coded variants are integer enums with sequential values beginning at 1. The compiler rejects gaps and string variants so PHP, Kotlin and Swift cannot silently disagree about wire values.

{
    "version": 1,
    "namespace": "Acme.Biometric",
    "enums": {
        "AuthenticationState": {
            "Pending": 1,
            "Authenticated": 2,
            "Rejected": 3
        }
    },
    "records": {
        "AuthenticationResult": {
            "state": "AuthenticationState",
            "reason": "string?"
        }
    }
}

Generated sources are deterministic and suitable for committing or checking in CI. The plugin manifest and IDL digests are recorded by PAM Native in .pam-native/plugins.lock.json.