README.md
1 # Constructs 2 3 > Software-defined persistent state 4 5  6 [](https://badge.fury.io/js/constructs) 7 [](https://badge.fury.io/py/constructs) 8 [](https://badge.fury.io/nu/Constructs) 9 [](https://maven-badges.herokuapp.com/maven-central/software.constructs/constructs) 10 11 ## What are constructs? 12 13 Constructs are classes which define a "piece of system state". Constructs can be composed together to form higher-level building blocks which represent more complex state. 14 15 Constructs are often used to represent the _desired state_ of cloud applications. For example, in the AWS CDK, which is used to define the desired state for AWS infrastructure using CloudFormation, the lowest-level construct represents a _resource definition_ in a CloudFormation template. These resources are composed to represent higher-level logical units of a cloud application, etc. 16 17 ## Contributing 18 19 This project has adopted the [Amazon Open Source Code of 20 Conduct](https://aws.github.io/code-of-conduct). 21 22 We welcome community contributions and pull requests. See our [contribution 23 guide](./CONTRIBUTING.md) for more information on how to report issues, set up a 24 development environment and submit code. 25 26 ## License 27 28 This project is distributed under the [Apache License, Version 2.0](./LICENSE).