# Flamingock > Flamingock rules! This file contains links to documentation sections following the llmstxt.org standard. ## Table of Contents - [Overview](https://flamingock.github.io/docs/overview.md): **Flamingock** brings *Change-as-Code (CaC)* to your entire stack. - [Change-as-Code (CaC)](https://flamingock.github.io/docs/get-started/Change-as-Code.md): **Automate changes. Version changes. Control changes.** - [Introduction](https://flamingock.github.io/docs/get-started/Introduction.md): **Flamingock** brings *Change-as-Code (CaC)* to your entire stack. - [Target systems vs audit store](https://flamingock.github.io/docs/get-started/audit-store-vs-target-system.md): Flamingock works with two closely related concepts: - [Core concepts](https://flamingock.github.io/docs/get-started/core-concepts.md): Each **Change** includes: - [Gradle plugin](https://flamingock.github.io/docs/get-started/gradle-plugin.md): The Flamingock Gradle Plugin provides zero-boilerplate dependency configuration for your Gradle projects. Instead of manually managing multiple dep... - [Quick start](https://flamingock.github.io/docs/get-started/quick-start.md): This guide shows you the minimum setup required to get Flamingock running. In just a few steps you will have it integrated in your application. - [Additional configuration](https://flamingock.github.io/docs/flamingock-library-config/additional-configuration.md): This section includes additional settings for customizing defaults and adding contextual information to your Flamingock setup. - [Context and dependencies](https://flamingock.github.io/docs/flamingock-library-config/context-and-dependencies.md): Flamingock provides a sophisticated dependency injection system that automatically resolves dependencies for Changes from multiple sources. Underst... - [Events](https://flamingock.github.io/docs/flamingock-library-config/events.md): This guide provides a comprehensive explanation of how Flamingock events function. - [Execution report logging](https://flamingock.github.io/docs/flamingock-library-config/execution-report.md): After every run, Flamingock emits a structured execution report through SLF4J under the logger name `FK-Report` — at `INFO` on success and `ERROR` ... - [Introduction](https://flamingock.github.io/docs/flamingock-library-config/introduction.md): Flamingock provides flexible configuration options to support a variety of environments and workflows — from local setups to cloud-native distribut... - [Lock](https://flamingock.github.io/docs/flamingock-library-config/lock.md): Flamingock uses a distributed lock to ensure that changes are only applied **once and only once**, even when multiple instances of your application... - [Multi-module projects](https://flamingock.github.io/docs/flamingock-library-config/multi-module.md): Flamingock supports projects where stages and changes are split across multiple modules. Each module declares its own stages and contributes its ow... - [Setup & Stages](https://flamingock.github.io/docs/flamingock-library-config/setup-and-stages.md): The Flamingock **setup** organizes and executes your changes using **stages**. By default, you'll use a single stage that groups all your changes a... - [Anatomy & Structure](https://flamingock.github.io/docs/changes/anatomy-and-structure.md): Every Change is configured through key components that work together, following the natural development workflow: - [Apply and rollback methods](https://flamingock.github.io/docs/changes/apply-and-rollback-methods.md): Your Change methods receive the dependencies they need as parameters - Flamingock automatically provides them. - [Best Practices](https://flamingock.github.io/docs/changes/best-practices.md): Following these proven patterns will help you create reliable, maintainable Changes that work safely in production environments. - [Domain Coupling](https://flamingock.github.io/docs/changes/domain-coupling.md): Here's something that might surprise you: Changes that ran successfully in the past can break your build today. This happens when Changes depend on... - [Introduction](https://flamingock.github.io/docs/changes/introduction.md): A **Change** is the atomic, versioned, self-contained unit of change in Flamingock. It encapsulates logic to evolve [**target systems**](../get-sta... - [Transactions](https://flamingock.github.io/docs/changes/transactions.md): Flamingock provides intelligent transaction management that adapts to your target systems' capabilities. Understanding when and how changes are exe... - [Types & Implementation](https://flamingock.github.io/docs/changes/types-and-implementation.md): Flamingock supports two approaches for implementing Changes: **code-based** and **template-based**. Each serves different use cases and provides th... - [Couchbase](https://flamingock.github.io/docs/target-systems/couchbase-target-system.md): The Couchbase target system (`CouchbaseTargetSystem`) enables Flamingock to apply changes to Couchbase databases using the official Couchbase Java ... - [DynamoDB](https://flamingock.github.io/docs/target-systems/dynamodb-target-system.md): The DynamoDB target system (`DynamoDBTargetSystem`) enables Flamingock to apply changes to Amazon DynamoDB using the AWS SDK for Java. As a transac... - [Introduction](https://flamingock.github.io/docs/target-systems/introduction.md): Target systems are the real-world systems where your business changes are applied. - [MongoDB Spring Data](https://flamingock.github.io/docs/target-systems/mongodb-springdata-target-system.md): The MongoDB Spring Data target system (`MongoDBSpringDataTargetSystem`) enables Flamingock to apply changes to MongoDB databases using Spring Data ... - [MongoDB Sync](https://flamingock.github.io/docs/target-systems/mongodb-target-system.md): The MongoDB Sync target system (`MongoDBSyncTargetSystem`) enables Flamingock to apply changes to MongoDB databases using the official MongoDB Java... - [Non transactional](https://flamingock.github.io/docs/target-systems/non-transactional-target-system.md): The Non-transactional target system (`NonTransactionalTargetSystem`) is Flamingock's generic target system **for any system that doesn't require sp... - [SQL](https://flamingock.github.io/docs/target-systems/sql-target-system.md): The SQL target system (`SqlTargetSystem`) enables Flamingock to apply changes to relational databases including PostgreSQL, MySQL, Oracle, and SQL ... - [Couchbase](https://flamingock.github.io/docs/audit-stores/community/couchbase-audit-store.md): The Couchbase audit store (`CouchbaseSyncAuditStore`) enables Flamingock to record execution history and ensure safe coordination across distribute... - [DynamoDB](https://flamingock.github.io/docs/audit-stores/community/dynamodb-audit-store.md): The DynamoDB audit store (`DynamoSyncAuditStore`) enables Flamingock to record execution history and ensure safe coordination across distributed de... - [MongoDB](https://flamingock.github.io/docs/audit-stores/community/mongodb-audit-store.md): The MongoDB audit store (`MongoDBSyncAuditStore`) enables Flamingock to record execution history and ensure safe coordination across distributed de... - [SQL](https://flamingock.github.io/docs/audit-stores/community/sql-audit-store.md): The SQL audit store (`SqlAuditStore`) enables Flamingock to record execution history and ensure safe coordination across distributed deployments us... - [Introduction](https://flamingock.github.io/docs/audit-stores/introduction.md): The audit store is Flamingock's dedicated system for tracking execution history, preventing duplicate executions, and ensuring safe system evolution. - [Introduction](https://flamingock.github.io/docs/safety-and-recovery/introduction.md): While Flamingock executions typically complete successfully, the framework provides configurable recovery mechanisms to handle exceptional circumst... - [Issue Resolution](https://flamingock.github.io/docs/safety-and-recovery/issue-resolution.md): Issue resolution is an iterative process of identifying failures, investigating their cause in target systems, and marking the appropriate resoluti... - [Recovery strategies](https://flamingock.github.io/docs/safety-and-recovery/recovery-strategies.md): Recovery strategies determine how Flamingock handles Change execution failures. They provide configurable behavior to balance safety with automatio... - [Create your template](https://flamingock.github.io/docs/templates/create-your-own-template.md): While official Flamingock templates are experimental, you can already build and use your own custom templates in production if needed. This page ex... - [MongoDB Template](https://flamingock.github.io/docs/templates/mongodb-template.md): :::caution Beta feature - [SQL Template](https://flamingock.github.io/docs/templates/sql-template.md): :::caution Beta feature - [How to use Templates](https://flamingock.github.io/docs/templates/templates-how-to-use.md): Using a Flamingock Template is straightforward. Here's an example of how you can apply an SQL-based change using the **SQL Template**. - [Introduction](https://flamingock.github.io/docs/templates/templates-introduction.md): :::tip Ready to get started? - [GraalVM](https://flamingock.github.io/docs/frameworks/graalvm.md): Flamingock provides **first-class support for GraalVM native images**, so your application can compile into a fast, self-contained executable witho... - [Builder-based (manual)](https://flamingock.github.io/docs/frameworks/springboot-integration/builder-based-setup.md): Flamingock supports manual integration with Spring Boot using the same builder API shared with standalone setups. - [Automatic Setup](https://flamingock.github.io/docs/frameworks/springboot-integration/enable-flamingock-setup.md): Flamingock provides a convenient automatic integration with Spring Boot using the `@Flamingock` annotation. This setup is ideal when you want Flami... - [Introduction](https://flamingock.github.io/docs/frameworks/springboot-integration/introduction.md): Flamingock integrates seamlessly with Spring Boot, offering a powerful and flexible setup for managing your change units in Spring-based applications. - [Profiles](https://flamingock.github.io/docs/frameworks/springboot-integration/profiles.md): Flamingock supports **Spring Boot profiles** out of the box. This allows you to conditionally run specific change units depending on which profile(... - [Change validator](https://flamingock.github.io/docs/testing/change-validator.md): `ChangeValidator` is a fluent assertion utility for verifying that change units carry the correct metadata — both code-based change **classes** and... - [Flamingock BDD API](https://flamingock.github.io/docs/testing/flamingock-bdd-api.md): Flamingock's test support framework provides a fluent BDD-style API for writing integration tests. This API is shared between standalone and Spring... - [Integration testing](https://flamingock.github.io/docs/testing/integration-testing.md): Integration tests verify that Flamingock executes changes correctly against real systems. The `flamingock-test-support` module provides a BDD-style... - [Testing Flamingock](https://flamingock.github.io/docs/testing/introduction.md): This section provides guidance on how to test applications that use **Flamingock**, including strategies for validating your change logic, ensuring... - [Spring Boot testing](https://flamingock.github.io/docs/testing/springboot-integration-testing.md): For Spring Boot applications, Flamingock provides dedicated test support that integrates with the Spring test framework. The `flamingock-springboot... - [Unit Testing](https://flamingock.github.io/docs/testing/unit-testing.md): Unit tests focus on verifying the internal logic of a **single change unit**, without relying on any external system. - [Flamingock CLI](https://flamingock.github.io/docs/cli/cli.md): Command-line tool to execute Flamingock operations outside your application's normal startup. - [Using Flamingock with Agentic Coders](https://flamingock.github.io/docs/resources/agentic-coders.md): **Flamingock** is designed to be **agent-ready**. Modern agentic coding assistants — such as **Claude Code**, **Codex**, **Gemini** and **OpenCode*... - [Coming from Mongock](https://flamingock.github.io/docs/resources/coming-from-mongock.md): Flamingock provides first-class support for teams migrating from **Mongock**. - [FAQ](https://flamingock.github.io/docs/resources/faq.md): - **Should I use a template-based or code-based Change?** - [Cloud edition (coming soon)](https://flamingock.github.io/docs/cloud-edition/cloud-edition.md): **If you'd like to participate in early testing or be notified when Cloud Edition is available, email us at [support@flamingock.io](mailto:support@...