Open source solutions

Building solutions for the developer community.

[ICF] is releasing thoughtful, intelligently designed contributions to the Open Source community that change the way Adobe AEM development is done. — Bill Engels, Graco

When out-of-the-box configurations are clumsy, we customize. When there is an opportunity to advance user experience, we personalize. And when rote methodology is taxing, we automate. We strive for the best, most elegant, complete solutions—in every context.

It's in this spirit that we are proud to share our wealth of knowledge and the useful tools our developers have created. ICF is also committed to expanding the open source landscape. We're confident the links you find below can change the way code is developed and put into practice.

OSGi Bundle Status Maven Plugin

This plugin runs during the install phase of the build lifecycle to check the status of one or more bundles in the AEM OSGi container.

Git Repository & Documentation

AEM Groovy Console

The AEM Groovy Console provides an interface for running Groovy scripts in the AEM container. Scripts can be created to manipulate content in the JCR, call OSGi services, or execute arbitrary code using the AEM, Sling, or JCR APIs.

Git Repository & Documentation

AEM Component Plugin

This plugin mitigates the effort required in AEM component development by generating at build time, .content.xml, cq_editConfig.xml, and dialog.xml files for your components, leaving you free to focus on functionality.

Git Repository & Documentation


Prosper is an integration testing library for AEM projects using Spock, a Groovy-based testing framework notable for it's expressive specification language. The library contains a base Spock specification using an in-memory repository for JCR session-based testing and also includes basic Sling request and resource implementations for testing interactions between AEM objects.

Git Repository & Documentation

AEM Library

AEM Library contains common utilities, decorators, abstract classes, tag libraries, and JavaScript modules for bootstrapping and simplifying AEM projects. The library aims to accelerate project development by offering numerous convenience methods and patterns for consistently implementing AEM components and achieving a high level of code reuse across AEM projects.

Git Repository & Documentation

Ionic AEM Apps

The Ionic AEM Apps Library aims to provide opinions concerning how applications should be built in AEM Apps based on our experience in building Phonegap/Cordova applications both on AEM itself prior to the advent of AEM Apps and in AEM Apps proper. As the name suggests, the library leverages the Ionic framework which is, in our opinion, the current goto platform for Cordova application development.

Git Repository & Documentation

AWS Lambda Toolkit

A small library of AWS Lambda development tools to help make AWS Lambda development easier, including a local lambda test runner and automatic bundling and deployment.

Git Repository & Documentation


Iron(Fe) is a starting point for greenfield projects. It gives you the ability to leverage new and modern front end build tools in the AEM environment. It has an opinionated way of structuring a front end code base but after that it assumes that the front end build tool landscape will change and thus gives you the tools to continue adapting to those changes.

Git Repository & Documentation

Related industries, services, and solutions