From 8d2294b54d9ad49b0275afa8948a679525e44cac Mon Sep 17 00:00:00 2001 From: Headgent Date: Tue, 9 Jun 2026 15:17:48 +0200 Subject: [PATCH] docs(seo): sharpen README + composer.json metadata, add doc-aware pre-push hook (#3) --- README.md | 4 ++-- composer.json | 7 ++++++- support/makefile/hooks.mk | 8 ++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1737eb7..b228013 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,9 @@ [![PSR-12](https://img.shields.io/badge/Code%20Style-PSR--12-blue.svg)](phpcs.xml) [![Zero Dependencies](https://img.shields.io/badge/Dependencies-Zero*-brightgreen.svg)](#) -> Part of the **[Jardis Business Platform](https://jardis.io)** — Enterprise-grade PHP components for Domain-Driven Design +> Part of **[Jardis](https://jardis.io)** — the Domain-Driven Design platform for PHP. You model your domain; Jardis generates the production-ready hexagonal code (DTOs, Command/Query handlers, repositories, persistence). This package is part of the open-source foundation that generated code runs on. -**Transactional emails without the bloat.** A lean SMTP mailer built on raw sockets — designed for DDD applications that send order confirmations, password resets, or notifications. No Swiftmailer, no Symfony Mailer, no dependency tree. Just SMTP over a socket. +**Transactional emails without the bloat.** A lean SMTP mailer for PHP built on raw sockets — covers order confirmations, password resets, and notifications. No Swiftmailer, no Symfony Mailer, no dependency tree. Just SMTP over a socket. * Zero external PHP packages. Only `ext-openssl` + `ext-mbstring` + `jardissupport/contract` (interfaces only). diff --git a/composer.json b/composer.json index 313bf95..de06334 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "jardisadapter/mailer", "homepage": "https://docs.jardis.io/en/adapter/mailer", - "description": "SMTP mail client with STARTTLS, authentication, HTML and plain text support, attachments", + "description": "SMTP mail client with STARTTLS, authentication, HTML and plain text support, attachments, and retry with exponential backoff; a building block of the open-source foundation that Jardis-generated DDD code runs on", "type": "library", "license": "MIT", "minimum-stability": "stable", @@ -47,7 +47,12 @@ "smtp", "email", "mail", + "starttls", + "transactional-email", + "php", "domain driven design", + "domain-driven-design", + "hexagonal-architecture", "jardis", "Headgent" ] diff --git a/support/makefile/hooks.mk b/support/makefile/hooks.mk index fc38374..902809e 100644 --- a/support/makefile/hooks.mk +++ b/support/makefile/hooks.mk @@ -7,6 +7,14 @@ install-hooks: ## Install git hooks (pre-commit + pre-push) @echo '# Jardis Pre-Push Hook — Quality Gate' >> .git/hooks/pre-push @echo 'set -e' >> .git/hooks/pre-push @echo 'echo "=== Jardis Pre-Push Quality Gate ==="' >> .git/hooks/pre-push + @echo '# Doku-Fast-Path: keine *.php geaendert -> PHP-Gates ueberspringen (kein --no-verify, der Hook entscheidet korrekt)' >> .git/hooks/pre-push + @echo 'base="$$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo origin/develop)"' >> .git/hooks/pre-push + @echo 'changed="$$(git diff --name-only "$$base"...HEAD 2>/dev/null)"' >> .git/hooks/pre-push + @echo 'if ! echo "$$changed" | grep -q "[.]php$$"; then' >> .git/hooks/pre-push + @echo ' echo ">>> Nur Doku/Metadaten geaendert (keine *.php) — phpcs/phpstan/phpunit uebersprungen"' >> .git/hooks/pre-push + @echo ' echo "=== Quality Gate (Doku-Fast-Path) bestanden ==="' >> .git/hooks/pre-push + @echo ' exit 0' >> .git/hooks/pre-push + @echo 'fi' >> .git/hooks/pre-push @echo 'echo ">>> make phpcs"' >> .git/hooks/pre-push @echo 'make phpcs || { echo "PHPCS fehlgeschlagen — Push abgebrochen"; exit 1; }' >> .git/hooks/pre-push @echo 'echo ">>> make phpstan"' >> .git/hooks/pre-push