Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Atom Laravel Package

jiannius/atom

jiannius/atom is a Laravel/PHP package offering reusable components and utilities to streamline common development tasks. It aims to reduce boilerplate and integrate smoothly into Laravel applications, helping teams build features faster. Early-stage with limited public documentation.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for UI primitives — still the core decision, but the scope is wider than the original framing. Atom is not only buttons, inputs, and tables; it also owns editor content stored in your database (Tiptap JSON via casts, with a backups table and a reversible migration path). That means the buy decision now has a data dimension, not just a markup dimension: adopting the editor means your persisted content format is defined by this package, and exiting means a content migration, not a find-and-replace of Blade partials.
  • Upgrade-cost planning as a first-class roadmap line item. v3.38.0 is explicitly prep for atom 4, a breaking major. The package now ships its own readiness tooling (atom:upgrade-check, atom:tiptap-migrate --status --for-v4), which converts "unknown future migration" into something you can estimate and date. That is a genuine positive for a roadmap: you can gate adoption or continued use on a measured report rather than a guess.
  • Release-watch cadence and version-pinning policy. A minor release (3.38.0) changed CLI semantics in ways that break deploy scripts: atom:tiptap-migrate no longer writes without --force, and --force now exits 1 on a failed write or refused value — which will fail a set -e deploy. This is a policy decision: pin the version, review changelogs before bumping, and treat any package that owns artisan commands in your deploy path as needing an owner.
  • Maintenance-risk reassessment. The prior assessment's biggest caveat was "no maintainer guarantees." This release is evidence of active, thoughtful maintenance — migration backups, restore, dry-run-by-default, JSON output, severity classification. That materially softens (but does not eliminate) the abandonment risk. It does not change adoption signal; there is still no evidence of a community, and you remain an early adopter.
  • Vendor-and-own viability. The upgrade tooling is forkable, read-only by default, and produces machine-readable output (--json, --output, --path, --all). That lowers the cost of forking into your namespace, which remains the recommended posture for anything on a production path.
  • Internal tooling roadmap sequencing. Unchanged and still the strongest fit: admin panels, back-office CRUD, internal dashboards. The editor content migration story actually makes this more attractive for internal content-heavy tools, where a botched migration is an inconvenience rather than a customer-visible incident.

When to Consider This Package

Consider it when:

  • The surface is internal or low-stakes and a visual regression is an annoyance, not a revenue event.
  • Your stack is Blade-first and you want components without a separate SPA build or JS framework.
  • You are willing to run the readiness tooling before committing. atom:upgrade-check gives you a per-file, per-severity inventory of what atom 4 will break — run it during the spike, not after adoption.
  • You have content in, or plan to put content in, an editor column and can accept the backup table (atom_editor_backups) as part of your schema. The reversible migration (--restore byte-for-byte, --compare review file) is unusually good hygiene for a package at this adoption level, but it is still a schema addition and an ongoing data-ownership commitment.
  • You can vendor the source (MIT permits it) and own patching, including patching the deploy-path commands.
  • You're running a timeboxed spike rather than a committed migration — and you now have a second, sharper gate: run atom:upgrade-check --json against your actual codebase and score the findings.

Look elsewhere when:

  • The surface is customer-facing, brand-differentiated, or subject to WCAG 2.2 AA commitments. Adoption signal is unchanged; there is still no community pressure-testing of keyboard, focus, or screen-reader behavior.
  • You need an SLA, a security-patching cadence, or a named maintainer. Active development is not the same as a support contract — and a package mid-major-version is more churn-prone, not less.
  • Your deploy pipeline is fragile or set -e-based and you cannot update it in lockstep. The exit-code change is exactly the kind of thing that turns a routine dependency bump into a failed release.
  • You cannot tolerate schema additions or cross-connection reads in your ops path. atom:purge-editor-images now reads the backup table on every discovered model's connection, so an unreachable secondary connection stops the run — relevant if you run multi-connection or partially-available infrastructure.
  • You need ecosystem gravity: docs, examples, hiring familiarity, Stack Overflow answers. Still zero-evidence territory; you are the QA team.
  • A mature, well-adopted alternative exists in the same stack and your time is better spent on the differentiating feature.

Verdict framing: still a candidate for a spike, not a platform commitment — but the spike now has a concrete, cheap first step: run atom:upgrade-check read-only against the codebase and read the report before writing any code. Note that the report quotes matching source lines; treat the output file as source code and keep it out of shared drives and CI artifacts.

How to Pitch It (Stakeholders)

To executives: This remains a low-cost, reversible experiment in accelerating internal tooling delivery, and the maintenance picture has improved — the maintainer is actively shipping upgrade tooling ahead of a major version, which de-risks the "abandoned package" scenario. Two caveats to state plainly: the package now owns some of our stored content format, so exit cost is a data migration, not a code swap; and a recent minor release changed command behavior in ways that require a coordinated deploy-script update. Recommendation unchanged: timeboxed evaluation with a dated go/no-go gate, now backed by a read-only readiness report we can score against our own codebase.

To engineering: A Blade-oriented UI component set plus an editor layer, now shipping v4 readiness tooling: atom:upgrade-check (read-only, --json, per-finding file:line and severity) and a v2 content migration with dry-run default, --force, byte-for-byte --restore, and a --compare review file. Three things to flag before anyone runs anything: (1) atom:tiptap-migrate without --force is now a dry run — any deploy script invoking it must be updated; (2) --force exits 1 on failure, which will trip set -e; (3) purge-editor-images now reads the backup table across all discovered model connections and will halt on an unreachable one. The proposal is still to vendor into our namespace and own it — and now also to own the deploy-path commands and the migration runbook. Budget a fraction of one engineer's ongoing attention, plus a defined migration window for the eventual v4 jump (trait additions on every AtomComponent, and re-checking published views).

The risk statement to lead with, not bury: we are still an early adopter with no community backstop, and we are adopting during a major-version transition. That is acceptable for an internal surface with a fork-and-own plan, a pinned version, and a dated upgrade checkpoint gated on atom:upgrade-check --status --for-v4. It is not acceptable for a customer-facing product, anything on a compliance boundary, or any system whose persisted content we are unwilling to migrate by hand. Make the go/no-go gate explicit, dated, and owned.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels