# CHIP Zigbee Cluster Library (ZCL) Documentation
## What is this?
Documentation for the CHIP Zigbee Cluster Library (ZCL) implementation also
called the CHIP ZCL Application Framework. This document provides information on
how the different parts of the CHIP Application layer implementation of the
Zigbee Cluster Library fit together.
**_THIS DOCUMENT IS A WORK IN PROGRESS AS THE DESIGN OF THE CHIP
APPLICATION FRAMEWORK IS STILL IN FLUX
_**
## Directory Structure
### /src/app/util
This directory contains various utilities and some of the external API headers
for interacting with the data model layer. In particular the various data type
definitions and the public APIs to the data model are declared in the headers
here.
### /src/app/docs
This directory contains all the documentation for the CHIP ZCL Application
Framework including the file you are reading right now.
### /src/app/clusters
This directory contains all of the cluster implementations included in the CHIP
ZCL Application Framework.
### /src/app/zap-templates
This directory contains all of the templates and helpers specific to CHIP for
the ZAP tool.
## Public APIs
### Attribute changes
When a ZCL attribute is updated in the data model, the framework will call the
postAttributeChangeCallback
, if this callback is implemented by the
device it will be informed of the attribute change. The device may react to the
attribute change. For instance, if the on/off attribute in the On-Off Cluster
changes, the application which implements the
postAttributeChangeCallback
may reflect this by toggling the actual
pin tied to an LED.