anomaly/text-field_type
A lightweight text field type for the Anomaly Streams Platform, providing a standard single-line text input for forms, assignments, and addon development in Laravel-based PyroCMS projects. Simple to configure and render, it handles basic string storage without extra dependencies.
Architecture fit. anomaly/text-field_type is not a general-purpose Laravel package — it is a field-type addon for the Anomaly Labs Streams Platform (the data/field layer behind PyroCMS 3.x+). Architecturally it is a thin, single-responsibility adapter: a service provider that registers a field type, a TextFieldType class implementing the platform's field-type contract (presentation, storage column type, validation/mutator hooks), and a Blade view for the form input. It has no standalone value: outside a Streams Platform host it does nothing and cannot be exercised. Fit is therefore contingent entirely on whether our target stack is (or must interop with) PyroCMS/Streams. In a conventional Laravel application using Filament, Nova, or hand-rolled forms, this package is architecturally irrelevant and would be dead weight.
Integration feasibility. Mechanically trivial if the host platform is present: a Composer require plus the platform's addon discovery/registration convention. The real feasibility question is dependency resolution, not code volume. The package was published in the Laravel 5.x era and its Composer constraints almost certainly reflect that (PHP 7.x, illuminate/* 5.x, anomaly/streams-platform ^1.0). Installing it into a Laravel 9/10/11 or PHP 8.2+ application will fail resolution or require --ignore-platform-reqs plus a fork. Zero stars and zero dependents means no community validation, no third-party bug reports, and effectively no evidence anyone runs this in production today.
Technical risk.
Key questions.
anomaly/streams-platform?php, illuminate/*, and anomaly/streams-platform constraints in composer.json?Stack fit. Green light only in one scenario: we are already committed to PyroCMS/Streams Platform and simply need the canonical text field type as part of the platform's baseline field set. In that case this is an internal dependency, not a product decision. Amber if we are evaluating Streams Platform as a CMS foundation: this package is a symptom of the platform's maturity, not a driver. Red if the surrounding stack is a modern Laravel application on a supported PHP version — the cost of making this work exceeds the cost of implementing a text field in any contemporary admin framework, which is measured in hours.
Migration path. If we adopt it, treat it as part of a platform-level pin rather than an individual dependency. Content-wise, migrating a text field is the easiest case in any CMS migration: the underlying column is a VARCHAR/TEXT, values are plain strings, and mapping to a target schema is a straight type translation. The migration risk lives in other field types (media, relationships, rich text) and in the platform's serialized field configuration, not here.
Compatibility. Establish a hard compatibility matrix before writing any code: PHP version, Laravel/Illuminate version, Streams Platform version, and the package version that satisfies all three. Expect to maintain an internal fork with a composer.json relaxation and minor PHP 8 patches. Use a VCS repository entry with an explicit branch/tag pin, or a path repository for a vendored copy — never float on dev-master for a package with no release discipline.
Sequencing.
composer.json and the field-type class, attempt install against our actual PHP/Laravel versions in a scratch app.Maintenance. Code volume is negligible; ownership is the cost. With no upstream activity, every future PHP or Laravel upgrade becomes our patch to write. Budget a recurring, low-frequency maintenance line — realistically a few hours per platform upgrade cycle — and record the package on the dependency-risk register with a named owner. Treat it as frozen: no new features, security patches only, and a standing bias toward removing the dependency if the platform is ever replaced.
Support. No vendor support, no issue traffic, no documented upgrade path. Internal engineers become the de facto maintainers. Knowledge concentration risk is real but small in absolute terms; the mitigation is documentation, not headcount. Any incident involving this package will be diagnosed by reading the source, which is a few hundred lines at most.
Scaling. Effectively a non-issue. The package contributes a form input and a string column; there is no query, cache, queue, or I/O path. Performance characteristics are entirely those of the host platform's field rendering and persistence. It will not be a bottleneck at any realistic scale.
Failure modes.
Ramp-up. Low. A mid-level Laravel engineer can fully understand this package in under half a day; the real ramp-up cost is the surrounding Streams Platform field-type contract and addon registration model, which is measured in days, not this package. Onboarding material should cover the platform, with a one-paragraph note on the fork. Net assessment: cheap to run, expensive to be surprised by — the correct posture is pin, fork, test at startup, and revisit only when the platform itself is revisited.
How can I help you explore Laravel packages today?