capell-app / discovery-foundation
Shared public URL registry and deterministic discovery matching primitives for Capell.
Package info
github.com/capell-app/discovery-foundation
pkg:composer/capell-app/discovery-foundation
Requires
- php: ^8.4
- capell-app/core: ^1.0.66
- lorisleiva/laravel-actions: ^2.8
- spatie/laravel-data: ^4.5
- spatie/laravel-package-tools: ^1.14.1
Requires (Dev)
- orchestra/testbench: ^9.0 || ^11.0 || ^10.0
- pestphp/pest: ^3.0|^4.0 || ^5.0
- pestphp/pest-plugin-laravel: ^3.0|^4.0 || ^5.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-17 10:18:54 UTC
README
What This Plugin Adds
Discovery Foundation is an Available, No schema impact Capell package in the Capell Foundation product group. It ships as capell-app/discovery-foundation and extends these surfaces: shared.
Discovery Foundation provides the shared public URL registry and deterministic matching primitives used by Capell discovery features.
First-party packages can contribute scoped, indexable URLs without duplicating registry or text-matching logic.
Status details:
- Status: Available
- Tier: free
- Bundle: foundation
- Composer package:
capell-app/discovery-foundation - Namespace:
Capell\DiscoveryFoundation - Theme key: not applicable
Why It Matters
For developers: Typed contracts keep URL discovery neutral while compatibility shims let existing Site Discovery consumers migrate across the current major version.
For teams: Teams get consistent sitemap, search, SEO, and 404 discovery inputs without analytics, AI calls, or public authoring data.
Screens And Workflow
Docs gap: add docs/screenshots.json before promoting this package with visual workflow claims.
- Admin index screen if the package has a Filament resource.
- Create/edit screen if editors create records.
- Settings/configuration screen when settings exist.
- Frontend output when the package renders public pages.
- Package detail or install intent screen when marketplace-owned.
Technical Shape
Service providers
Capell\DiscoveryFoundation\Providers\DiscoveryFoundationServiceProvider
Extension contracts
PublicUrlContributor
Actions
BuildPublicUrlRegistryActionDiscoverPublicPagesActionNormalizeSearchTextActionNormalizeTextActionReplacePhraseActionResolveTypoCorrectionActionScorePublicUrlCandidateAction
Data objects
DiscoverablePageDataPublicUrlCandidateScoreDataPublicUrlDataPublicUrlRegistryEntryData
Manifest action API
buildPublicUrlRegistry: Capell\DiscoveryFoundation\Actions\BuildPublicUrlRegistryActiondiscoverPublicPages: Capell\DiscoveryFoundation\Actions\DiscoverPublicPagesActionreplacePhrase: Capell\DiscoveryFoundation\Actions\ReplacePhraseAction
Manifest contributions
health-check: Capell\DiscoveryFoundation\Health\DiscoveryFoundationHealthCheck
Health checks
Capell\DiscoveryFoundation\Health\DiscoveryFoundationHealthCheck
Cache tags
discovery-foundation
Data Model
- Required tables:
pages,sites,site_domains. - Migration impact: run host migrations through the package install flow before opening package surfaces.
- Deletion/retention behaviour: Docs gap: migrations and manifest contributions do not prove a cascade, pruning command, or timed retention policy.
Install Impact
- Required packages:
capell-app/core. - Admin navigation: no admin page or resource contribution is declared.
- Admin/editor extensions: none declared.
- Permissions: no package permission declarations or Shield gates detected; host access rules still apply.
- Public routes: none declared.
- Database changes: no package migrations declared.
- Config: no package config files.
- Settings: no package settings declared.
- Queues or schedules: none declared.
- Cache tags:
discovery-foundation. - Commands: none declared.
Common Pitfalls
- Keep required Capell packages on compatible v4 releases:
capell-app/core. - Custom write integrations must preserve invalidation for
discovery-foundationcache tags.
Troubleshooting
| Symptom | Likely cause | Check | Fix |
|---|---|---|---|
| Package surface is missing after install | Provider or manifest is not loaded | Confirm capell.json, package composer.json, and provider registration |
Reinstall the package, refresh Composer autoload, and clear host caches |
Quick Start
- Install the package:
composer require capell-app/discovery-foundation. - Verify the package provider and manifest contributions are registered in the host app.