# Mantle by Alley > Mantle is a Laravel-inspired framework for building large, robust websites and applications with WordPress. These docs cover installation, architecture, routing and HTTP, Eloquent-style models, queues, templating, and testing. ## Docs - [Architecture](/docs/architecture.md): Introduction - [Bootloader](/docs/architecture/bootloader.md): The Mantle Bootloader class is responsible for instantiating the - [Configuration](/docs/architecture/configuration.md): Mantle provides a configuration interface to allow easy control over the - [Service Provider](/docs/architecture/service-provider.md): Service providers act as the key method of extending the framework and - [Blade Templating](/docs/basics/blade.md): Use Blade Templating with WordPress to create elegant, dynamic views. - [Console Command](/docs/basics/commands.md): Introduction - [Helpers](/docs/basics/helpers.md): Mantle includes a variety of global "helper" functions (props to Laravel) to - [Requests and Routing](/docs/basics/requests.md): Mantle provides a MVC framework on-top of WordPress. You can add a route fluently and send a response straight back without needing to work with WordPress's `add_rewrite_rule()` at all. - [Templating and Views](/docs/basics/templating.md): Mantle provides a delightful templating experience for WordPress using blade templating. - [Basics](/docs/category/basics.md) - [Features](/docs/category/features.md) - [Assets and Blocks](/docs/features/assets.md): Mantle provides a fluent wrapper on-top of WordPress' enqueue system. It relies - [Cache](/docs/features/cache.md): Mantle provides a fluent API for various caching back-ends. Internally is uses - [File System](/docs/features/file-system.md): Mantle includes the Flysystem - [Hooks and Events](/docs/features/hooks.md): WordPress' hooks are the most flexible way of integrating with WordPress. Mantle - [HTTP Client](/docs/features/http-client.md): Introduction - [Queues](/docs/features/queue.md): Mantle provides a Queue interface for queueing asynchronous jobs that should be - [Scheduling Tasks](/docs/features/scheduling-tasks.md): Introduction - [Support](/docs/features/support.md): The mantle-framework/support package provides a set of classes and traits that - [Classname](/docs/features/support/classname.md): A classname helper function for generating CSS class names based on various conditions and inputs. - [Collections](/docs/features/support/collections.md): {/ Collection methods should be added in alphabetical order /} - [Conditionable](/docs/features/support/conditionable.md): Conditionable is a trait that provides a way to conditionally call a closure - [Helpers](/docs/features/support/helpers.md): General helpers for development. - [Hookable](/docs/features/support/hookable.md): Hookable is a trait that will automatically register methods on your class with - [HTML Parsing, Assertions, and Manipulation](/docs/features/support/html.md): The HTML class provides methods to query, manipulate, and assert against HTML - [Macroable](/docs/features/support/macroable.md): Macros allow you to add methods to classes from outside the class. This is - [Type-safe Options, Object Metadata and Mixed Data](/docs/features/support/mixed-data.md): Handle mixed data types in a type-safe manner for options and object metadata. - [Pipeline](/docs/features/support/pipeline.md): Execute a series of tasks in a specific order using the pipeline pattern. - [Singleton](/docs/features/support/singleton.md): A singleton is a class that can only be instantiated once. It is often used to - [Stringable](/docs/features/support/stringable.md): The Stringable class exists in the Mantle\Support namespace and is used to create a stringable object from a string or a stringable object. - [URI Manipulation](/docs/features/support/uri.md): Manipulate and work with URIs using Mantle's fluent URI class and helpers - [Types](/docs/features/types.md): The types package is an extension to the - [Mantle](/docs/getting-started.md): Learn about Mantle and how it can help you build enterprise-level WordPress applications. - [Directory Structure](/docs/getting-started/directory-structure.md): Below is the current proposed directory structure for sites using Mantle. The - [Installation](/docs/getting-started/installation.md): Requirements - [Tutorial](/docs/getting-started/tutorial.md): Introduction - [Models](/docs/models.md): Models provide a fluent way to interface with objects in WordPress. Models can - [Database Factory](/docs/models/database-factory.md): Introduction - [Model Registration](/docs/models/model-registration.md): Mantle can help you spend less time writing registration code and more time building - [Model Relationships](/docs/models/model-relationships.md): Introduction - [Query Builder](/docs/models/query-builder.md): Models support a fluent query builder that will return an easy-to-use Collection - [Database Seeding](/docs/models/seeding.md): Introduction - [Serialization](/docs/models/serialization.md): Often times a Model will need to be converted to arrays or JSON for use in a API - [Testing](/docs/testing.md): Learn how to use the Mantle Testing Framework to test your WordPress applications. - [Testing: Assertions](/docs/testing/assertions.md): Assertions available in Mantle's Test Case. - [Testing: Continuous Integration](/docs/testing/continuous-integration.md): Using Continuous Integration (CI) in your development can help ease your mind when adding new features to a site. This guide will help you setup your Mantle application or project that is using Mantle's testing framework for CI via GitHub Actions. - [Testing: Cron / Queue](/docs/testing/cron.md): Cron and queue jobs can be asserted in unit tests. - [Testing: Deprecation and Incorrect Usage](/docs/testing/deprecation-incorrect-usage.md): Deprecation and incorrect usage notices can be captured and asserted against in Mantle's Test Case. - [Testing: Environmental Variables](/docs/testing/environmental-variables.md): Environmental variables used within the testing framework. - [Testing: Factory](/docs/testing/factory.md): Mantle supports a WordPress-core backwards compatible factory that can be used in tests to quickly generate posts, terms, sites, and more. - [Testing: Helpers](/docs/testing/helpers.md): Helpers to make it easier to write tests for your project. - [Testing: Hooks](/docs/testing/hooks.md): Mantle provides an interface for testing WordPress hooks in declarative and assertive formats. - [Testing: Installation Manager](/docs/testing/installation-manager.md): The Installation Manager is a class used to install WordPress for testing. - [Migrating to PHPUnit 10+ from 9](/docs/testing/migration-phpunit-9.md): Mantle's Test Framework 1.0 upgrades the PHPUnit version to 10.x. This is a - [Testing: Parallel Testing](/docs/testing/parallel.md): Run your WordPress unit tests in parallel to speed up your test suite. - [Testing: Pest](/docs/testing/pest.md): Mantle's Testing Framework supports running unit tests via Pest. - [Testing: Remote Requests](/docs/testing/remote-requests.md): Mocking remote requests in unit tests. - [Testing: HTTP Tests](/docs/testing/requests.md): Mantle provides a fluent HTTP Request interface to make it easier to write feature/integration tests using PHPUnit and WordPress. - [Testing: Snapshot Testing](/docs/testing/snapshot-testing.md): Snapshot testing in Mantle's testing framework. - [Testing: WordPress State](/docs/testing/state.md): During unit tests, the testing framework exposes some helper methods to allow you to modify or inspect the state of WordPress. - [Testing: Mantle Testkit](/docs/testing/testkit.md): Mantle Testkit is a standalone package for using the Mantle Testing Framework on non-Mantle based projects. - [Testing: Traits and Attributes](/docs/testing/traits-attributes.md): Traits and attributes that can be used to add optional functionality to a test case. - [Testing: Users and Authentication](/docs/testing/users.md): The Mantle Test Framework provides methods and assertions for testing users and authentication. ## Optional - [Mantle Framework on GitHub](https://github.com/alleyinteractive/mantle-framework): Source code for the Mantle Framework.