Files
APIlite/AGENTS.md

2.4 KiB

AGENTS.md

Project overview

APIlite is a lightweight PHP library. A class extends TPsoft\APIlite\APIlite, public methods become API actions, requests are processed automatically, and responses are returned as JSON.

The project also generates frontend clients:

  • JavaScript client: format=javascript (.js, includes bearerSet() helper backed by localStorage)
  • TypeScript client: format=typescript (.ts, real typed output, includes bearerSet() helper backed by localStorage)

The HTML help page is also interactive:

  • HTML help: format=html includes endpoint docs, a built-in request tester, and optional Bearer token support stored in browser localStorage

Core files

  • src/APIlite.php: runtime, routing, docs JSON/HTML/client generation
  • src/help.tpl.php: HTML documentation template
  • src/javascript.tpl.php: JavaScript client template
  • src/typescript.tpl.php: TypeScript client template
  • bin/apilite-files: helper script for bootstrapping files in consumer projects

Working rules

  • Keep API behavior backward compatible unless explicitly requested.
  • Maintain both generated clients:
    • JavaScript stays plain JS.
    • TypeScript stays typed (interfaces + typed method signatures).
    • Bearer token behavior stays aligned between JavaScript and TypeScript clients (bearerSet(), apilite_bearer_token, automatic Authorization: Bearer ... header).
  • Keep the HTML help page usable both as documentation and as a lightweight in-browser tester.
  • If you change output field names in JSON help, update README and templates consistently.
  • If you change request metadata or tester behavior, update README.md and keep src/help.tpl.php aligned with the actual runtime request model.
  • Prefer small, focused changes over broad rewrites.

Verification checklist

  • Run syntax checks on edited PHP files:
    • php -l src/APIlite.php
    • php -l src/help.tpl.php
    • php -l src/javascript.tpl.php
    • php -l src/typescript.tpl.php
    • php -l bin/apilite-files
  • If HTML help changes, also render it once:
    • php test/APIcalculator.php --html
  • If client generation changes, test with:
    • php test/APIcalculator.php --javascript
    • php test/APIcalculator.php --typescript

Documentation rule

When output format names/flags/URLs change, update README.md in the same change set. When Bearer token helper/storage behavior changes, update README.md and keep JS/TS client docs aligned with the actual generated templates.