# No 3rd-party dependencies

The framework itself doesn't have any 3rd-party dependencies. Our [plugins](https://www.deep-web-solutions.com/plugins/) do -- but we don't force you to use the same libraries we do.

For example, we are strong advocates for [Dependency Injection](/key-concepts-and-dev-tools/dependency-injection-php-di.md) and we really like [PHP-DI](https://php-di.org/), but you are free to build your plugins using either no dependency injection at all or using a different container. Whenever the framework references dependency injection, it simply assumes that it's been passed on a [PSR-11](https://www.php-fig.org/psr/psr-11/)-compatible container (which should be most, if not all, popular containers) **and it always provides a fallback** in case no container is used at all.

That being said, the framework does have internal dependencies. It is possible to build a plugin using only the [Bootstrapper Module](https://packagist.org/packages/deep-web-solutions/wp-framework-bootstrapper). If you need the [Helpers Module](https://packagist.org/packages/deep-web-solutions/wp-framework-helpers), it will auto-install the Bootstrapper Module as well when using [Composer](/key-concepts-and-dev-tools/dependency-management-composer.md) since that is listed as a dependency. Similarly, the [Foundations Module](https://packagist.org/packages/deep-web-solutions/wp-framework-foundations) depends on both the Bootstrapper and the Helpers modules, and so on.

There is an exception though. The [Settings Module](https://packagist.org/packages/deep-web-solutions/wp-framework-settings) does **NOT** depend on the [Core Module](https://packagist.org/packages/deep-web-solutions/wp-framework-core) as it is technically an extension to the [Utilities Module](https://packagist.org/packages/deep-web-solutions/wp-framework-utilities). As the [WooCommerce Module](https://packagist.org/packages/deep-web-solutions/wp-framework-woocommerce) depends on the Settings one, it doesn't require the Core module either.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://framework.deep-web-solutions.com/primary-goals/no-3rd-party-dependencies.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
