Skip to content

Tags

This page is generated from public package documentation in capell-4/packages and the package manifest checked into the source repository.

FieldValue
Composer packagecapell-app/tags
Package slugtags
Product groupCapell Foundation
Tierfree
Bundlefoundation
Runtime contextsadmin, console
Capell version^4.0
Source repositorycapell-app/packages
Source pathpackages/tags
Docs sourcepackages/tags/docs
Manifestcapell.json

Tags adds shared tagging records and admin management for packages that need editor-controlled taxonomies.

  • Package: capell-app/tags
  • Namespace: Capell\Tags\
  • Surfaces: Filament admin, console, database
  • Service providers: packages/tags/src/Providers/AdminServiceProvider.php, packages/tags/src/Providers/ConsoleServiceProvider.php, packages/tags/src/Providers/TagsServiceProvider.php
  • Capell dependencies: capell-app/admin, capell-app/navigation, capell-app/publishing-studio
  • Third-party dependencies: filament/spatie-laravel-tags-plugin
  • Adds shared tag management, taggable relationships, reusable inputs, and traits for Capell content packages.
  • Helps editors classify articles, events, and other content with one taxonomy workflow instead of package-specific tag fields.
  • Gives developers a reusable tagging surface backed by package-owned tests and Filament integrations.

Tags adds tag management, taggable relationships, a reusable tags input, and model traits for Capell content.

  • Tag Filament resource.
  • TagsInput form component.
  • HasTags model concern.
  • Tag and Taggable models.
  • Install command and model registrar.

For developers: Provides a shared tagging layer that Blog and page-like models can use without each package defining its own tag tables.

For teams: Lets editors classify content consistently across articles and pages.

This package makes its Composer dependencies visible because they are part of the value proposition, not just plumbing. When an upstream package has a public repository, its linked preview card points readers back to the maintainers so their work gets proper credit.

Capell packages used here

Open-source packages used here

Linked package previews

Filament Spatie Laravel Tags Plugin GitHub preview

Screenshots are generated from docs/screenshots.json during package deployment.

  • Tags admin index.
  • Create/edit tag form.
  • Tag relation manager showing tagged pages.
  • TagsInput inside a host package form. Tags provides the component, but does not mount it on TagResource.
  • TagsServiceProvider, AdminServiceProvider, and ConsoleServiceProvider register package surfaces.
  • Migration alters/creates tag-related table support.
  • Models: Tag and Taggable.
  • Filament resource: TagResource.
  • TagTypeEnum defines tag types.
AreaPathPurpose
Enumspackages/tags/src/EnumsPersisted states and Filament option values.
Modelspackages/tags/src/ModelsEloquent records owned by the package.
Filamentpackages/tags/src/FilamentAdmin resource pages, relation managers, and shared form fields.
Providerspackages/tags/src/ProvidersRegistration, extension hooks, routes, migrations, and resources.
Resourcespackages/tags/resourcesViews, translations, assets, and package resources.
Databasepackages/tags/databaseMigrations, seeders, and settings migrations.
Testspackages/tags/testsPackage-level Pest coverage.
  • Resources: TagResource.
  • Pages: CreateTag, EditTag, ListTags.
  • capell:tags-install (packages/tags/src/Console/Commands/InstallCommand.php)
  • tags stores translated name and slug values plus type.

  • taggables connects tags to articles, pages, and other taggable models.

  • Tag model registrar handles morph/model integration.

  • Deletion behaviour for taggables should be verified before removing shared tags.

  • Models: HasTags, Tag, Taggable.

  • Migrations: 2026_05_10_190872_01_alter_tags_table.php.

  • Register Capell extension points, routes, migrations, settings, render hooks, and resources from service providers.
  • Adds tag database changes.
  • Adds tag admin navigation.
  • Adds tags form component.
  • No public route is registered by this package.
  • Install with composer require capell-app/tags in the host Capell application.
  • Install required Capell extensions first: capell-app/navigation and capell-app/publishing-studio. Publishing Studio also needs its dependency chain and migrations when testing in a disposable app.
  • Run migrations through the host application package install flow.
  • Run php artisan capell:tags-install in the host app to publish the package config and Tags migration.
  • In this repository, verify package changes with vendor/bin/pest; do not use php artisan.
  • CreateTag (packages/tags/src/Filament/Resources/Tags/Pages/CreateTag.php)

  • EditTag (packages/tags/src/Filament/Resources/Tags/Pages/EditTag.php)

  • ListTags (packages/tags/src/Filament/Resources/Tags/Pages/ListTags.php)

  • TagResource (packages/tags/src/Filament/Resources/Tags/TagResource.php)

  • None proven in this package directory.

  • Tags admin labels must use capell-tags::* translations. Do not reference Layout Builder strings unless Layout Builder becomes a declared hard dependency.
  • Run the install command or migration before using TagsInput.
  • Register taggable models before expecting relationships.
  • Use typed tag categories rather than ad hoc strings.

Run package tests from the repository root:

Terminal window
vendor/bin/pest packages/tags/tests --configuration=phpunit.xml
  • Use backed enums for persisted values and enum labels for Filament options.