> ## Documentation Index
> Fetch the complete documentation index at: https://docs.unleash-commerce.eu/llms.txt
> Use this file to discover all available pages before exploring further.

# Extending Admin

> Learn how to extend the Unleash Commerce Admin package

## Overview

Unleash Commerce Admin uses Filament v5 for the admin panel. It's designed to be fully customizable and extensible.

## Extension Points

The admin package provides several extension mechanisms:

### 1. Filament Resources

Replace or extend Filament Resources to customize how data is managed in the admin panel.

### 2. Policies

Implement custom authorization policies to control who can perform what actions.

### 3. Filament Pages

Create custom pages for specialized functionality beyond standard CRUD operations.

### 4. Widgets & Components

Build custom widgets and components for dashboard visualization.

### 5. Manifests

Use `FilamentResourceManifest` and `FilamentPolicyManifest` to swap implementations.

## Using Manifests

The admin package provides manifests to manage contract-to-implementation mappings:

```php theme={null}
// Swap a resource implementation
$manifest = $this->app->make(FilamentResourceManifest::class);
$manifest->replace(
    ProductResourceContract::class,
    CustomProductResource::class
);

// Swap a policy implementation
$policyManifest = $this->app->make(FilamentPolicyManifest::class);
$policyManifest->replace(
    ProductPolicyContract::class,
    CustomProductPolicy::class
);
```

## Best Practices

* Always implement the contract interface when customizing resources or policies
* Use the manifest system to ensure compatibility with upgrades
* Test your customizations thoroughly
* Keep customizations focused and single-responsibility
* Use Filament's built-in components for consistency

Explore the sections below to learn how to create custom resources and policies.
