Cogeze
Reference

Bundled plugins

The plugins shipped with Cogeze, what each owns, and which commands it publishes.

26 plugins ship with Cogeze. Uninstall what a project does not need — the core does not depend on any of them individually.

System#

Infrastructure. access-control is mandatory: it boots regardless of database state because users is a foreign-key target for core tables.

Key Name Owns
access-control Access control Users, groups, roles, permissions, modules. Provides the permission middleware.
admin-menus Admin menus The sidebar tree. Plugins sync their nav() entries into it.
settings System settings system_configurations and the system_config() helper.

Content#

Each owns its tables, admin screens and a read gateway. None of them declare public pages — that belongs to the storefront.

Key Name Owns
page Pages & sections Static pages and the shared section store. Any intent can pull blocks through page.sections.
article Articles Articles, categories, tags.
ecommerce E-commerce Products, variants, attributes, brands, collections, inventory, warehouses, orders, customers, promotions, payment methods, shipping carriers.
service Services & plans Services, plans, plan attributes, subscriptions.
course Courses Courses, lessons, enrolments.
program Programmes Programmes with schedules and speakers.
real-estate Real estate Listings plus a light CRM.
form Forms Form definitions and submissions.
faq FAQ Question groups and questions.
banner Banners Sliders and banner zones.
testimonial Testimonials Customer quotes.
comment Comments Comments against any entity.

Marketing#

Key Name Owns
seo SEO Meta defaults, sitemap, per-record SEO overrides.
navigation Navigation Menu trees for header, footer and elsewhere. Read via site_nav().
filter-bar Storefront filters Faceted filtering. A pure consumer: it discovers providers through ShapeRegistry and declares no dependencies.

Media, utility, communication#

Key Name Owns
media-finder Media finder Media library, uploads, the MediaPicker component other plugins borrow.
assets Storefront assets Custom CSS/JS injected into public pages.
language Languages The languages table. Publishes language.default, the source of truth for locale.
announcement Announcements System notices in the admin.
email Email Templates and delivery.
greeter, hello Demos Minimal reference plugins. Read these first when writing your own.

Storefront#

Key Name Owns
storefront-s3 S3 storefront Every public URL, all views, the section library, theme chrome and assets.

Exactly one storefront should be enabled. Swapping it replaces the entire look and URL structure without touching any data plugin — see Storefront.

Dependency shape#

Most plugins declare no hard dependencies. Cross-plugin access goes through Commander, so a consumer never imports a provider.

Hard dependencies appear only where a foreign key does:

php
// program → faq: programs.faq_id references faqs
public function dependencies(): array
{
    return ['faq' => '*'];
}

Optional dependencies are UI conveniences, always behind a fallback:

php
// most plugins with an image field
public function optionalDependencies(): array
{
    return ['media-finder' => '*'];
}

Without media-finder, the field degrades to a plain URL input. That is the test for which kind a dependency is: if the plugin still works with reduced comfort, it is optional.

Worked example#

filter-bar (consumer) against ecommerce and real-estate (providers) is the reference implementation of the whole boundary. filter-bar filters products and property listings while declaring no dependency on either, importing no model, and touching no table it does not own.