php-spellcheck/spellcheck-symfony-bundle
A Symfony bundle that integrates php-spellcheck/spellcheck with Symfony’s service container and configuration. It provides ready-to-use spellcheck services so you can validate text, forms, and custom workflows in your applications.
v1.0.0 is the first stable release of php-spellcheck/spellcheck-symfony-bundle — a dev-only, CI-oriented quality gate rather than a runtime library. It informs these decisions:
wordlist backend that needs no system binary, means the gate can run in a stock CI container without provisioning hunspell/aspell. That's the difference between "nice idea" and "actually in the pipeline."AbstractBundle indicate conservative maintenance intended for broad enterprise install bases — a low-churn dependency to standardize on.Caveat that shapes the decision: this release is a Symfony bundle, not a Laravel package. For a Laravel-first team, the realistic plan is to depend on php-spellcheck/spellcheck-core directly and wrap it in an artisan command, or defer until a Laravel integration exists. The bundle's console commands and DI extension points are not reusable as-is. Budget a small spike to confirm effort before committing the roadmap.
Adopt when:
wordlist backend.Look elsewhere when:
spellcheck:doctor early to see what your CI image actually has.For executives (one paragraph): Typos in shipped UI copy are a small but highly visible brand and credibility problem, and they scale with the number of locales and contributors. This package adds a free, developer-only check to our existing CI pipeline that catches them before release, in every language, using each language's own dictionary — plus the same check on code identifiers and comments. It is a dev dependency with no runtime footprint, no infrastructure to provision (it can run with a pure-PHP backend in our current CI image), and no vendor contract. Cost is measured in a day or two of integration, not a budget line. Return is a permanently enforced quality floor on customer-facing text.
For engineering leads: Stable 1.0, PHP 8.1–8.5, Symfony 5.4 LTS through 8.x. Four backends including one with no system binary, so it drops into existing containers. Crucially, the stripping layer preserves original column offsets — findings point at the exact character in the exact file, so ignore-lists stay small and nobody hand-maintains line numbers. ICU-aware: plural/select branches are expanded and only textual branches checked, so we are not chasing false positives on {count, plural, ...}. Baseline mode lets us land it green on day one and let the gate ratchet. Seven console commands, autoconfigured extension points, and a spellcheck:doctor diagnostic for backends/dictionaries/locale mapping. Reporting covers human-readable, GitHub Actions annotations and GitLab Code Quality — no custom log parsing.
For the Laravel team specifically: Be explicit that this artefact is the Symfony integration. The recommendation is to adopt the underlying spellcheck-core and expose it as an artisan command, reusing the core's stripping, ICU handling and baseline logic but not the bundle's Symfony plumbing. Treat that wrapper as a small, timeboxed spike; if it exceeds the box, defer and revisit when a Laravel integration ships.
How can I help you explore Laravel packages today?