# ShapeShift

## ShapeShift

- [Overview](https://shapeshift.krud.dev/overview.md): ShapeShift – A lightweight, modular, performant and extensible object mapping library for Kotlin/Java.
- [Installation](https://shapeshift.krud.dev/introduction/installation.md): Adding ShapeShift to your project.
- [Quick Start](https://shapeshift.krud.dev/introduction/quick-start.md)
- [Annotations](https://shapeshift.krud.dev/api-documentation/annotations.md): Annotations based usage of the ShapeShift library.
- [Kotlin DSL](https://shapeshift.krud.dev/api-documentation/dsl.md): Kotlin DSL based usage of the ShapeShift library.
- [Java Builder](https://shapeshift.krud.dev/api-documentation/java-builder.md): Java builder based usage of the ShapeShift library.
- [Transformers](https://shapeshift.krud.dev/features/transformers.md): Transform field type/value between the source and target classes.
- [Auto Mapping](https://shapeshift.krud.dev/features/auto-mapping.md): Auto map fields without any boiler-plate code.
- [Conditions](https://shapeshift.krud.dev/features/conditions.md): Conditional mapping of fields by predicates.
- [Decorators](https://shapeshift.krud.dev/features/decorators.md): Decorate mapping operations with additional logic.
- [Object Suppliers](https://shapeshift.krud.dev/features/object-suppliers.md): Mapping to destination classes without a no arg constructor.
- [Mapping Strategy](https://shapeshift.krud.dev/features/mapping-strategy.md): Mapping behavior for null values.
- [Implicit Transformers](https://shapeshift.krud.dev/guides/implicit-transformers.md): Useful transformers for subclasses mapping.
- [Instance Mapping](https://shapeshift.krud.dev/guides/instance-mapping.md): Mapping to destination classes without a no arg constructor.
- [Advanced Mapping](https://shapeshift.krud.dev/guides/advanced-mapping.md): Nested fields and multiple targets annotations mapping.
- [Spring Usage](https://shapeshift.krud.dev/guides/spring-usage.md): Using ShapeShift with a Spring Boot project.
- [Android Usage](https://shapeshift.krud.dev/guides/android-usage.md): Using ShapeShift with an Android project.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://shapeshift.krud.dev/overview.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.
