laraluke/statamic-api-select
Statamic addon that populates select, radio, and checkbox fields from external APIs. Configure endpoints, map returned data to options, and let editors pick from live remote values without leaving the control panel.
composer require <vendor>/<package> and confirm Laravel's package auto-discovery picks up the service provider (php artisan package:discover --ansi). If the package predates auto-discovery or disables it, register the provider manually in config/app.php.php artisan vendor:publish --provider="Vendor\Package\PackageServiceProvider" (or --tag=config, --tag=migrations, --tag=assets if tags are defined).vendor/<vendor>/<package>/README.md and composer.json first — at 1.0.0 the documented surface is the contract, everything else is internal.php artisan migrate only if migrations were published; a brand-new "addon" may ship none, so verify the database/migrations directory in the package before assuming schema changes.src/ and locate:
register() vs boot() split,bind/singleton calls (these define your extension points),new. Prefer constructor injection of the package's contract or concrete class over instantiating directly; this keeps your code swappable and testable when the package's API shifts in 1.x.config/<package>.php and read values via config() rather than mutating package internals. Commit the config file so environment differences are explicit per-env in .env.App\Contracts\...) so a future breaking change is a one-file edit, not a grep across the codebase.EventServiceProvider and keep side effects (notifications, logging, cache busting) out of the package's request path.RefreshDatabase if migrations ship; in unit tests bind a fake/mock of the package contract via $this->app->instance(...). Assert on your adapter's behaviour, not on package internals, so tests survive minor releases.composer.json, use a caret constraint (^1.0) only after you've read the changelog policy; for a first release with unknown velocity, a tighter 1.0.* pin plus scheduled composer outdated checks is safer.php artisan package:discover and php artisan config:clear. A stale bootstrap/cache/packages.php is the most common cause of "class not found" or "config key missing" on a fresh 1.0.0 install.composer update — new keys added in a patch release will silently fall back to package defaults. Diff the package's config/ against yours on every upgrade.--tag=migrations deliberately and note the decision in your upgrade runbook.UPGRADING.md if present before bumping.php artisan about, then composer show <vendor>/<package> to confirm the installed version, then dump() the resolved config. If a binding misbehaves, app()->make() inside tinker isolates whether the problem is registration or your call site.vendor:publish --tag=views is fragile — published views are copies that will drift from upstream.\Exception around package calls will mask config errors during rollout. Log the package version alongside the error for reproducible bug reports.How can I help you explore Laravel packages today?