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

Civicrm Core Laravel Package

civicrm/civicrm-core

CiviCRM is open-source CRM software for nonprofits, NGOs, and civic organizations. The core package manages contacts, contributions, memberships, events, cases, campaigns, and reporting, integrates with Drupal, WordPress, and Joomla, and supports extensive customization.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Buy-vs-build for the constituent-management domain — the primary decision. CiviCRM is not a package you composer require into a Laravel app. It is a standalone PHP/MySQL constituent CRM (contacts, contributions, pledges, memberships, events, cases, grants, bulk email, ACLs) that runs on a CMS host — Drupal, WordPress, Joomla, Backdrop — or its own Standalone bootstrap. The decision it informs is: do we adopt a constituent-CRM platform rather than build person → relationship → money → entitlement → participation ourselves? That is a six-figure build and a multi-year maintenance line for a commodity domain, which is exactly the case for buy/adopt.
  • Domain-shape and roadmap fit. It is strongest for membership associations, NGOs, unions, faith-based organizations, and small-to-mid charities. If your roadmap is pipeline management, lead scoring, deal desk, or marketing automation, this is the wrong product shape — a legitimate roadmap-shaping input, not a footnote. Decide early whether your product's center of gravity is constituent lifecycle or revenue pipeline.
  • Architecture is a product constraint, not just an engineering detail. The only sane integration is CiviCRM as a sibling system of record behind APIv4/REST, with Laravel owning UX, auth, billing, and jobs. That means "which features are ours vs. theirs" becomes a real product boundary question, and every sync is a conflict-rule decision (identity, dedupe, payment reconciliation) that belongs in the roadmap, not the backlog.
  • APIv4 is the strategic seam. The repo's contributor guidance steers new work off APIv3 and crmApi and onto APIv4 — mirror that deprecation curve in your integration roadmap. Designing against APIv3 today buys you a migration you didn't budget.
  • Licensing as a pricing and packaging decision. AGPL-3.0 carries network copyleft: modify it and expose it over a network, and you likely owe corresponding source. Pure API consumption is generally safe; patching, linking, or bundling is not automatically safe. This constrains a closed-source hosted product and must be settled — with counsel — before engineering commits. It's a business-model choice between self-hosted services revenue and SaaS.
  • Where differentiation lives. Because core is AGPL and community-maintained, the defensible surface is extensions, integrations, and vertical workflow above the seam — not a core fork. That split (buy the commodity substrate, build the vertical layer) should be an explicit roadmap commitment with a budgeted maintenance curve for the extension layer.
  • Support and upgrade cost planning. Adoption means owning an upgrade cadence (single-site-per-install; multi-tenancy means N installs and N upgrade paths), a CMS host, and a PHP capability. Partner contracts exist; warranties and indemnification do not. Budget it as an operating cost, not a one-time integration.
  • Maintainer health is a favorable signal. The contributor policy is unusually governance-forward: agents must be declared in commits because "an agent bears no responsibility for its output," APIv4 over APIv3 in tests, createTestEntity() fixtures, no new lodash, one-time bindings, ts() for strings. That's a professionally curated project — good news for upstreaming fixes instead of carrying a private patch set, and a workable answer to "is this well run?" It also sets an internal standard for any AI-assisted contributions we send upstream.
  • Read the marketplace signals correctly. 790 stars and zero Packagist dependents are misleading for a platform: dependents measures composer consumers, and an application isn't consumed that way. Development also happens on GitLab (lab.civicrm.org); GitHub is a mirror. The gap between opportunity (≈45) and overall score (≈29) reads as persistent real demand for open-source constituent CRM that package-ecosystem metrics can't capture. Use it as "the market exists," not "adoption is proven" — validate through the extension ecosystem and community channels.

When to Consider This Package

