initialize commit

This commit is contained in:
2026-02-16 07:23:55 +01:00
parent 06fd9007a7
commit c2dee5004f
5 changed files with 1680 additions and 1 deletions

38
AGENTS.md Normal file
View File

@ -0,0 +1,38 @@
# AGENTS.md
## Project Scope
- Repository contains a small PHP CLI utility for SFTP-based sync/delete operations.
- Main executable: `src/SFTPsync.php`
- Connection layer: `src/SFTPconnection.php`
## Goals When Editing
- Preserve backward-compatible CLI behavior unless the user explicitly requests a breaking change.
- Keep the tool dependency-free (only PHP core + `ext-ssh2`).
- Prefer minimal, readable changes.
## Important Behavior to Preserve
- Actions are repeatable and executed in the same order as provided on CLI.
- Exit codes:
- `0` success
- `1` runtime/SFTP error
- `2` argument/usage error
- Missing `--host`, `--user`, `--password` should still support interactive prompt mode.
- `--skip` and `--skip-delete` matching semantics should remain stable.
- `--delete-dir` safety guard against dangerous paths (`/`, empty path, dot paths) must remain intact.
## Coding Conventions
- Target PHP 8+ compatibility.
- Keep strict types in `src/SFTPsync.php`.
- Avoid adding external libraries or framework structure.
- Use clear runtime exceptions for operational failures.
## Validation Checklist
- Lint changed PHP files:
- `php -l src/SFTPsync.php`
- `php -l src/SFTPconnection.php`
- If CLI options are changed, update `README.md` in the same change.
- Ensure examples in `README.md` remain executable from repository root.
## Documentation Rules
- Keep `README.md` in English.
- Document user-visible flags/behavior changes in README immediately.