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

Annotation Extra Bundle Laravel Package

swis/annotation-extra-bundle

Adds extra, ready-to-use annotations to Symfony applications, extending Doctrine's annotation support with convenient shortcuts for common controller and configuration tasks. A lightweight bundle that registers quickly and integrates cleanly with existing projects.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy vs. fork (the real decision here). With 0 stars, 0 dependents, and no visible external adoption, this is not a "buy" decision — it is a "vendor/fork or replicate" decision. Frame the choice as: adopt-and-own the source, or spend 1–3 engineering days reimplementing the capability with PHP 8 attributes and a small compiler pass / service decorator.
  • Platform strategy and stack fit. This is a Symfony bundle, not a Laravel package. It will not drop into a Laravel codebase without an adapter layer (and that adapter is likely more work than the capability is worth). If your roadmap assumes a Laravel-first platform, the honest answer is "not applicable" — the decision becomes whether the underlying capability belongs on the roadmap at all.
  • Technical debt and modernization planning. The package is built around Doctrine annotations, which are deprecated in favor of PHP 8 attributes (#[...]). Adopting it is adopting a migration obligation: any Symfony 6.2+/PHP 8.1+ modernization work will require rewriting usage sites regardless of whether you keep the bundle. This is a direct input to deprecation-roadmap and upgrade-budget decisions.
  • DX / internal tooling investment. The legitimate product value is developer experience: reducing boilerplate for cross-cutting metadata (audit trails, serialization hints, routing/param behavior, deprecation markers — verify the actual annotation set against your use case). That is an internal platform investment, funded as tooling, not as a feature differentiator.
  • Vendor-risk and dependency-policy decisions. A zero-signal dependency is a governance question: does it meet your bar for third-party code (license clarity, security-advisory coverage, maintenance commitment, SBOM entry)? Use it as a test case for your dependency intake policy rather than as an exception.
  • Roadmap sequencing. Do not let a capability that can be replicated in a day or two gate a release. If the capability is genuinely on the critical path, schedule the 1–3 day reimplementation and remove the dependency question entirely.

When to Consider This Package

Consider it only when all of the following hold:

  • You are on a legacy Symfony stack (Symfony 4/5-era, doctrine/annotations already installed) and are not planning a PHP 8.1+/Symfony 6.2+ migration within the dependency's remaining lifetime.
  • You have verified the specific annotations it provides solve a problem you actually have — read the source. At this adoption level, there is no documentation, no issue history, and no community to ask. Treat the code as the spec.
  • The capability is non-differentiating and bounded — metadata plumbing, not business logic, not security-critical enforcement, not anything where an unpatched bug becomes a customer-facing incident.
  • You are prepared to fork it into your monorepo or vendor directory and own it outright: pinning the commit, adding it to your SBOM, and accepting that "upstream" will not deliver fixes.
  • License and provenance check out. Swisscom's swis org is a real corporate open-source source, which is mildly reassuring on provenance, but corporate origin is not a maintenance commitment — confirm the license terms and that the repo is not archived/dormant before any legal review proceeds.

Look elsewhere (or build) when any of the following is true:

  • You are a Laravel shop. No native integration; the effort to bridge Symfony bundle conventions into Laravel's container far exceeds the value. Build the equivalent with attributes, a service provider, and a small reflection scanner.
  • You are starting greenfield or mid-migration to PHP 8.1+. Starting on deprecated annotation machinery is a guaranteed rewrite. Use attributes from day one.
  • You need support, an SLA, security advisories, or a named maintainer. None of these exist here at 0 stars / 0 dependents.
  • The capability is small. If reading the source tells you it is a few dozen lines of annotation reading plus a compiler pass, the correct product decision is "build" — you will spend less total effort than the fork-and-own overhead (review, vendoring, upgrade tracking, SBOM, security triage).
  • The scope touches authorization, tenancy, or audit integrity. Zero-adoption code should not be the enforcement point for anything a compliance reviewer will ask about.

How to Pitch It (Stakeholders)

For executives (30-second version): We evaluated swis/annotation-extra-bundle as a candidate dependency and recommend against adopting it as a strategic dependency. It is a small Symfony bundle from a corporate open-source org, but it has no external adoption (0 stars, 0 dependents), no support channel, and is built on Doctrine annotations, a mechanism PHP has since deprecated in favor of attributes. The capability it provides is narrow developer-convenience tooling — not a customer-facing differentiator and not a competitive moat. Cost to replicate is estimated at 1–3 engineering days. The recommended path is either (a) replicate the specific behavior we need with native PHP 8 attributes, or (b) if we are mid-migration and short on capacity, fork the source into our own repo and own it. Either way: no new vendor relationship, no licensing negotiation, no procurement cycle, no long-term maintenance exposure. The decision carries low cost and low risk, and removes a future forced-migration item from the roadmap.

For engineering (the technical brief):

  • What it is: a Symfony bundle that extends Doctrine's annotation handling to provide additional custom annotations — metadata plumbing, not application logic. Treat the source as the specification; there is no usable external documentation at this adoption level.
  • Primary risk, ranked first: it depends on the annotations paradigm. doctrine/annotations is deprecated and removed from the default Symfony recipe in modern versions. Every usage site is a future rewrite.
  • Secondary risks: no upstream response path for bugs or CVEs; no version-compatibility guarantee against your Symfony/PHP constraint; unverifiable test coverage. Provenance from a corporate OSS org is a mild positive, but do not mistake it for a maintenance commitment — check whether the repo is active or archived.
  • Recommended evaluation spike (half a day): pull the source, enumerate exactly which annotations it registers and what each does at runtime, confirm the license, check the last commit and the composer.json platform constraints, and diff that behavior against a minimal attribute-plus-compiler-pass implementation. In most cases the diff will favor building.
  • If we do adopt: vendor into the repo (not a registry dependency), pin the commit, add to the SBOM, assign an internal owner, and file a ticket to migrate to native attributes at the next major upgrade. Never let it sit unowned in composer.json.
  • Bottom line for the sprint board: this is a tooling decision, not an architecture decision. Do not block a release on it; timebox the spike and default to build.
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.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core