Consider adoption when:

  • At least two of these are genuinely in scope simultaneously: memberships, donations, events, grants, case management, advocacy, bulk email.
  • Self-hosting or data residency is required — common for NGOs and public-sector funders.
  • Per-seat nonprofit pricing breaks down at your volunteer/contact volume, or budget rules out commercial nonprofit tiers.
  • You have PHP depth in-house or an implementation partner, and are comfortable operating a LAMP-style stack plus a CMS host.
  • You want an integration target, not a build: Laravel calls APIv4 over REST, and CiviCRM owns identity, dedupe, and payment reconciliation.
  • A vertical extension already exists, or the extension API makes an extension cheaper than building from scratch.
  • Your distribution model is AGPL-compatible, or you're comfortable keeping modifications upstream rather than private.

Look elsewhere when:

  • You want a lightweight library to drop into composer.json. It isn't one. composer require civicrm/civicrm-core into a Laravel app is unsupported — the repo's composer.json serves its own dev/CI tooling; you'd still need civicrm.settings.php, file paths, a CMS host, and a database installer run. Forcing it produces a brittle two-runtime architecture with no shared ORM, auth, or migrations. Correct the premise before estimating.
  • Sales pipeline, marketing automation, or customer success is the primary need.
  • AGPL is incompatible with closed-source SaaS or an acquirer's IP diligence.
  • Contractual SLAs, a named support vendor, and indemnification are non-negotiable.
  • High-throughput, low-latency APIs dominate — this is a form-and-batch-oriented PHP application, not a headless API platform.
  • No PHP depth and no appetite to acquire it. The AngularJS/QuickForm-era surface is real, and the APIv3→APIv4 migration implies a long, uneven tail you'd be operating through.
  • You require a modern component front-end out of the box. The AngularJS admin UI is EOL and upstream is moving to SearchKit/FormBuilder/Afform, so UI-adjacent customizations have a shelf life — rebuilding the UI erodes the cost case entirely.

How to Pitch It (Stakeholders)

To executives: CiviCRM is a mature, AGPL-licensed open-source constituent CRM covering the nonprofit operating core — contacts, donations, memberships, events, grants, cases, bulk email — that would otherwise cost mid-six figures to build and low-to-mid five figures per seat annually to license. The market signal is strong (opportunity ≈45) even though conventional adoption metrics look thin (overall ≈29, zero composer dependents); that gap is explained by it being an application, not a library, and by active development living on GitLab rather than GitHub. Do not adopt blind. Propose a timeboxed spike — one vertical use case, APIv4-integrated against our stack, self-hosted — with a go/no-go on three criteria: data-model fit, extension cost versus build cost, and AGPL compatibility with our distribution plan.

To engineering: Treat this as a sibling service, not a dependency. Laravel owns product UX, auth, billing, and jobs; CiviCRM owns contacts, activities, relationships, contributions, groups, custom fields, and dedupe. Integrate through APIv4 REST as the primary surface, webhooks or civicrm_post via a small CMS extension we own as secondary, and cv for provisioning. Build a CrmClient adapter interface with a CiviCRM implementation behind it — that's the hedge against both AGPL and upgrade risk, and it lets tests stub the CRM instead of provisioning one. Do not share a database: CiviCRM owns its civicrm_ schema with views, triggers, and its own migration cadence; cross-system SQL reads are a latent outage. Two hard gates up front: PHP version parity (CiviCRM's supported range lags Laravel's floor — pin the CiviCRM release line first, then the Laravel version) and authentication (API key + site key is legacy; plan on the authx extension for JWT/OAuth-style flows, decided during the spike). Two constraints to internalize: AGPL is a distribution constraint on modifications, and the codebase is mid-migration (APIv3→APIv4, AngularJS→modern front-end, QuickForm for forms). Both are manageable if we build above the seam and upstream fixes; both get expensive if we fork. Note the maintainers' explicit requirement that AI-agent involvement be declared in commits and PRs — any contribution we send upstream must comply, and we should hold the same standard internally.

Ask: Two engineering weeks for the spike (Phase 0: CiviCRM in a container on WordPress or Drupal, APIv4 read/write with authx tokens, top five entities validated, PHP parity confirmed), plus a legal read on AGPL obligations under our intended distribution model and a decision on CMS-host ownership. Decision at the end: adopt, adopt-with-extension-layer, or 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.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource