# Monkeytype > Most of the useful ways to configure MonkeyType require writing Python code to implement your preferred behavior, so MonkeyType's configuration is done in Python code. To customize MonkeyType, you: ## Pages - [Configuration](configuration.md): Most of the useful ways to configure MonkeyType require writing Python code to implement your preferred behavior, so ... - [Frequently asked questions](faq.md): If you have decorators that don't use`functools.wraps`on the wrapper function returned by the decorator, MonkeyType... - [Generating type annotations](generation.md): Use the`monkeytype`command-line script to generate and apply stub files based on recorded call traces. - [Storing call traces](stores.md): MonkeyType operates in two phases: call tracing and stub generation. You first run some code under MonkeyType tracing... - [Tracing function calls](tracing.md): The core data type in MonkeyType is the`CallTrace`. A`CallTrace`instance represents a single traced call of a sing...