PAM application skeleton
The push-in/pam-skeleton repository is the versioned source used by PAM to
generate a clean API application. Do not clone it for normal development; let
the CLI select the release compatible with your runtime.
pam init my-api --template apicd my-apipam doctorpam dev index.phpThe server starts at http://127.0.0.1:3000. Set PAM_PORT to select another
listener port.
What the generated project contains
Section titled “What the generated project contains”GET /api/ping, a health-sized JSON route;GET /api/users/{id}, a route-parameter example;- security-header middleware;
- an in-memory application test;
- standard Composer metadata, scripts, autoloading and lockfile behavior.
The examples demonstrate wiring, not a production authorization or domain model. Replace them before release.
Daily workflow
Section titled “Daily workflow”pam dev index.phppam testpam composer testpam doctorpam info --jsonpam dev index.php runs the persistent server with hot reload. pam test
selects contextual project tests, while pam composer test explicitly invokes
the Composer script. pam info --json exposes machine-readable project
discovery for tooling and CI.
Add capabilities
Section titled “Add capabilities”pam init realtime-api --template api --socketpam add observabilitypam doctorUse pam packages to discover official capabilities. PAM performs metadata
lookup and a non-mutating compatibility preflight before changing the project.
Release checklist
Section titled “Release checklist”pam release --checkpam packageConfigure listener limits, trusted proxies and TLS termination; exercise error, timeout and shutdown paths; keep secrets outside version control; and test the packaged artifact in its target environment.