Files
PDFcreator/AGENTS.md

2.5 KiB

Repository Guidelines

Project Structure & Module Organization

This is a small PHP Composer project for generating PDF files with tecnickcom/tc-lib-pdf.

  • src/ contains executable PDF scripts.
  • src/hello-world.php is a minimal PDF example.
  • src/dotted.php generates A4 dotted technical drawing paper.
  • output/ contains generated PDFs such as output/dotted.pdf; it is ignored by Git.
  • vendor/ contains Composer dependencies and generated font assets; it is ignored by Git.
  • README.md documents setup and user-facing commands.

There is currently no dedicated tests/ directory.

Build, Test, and Development Commands

Install project dependencies:

composer install

Generate font definitions required by tc-lib-pdf-font:

cd vendor\tecnickcom\tc-lib-pdf-font\util
composer install
cd ..
composer install
cd util
php bulk_convert.php

Check PHP syntax:

php -l src\hello-world.php
php -l src\dotted.php

Generate dotted paper from CLI:

php src\dotted.php --dot-size=0.4 --space=5

Open via web server:

http://localhost/pdfcreator/src/dotted.php?dot-size=0.4&space=5

Coding Style & Naming Conventions

Use PHP 8 syntax and keep scripts under the Igor\Pdfcreator namespace. Prefer clear helper functions for parameter parsing, validation, and PDF drawing. Use four-space indentation, strict readable variable names like $pageWidth, $tableBox, and $dotSize, and kebab-case filenames for browser-facing scripts, for example hello-world.php.

Avoid writing generated files into tracked paths. Keep vendor/ and output/ uncommitted.

Testing Guidelines

No automated test suite is configured yet. For changes, at minimum run php -l on modified PHP files and execute the affected script from CLI. For src/dotted.php, verify valid parameters generate output/dotted.pdf and invalid values such as --dot-size=0 or --space=1 fail with an error.

Commit & Pull Request Guidelines

Git history was not available in this environment, so use concise imperative commit messages such as Add dotted paper generator or Update font setup docs. Pull requests should describe the change, list commands run, mention generated output paths, and include screenshots or PDFs when visual PDF layout changes.

Security & Configuration Tips

Do not commit generated PDFs, Composer vendor files, or local configuration. Keep web scripts free of output before PDF headers. Validate all CLI and query parameters before using them in PDF generation.