- What is tomatophp/circle-contacts-module and what does it do?
- It is a TomatoPHP module for Laravel that adds contact and customer management to your application, letting you store, organize, and browse people and their details through a ready-made admin interface. It is packaged as a self-contained module with routes, migrations, models, Filament resources, a service provider, and config/translations. You can extend its simple structure for CRM, directory, or segmentation-style use cases.
- How do I install Circle Contacts in a Laravel app?
- Install it with Composer using the package name, then register the service provider if your app does not use package auto-discovery. Publish the config, migrations, and assets with vendor:publish, review the files, and run php artisan migrate. Because v1.0.0 is the first tagged release, install it on a scratch branch first and confirm the generated schema before merging.
- Which Laravel and PHP versions does Circle Contacts support?
- The exact constraints are declared in the package composer.json, which is the authoritative source and should be checked before installing. The provided release notes do not list Laravel or PHP version ranges, and v1.0.0 is the first tag, so there is no long compatibility track record yet. Test against your target Laravel version in a throwaway app rather than assuming support.
- Does tomatophp/circle-contacts-module require Filament?
- The module ships a ready-made admin interface and the assessment notes Filament resources, so it is intended for Filament-based admin panels and likely pins a Filament major version. That coupling can affect your upgrade path, so verify the Filament requirement in composer.json first. If your app uses a bespoke admin layer or is an API-only backend, you would be importing a UI-coupled domain model and should treat it as a poor fit without adaptation.
- Can I use Circle Contacts in a multi-tenant Laravel application?
- Tenancy awareness is not confirmed, and the assessment flags it as a key unknown, with a single-tenant assumption being a real possibility. Look for tenant scoping, global scopes, or tenant-aware migrations in the source before adopting it. Apps using per-tenant databases or existing team and segment models may need a thin adapter rather than direct adoption.
- Will its migrations conflict with my existing contacts or CRM tables?
- There is a migration collision risk if your app already has contacts, customers, or segmentation tables. Install the module on a scratch branch, publish the migrations so the schema changes are reviewable, and run them against a copy of your real schema. Diff the resulting tables against your existing structures, then decide explicitly whether the module becomes the system of record or maps to your host model.
- How do I publish Circle Contacts config, migrations, and assets?
- Use Laravel's vendor:publish command and select the Circle Contacts provider tags to publish config, migrations, and any frontend assets. Publish before running migrations so the schema changes can be reviewed in a pull request instead of being applied blindly. Commit the published files you intend to customize and keep the rest managed by the package.
- Is Circle Contacts v1.0.0 stable enough for production?
- Treat v1.0.0 as a first tagged release with no stability track record, and pin the exact version rather than a caret range. The supplied release evidence is thin, so inspect the repository for tests, CI coverage across supported Laravel versions, and documented breaking changes. Public models, contracts, and events should be considered provisional until you have read the source.
- How do I extend Circle Contacts without forking the package?
- Check the source for extension points such as events, contracts, policies, and publishable config before deciding to fork. The assessment explicitly lists these as questions to answer, because a module that owns customer data is expensive to fork long term. If the hooks you need are missing, isolate your customizations behind an adapter or your own model layer so you can upgrade later.
- Does it handle duplicate contacts, soft deletes, and GDPR erasure?
- Deduplication rules, PII handling, soft deletes, and GDPR export or erasure hooks are not described in the release notes and must be verified in the source. Because the module would own customer data, confirm how records are deleted, retained, and exported before production use. If those behaviors are missing, plan to add them in your application layer rather than assuming compliance.