The App SDK (formerly known as UI Extensions SDK) is a JavaScript library that allows developers to create custom Contentful Apps for the Contentful Web App. Every Contentful App has to include the library in its source.
- App SDK reference
- App Framework general documentation
- UI Extensions general documentation
- Contentful Apps Management HTTP API reference
- Contentful Apps FAQ
- Contentful Apps repository
- Contentful Marketplace
- Contentful Changelog
- Forma 36: The Contentful Design System
- Forma 36 guide for Contentful Apps
create-contentful-app
- CLI tool for developing apps without the hassle of managing build configurationscontentful-ui-extensions-sdk
at npm
Technical questions, feedback or feature request can be provided directly through the Github issues for this repository. However, if you are a paying customer or at any point business sensitive information needs to be discussed, then the conversation should be handled via our support system.
A new package version is automatically published to npm using semantic-release.
To manually publish the package, run npm run publish-all
.
This repository is published as two packages with identical data. We recommend using @contentful/app-sdk
.
@contentful/app-sdk
contentful-ui-extensions-sdk
This package has two main development streams: latest
and canary
.
The default and stable releases are always published under the latest
tag (as per npm convention).
The release under the canary
tag is to be considered unstable and potentially breaking.
You should not rely on it in production.
To start a new alpha version of the package follow these steps:
- Checkout the
canary
branch. - Reset canary to the latest main:
git reset --hard origin/main
- Create a new branch with your changes from
canary
- Create a PR that merges into
canary
.
Former home of the documentation and reference for this library. This is now deprecated and you should use links above.
Includes the files constituting the SDK and the associated types.
Top level files are split by feature. Most of them map 1-to-1 to an API (keep reading for the outliers). When APIs are
considered too small to be in a separate file, they are part of the api
file.
channel
andsignal
abstract the communication between an App and the host;locations
exports available location where you can run App;initialize
creates an initializer to start an App within Contentful's App Framework.
All the typings are in the types
folder and they map 1-to-1 APIs, when they make sense.
The entities
file maps Contentful entities in TypeScript.
utils
includes utility types, meant to save on characters to type.
Includes utility tools for maintainers.
Includes unit tests (run by mocha)