38 lines
1.5 KiB
Markdown
38 lines
1.5 KiB
Markdown
# 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`)
|
|
- TypeScript client: `format=typescript` (`.ts`, real typed output)
|
|
|
|
## 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).
|
|
- If you change output field names in JSON help, update README and templates consistently.
|
|
- 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 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.
|