rector/rector-src
Source repository for Rector, the PHP tool that automates refactoring and code upgrades. Contains the core codebase, rules, and tests used to build Rector distributions; intended for contributors and development rather than direct installation.
Verdict up front: rector/rector-src is the development monorepo for Rector, not a consumable library. The installable artifact is rector/rector. The single most important TPM decision here is to correct the dependency target before any technical evaluation of the tool itself proceeds.
Architecture fit
nikic/php-parser and rewrites the AST according to declarative "rules" grouped into rule sets (PHP version upgrades, framework migrations).require-dev + a rector.php config + a CI job.rector-src is the upstream source tree that gets split/published into the distribution repo. It is structured as a monorepo with its own test harness and tooling — its composer.json is not a contract for downstream consumers.Integration feasibility
rector/rector (and optionally the Laravel rule-set package). Low-to-nil if any team attempts to composer require rector/rector-src — this is the primary feasibility risk and it is a specification error, not a technology error.rector-src are: (a) reading rule source to understand what a rule does before enabling it, (b) contributing upstream, (c) local development of custom rules via a path repository during a spike — not a durable dependency.Technical risk
rector/rector-src as the dependency must be rewritten.composer update conflicts are a realistic blocker and can hold back unrelated upgrades.Key questions
rector/rector (distribution), and is the -src reference a documentation error?rector.php and the review of generated diffs?rector-src), or are stock sets sufficient?Stack fit
Migration path
rector/rector as --dev; add the Laravel rule-set package if framework sets are in scope. Never require rector/rector-src in application code.--dry-run across the repo to produce a diff volume metric (files touched, rules firing). This is the go/no-go data point.rector-src via a path repository in a spike branch, then either upstream the rule or extract it into an internal package — do not ship the src checkout as a dependency.Compatibility
composer.json; treat upgrades as planned work with changelog review.composer.lock before committing to the pilot — this is the most likely source of schedule slip.vendor/, generated code, and Blade-compiled artifacts via config paths/skip up front.Sequencing
--dry-run check to surface drift; promote to blocking once the codebase is clean.Maintenance
rector.php is code and needs an owner, review, and changelog discipline.rector-src itself requires zero maintenance from us because we should not depend on it.Support
rectorphp/rector repository. No SLA, no vendor.Scaling
Failure modes
rector-src; builds break or silently drift from the supported tool.Ramp-up
rector-src): weeks, requires comfort with PHP ASTs and the rule API; treat as a specialist task, not a team-wide skill.rector/rector in all planning artifacts before work begins.How can I help you explore Laravel packages today?