Skip to content

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.

Terminal window
pam init my-api --template api
cd my-api
pam doctor
pam dev index.php

The server starts at http://127.0.0.1:3000. Set PAM_PORT to select another listener port.

  • 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.

Terminal window
pam dev index.php
pam test
pam composer test
pam doctor
pam info --json

pam 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.

Terminal window
pam init realtime-api --template api --socket
pam add observability
pam doctor

Use pam packages to discover official capabilities. PAM performs metadata lookup and a non-mutating compatibility preflight before changing the project.

Terminal window
pam release --check
pam package

Configure 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.