Skip to main content
ClaudeWave

AEM Content Manager (ACM) – Permissions & Content Updates as Code

ToolsRegistry oficial35 estrellas5 forks● JavaApache-2.0Actualizado today
ClaudeWave Trust Score
100/100
✓ Verified
Passed
  • ✓Open-source license (Apache-2.0)
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Topics declared
  • ✓Mature repo (>1y old)
  • ✓Documented (README)
Last scanned: 10/14/2026
Get started
Method: Clone
Terminal
git clone https://github.com/wttech/acm
1. Clone the repository.
2. Follow the README for installation and usage instructions.
Casos de uso

Resumen de Tools

<p align="center">
<picture>
<source srcset="docs/acm-logo-with-text-white.svg" media="(prefers-color-scheme: dark)">
<img src="docs/acm-logo-with-text-black.svg" alt="AEM Content Manager" height="138">
</picture>
</p>

<p align="center">
<strong>Manage permissions & content updates as code.</strong><br>
AEM Tool · Permissions-as-Code · Content Migration · IDE-like Console
</p>

<p align="center">
<a href="https://github.com/wttech/acm/releases"><img src="https://img.shields.io/github/v/tag/wttech/acm" alt="GitHub tag (latest SemVer)"></a>
<a href="https://github.com/wttech/acm/releases"><img src="https://img.shields.io/github/downloads/wttech/acm/total" alt="GitHub All Releases"></a>
<a href="https://github.com/wttech/acm/actions/workflows/check.yml"><img src="https://github.com/wttech/acm/workflows/Check/badge.svg" alt="Check"></a>
<a href="http://www.apache.org/licenses/"><img src="docs/apache-license-badge.svg" alt="Apache License, Version 2.0, January 2004"></a>
<br>
<sub>Proudly sponsored by:</sub>
<br><br>
<a href="https://enterprisesolutions.wpp.com/" target="_blank">
<picture>
<source srcset="docs/wpp-es-primary-white.svg" media="(prefers-color-scheme: dark)">
<img src="docs/wpp-es-primary-navy.svg" alt="WPP Enterprise Solutions" height="20">
</picture>
</a>
</p>

---

# AEM Content Manager (ACM)

ACM for Adobe Experience Manager (AEM) streamlines workflows and boosts productivity with an intuitive interface and robust features. It automates bulk content and permission changes, making it ideal for content migration and large-scale permission management. ACM offers an IDE-like experience with code completion, auto-import, and on-the-fly compilation.

It works seamlessly across AEM on-premise, AMS, and AEMaaCS environments.

## References

* Talk at AdaptTo 2025 Conference - [Can't we just automate this? Permissions & content updates as-a-code with ACM Tool](https://adapt.to/2025/schedule/cant-we-just-automate-this-permissions-and-content-updates-as-a-code-with-acm-tool) by [Krystian Panek](mailto:krystian.panek@vml.com) &amp; [Tomasz Sobczyk](mailto:tomasz.sobczyk@vml.com)

[![AdaptTo 2025 Video](docs/adaptto-2025-video.jpg)](https://www.youtube.com/watch?v=hGcMWGE7ZiU)

## Screenshots

<img src="docs/screenshot-dashboard.png" width="720" alt="ACM Dashboard">


## Table of Contents

- [AEM Content Manager (ACM)](#aem-content-manager-acm)
  - [References](#references)
  - [Screenshots](#screenshots)
  - [Table of Contents](#table-of-contents)
  - [Key Features](#key-features)
    - [All-in-one Solution](#all-in-one-solution)
    - [New Approach](#new-approach)
    - [Content Management](#content-management)
    - [Permissions Management](#permissions-management)
    - [Data Imports \& Exports](#data-imports--exports)
  - [Installation](#installation)
    - [Package Installation](#package-installation)
    - [Tools Access Configuration](#tools-access-configuration)
      - [Feature Permissions](#feature-permissions)
      - [API Permissions](#api-permissions)
  - [Compatibility](#compatibility)
  - [Documentation](#documentation)
    - [Usage](#usage)
    - [Console](#console)
    - [Content scripts](#content-scripts)
      - [Minimal example](#minimal-example)
      - [Conditions](#conditions)
      - [Inputs example](#inputs-example)
      - [Outputs example](#outputs-example)
      - [Console \& logging](#console--logging)
        - [Simple console output](#simple-console-output)
        - [Timestamped console output](#timestamped-console-output)
        - [Logged console output](#logged-console-output)
      - [ACL example](#acl-example)
      - [Repo example](#repo-example)
      - [Abortable example](#abortable-example)
      - [Script documentation](#script-documentation)
      - [Locking](#locking)
    - [History](#history)
    - [Extension scripts](#extension-scripts)
      - [Example extension script](#example-extension-script)
    - [Snippets](#snippets)
      - [Example snippet](#example-snippet)
    - [Mocks](#mocks)
    - [Notifications](#notifications)
  - [AI and IDE tools](#ai-and-ide-tools)
    - [MCP server](#mcp-server)
    - [VS Code extension](#vs-code-extension)
    - [Agent skill](#agent-skill)
  - [Authors](#authors)
  - [Contributing](#contributing)
  - [License](#license)

## Key Features

### All-in-one Solution

ACM is a comprehensive alternative to tools like APM, AECU, AEM Groovy Console, and AC Tool.
It leverages the Groovy language, which is familiar to most Java developers, eliminating the need to learn custom YAML syntax or languages/grammars. 
Enjoy a single, painless tool setup in AEM (Adobe Experience Manager) projects with no hooks and POM updates.

### New Approach

Experience a different way of using Groovy scripts. 
ACM ensures the instance is healthy before scripts decide when to run: once, periodically, or at an exact date and time. 
Execute scripts in parallel or sequentially, offering unmatched flexibility and control.

### Content Management

Effortlessly migrate pages and components between versions. Ensure content integrity and resolve issues with confidence.

### Permissions Management

Apply JCR permissions dynamically. 
Manage permissions seamlessly during site creation, blueprinting, and for live copies, language copies, and other AEM-specific replication scenarios.

### Data Imports & Exports

Effortlessly integrate data from external sources into the JCR repository, enhancing content management capabilities. 
By simplifying data import implementation, ACM allows developers to focus more on developing better components and presenting data effectively, ensuring a user-friendly experience.

## Installation

### Package Installation

The ready-to-install AEM packages are available on:

- [GitHub releases](https://github.com/wttech/acm/releases).
- [Maven Central](https://central.sonatype.com/search?q=dev.vml.es.acm).

There are two ways to install AEM Content Manager on your AEM (Adobe Experience Manager) instances:

1. **Using the 'all' package:**
    * Recommended for fresh AEM instances.
    * This package will also install Groovy Bundles ([groovy](https://mvnrepository.com/artifact/org.apache.groovy/groovy) and [groovy-templates](https://mvnrepository.com/artifact/org.apache.groovy/groovy-templates)).
2. **Using the 'minimal' package:**
    * Recommended for AEM instances that already contain some dependencies shared with other tools.
    * This package does not include Groovy bundles, which can be provided by other tools like [AEM Easy Content Upgrade](https://github.com/valtech/aem-easy-content-upgrade/releases) (AECU) or [AEM Groovy Console](https://github.com/orbinson/aem-groovy-console/releases).

For AEM On-Premise and AEM Managed Service (AMS) deployments, just install the ACM package using the AEM Package Manager.

:construction: Restart required: Basic ACLs and paths are created via [repo-init](https://sling.apache.org/documentation/bundles/repository-initialization.html) [script](https://github.com/wttech/acm/blob/main/ui.config/src/main/content/jcr_root/apps/acm-config/osgiconfig/config/org.apache.sling.jcr.repoinit.RepositoryInitializer~acmcore.config) after installing the ACM package. A reboot is strongly recommended, as the health checker may block code execution until the restart is complete. :construction:

For AEMaaCS deployments, embed the ACM package as a part of project-specific 'all' package like other vendor packages in the [AEM Project Archetype](https://github.com/adobe/aem-project-archetype/blob/develop/src/main/archetype/all/pom.xml):

Adjust file 'all/pom.xml':

1. Add dependency to [all](https://central.sonatype.com/artifact/dev.vml.es/acm.all) or [min](https://central.sonatype.com/artifact/dev.vml.es/acm.min) package in the *dependencies* section:

    ```xml
    <dependency>
        <groupId>dev.vml.es</groupId>
        <artifactId>acm.all</artifactId>
        <version>${acm.version}</version>
        <type>zip</type>
    </dependency>
    ```

2. Add embedding in *filevault-package-maven-plugin* configuration:

    ```xml
    <embedded>
        <groupId>dev.vml.es</groupId>
        <artifactId>acm.all</artifactId>
        <type>zip</type>
        <target>/apps/${appId}-vendor-packages/application/install</target>
    </embedded>
    ```

    Remember to replace `${acm.version}` and `${appId}` with the actual values.

    Repeat the same for [ui.content.example](https://central.sonatype.com/artifact/dev.vml.es/acm.ui.content.example) package if you want to install demonstrative ACM scripts to get you started quickly.

### Tools Access Configuration

The default settings are defined in the [repo init OSGi config](https://github.com/wttech/acm/blob/main/ui.config/src/main/content/jcr_root/apps/acm-config/osgiconfig/config/org.apache.sling.jcr.repoinit.RepositoryInitializer~acmcore.config), which effectively restrict access to the tool and script execution to administrators only - a recommended practice for production environments.

If you require further customization, you can create your own repo init OSGi config to override or extend the default configuration.

#### Feature Permissions

ACM supports fine-grained permission control through individual features. This allows you to grant specific capabilities to different user groups without providing full access to ACM tool. For a complete list of available features, see the [ACM features directory](https://github.com/wttech/acm/tree/main/ui.apps/src/main/content/jcr_root/apps/acm/feature).

**Example: Create groups for full and limited access:**

```ini
service.ranking=I"100"
scripts=["  
    set ACL for everyone
        deny jcr:read on /apps/cq/core/content/nav/tools/acm
        deny jcr:read on /apps/acm
    end

    create group acm-admins
    set ACL for acm-admins
        allow jcr:read on /apps/cq/core/content/nav/tools/acm
        allow jcr:read on /apps/acm
    end

    create group acm-script-users
    set ACL for acm-script-users
        allow jcr:read on /apps
adobe-experience-manageraemaem-toolsaemaacscmscontent-management-systemgroovygroovy-languagegroovy-scriptmigration

Lo que la gente pregunta sobre acm

¿Qué es wttech/acm?

+

wttech/acm es tools para el ecosistema de Claude AI. AEM Content Manager (ACM) – Permissions & Content Updates as Code Tiene 35 estrellas en GitHub y su última actualización registrada es del 2026-10-13.

¿Cómo se instala acm?

+

Puedes instalar acm clonando el repositorio (https://github.com/wttech/acm) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar wttech/acm?

+

Nuestro agente de seguridad ha analizado wttech/acm y le ha asignado un Trust Score de 100/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene wttech/acm?

+

wttech/acm es mantenido por wttech. La última actividad registrada en GitHub es del 2026-10-13, con 48 issues abiertos.

¿Hay alternativas a acm?

+

Sí. En ClaudeWave puedes explorar tools similares en /categories/tools, ordenados por popularidad o actividad reciente.

Despliega acm en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: wttech/acm
[![Featured on ClaudeWave](https://claudewave.com/api/badge/wttech-acm)](https://claudewave.com/repo/wttech-acm)
<a href="https://claudewave.com/repo/wttech-acm"><img src="https://claudewave.com/api/badge/wttech-acm" alt="Featured on ClaudeWave: wttech/acm" width="320" height="64" /></a>

Más Tools

Alternativas a acm
multica-ai
andrej-karpathy-skills
5mo ago

A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.

219.5k22.1k
ToolsInstall
nextlevelbuilder
ui-ux-pro-max-skill
yesterday

An AI skill that provides design intelligence for building professional UI/UX across multiple platforms.

135.6k14.4kPython
Toolsai-skillsantigravityInstall
JuliusBrussee
caveman
today

🪨 why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.

111.5k6.5kGo
ToolsaianthropicInstall
BerriAI
litellm
today

The fastest, litest AI Gateway. Rust core with Python SDK. Call 100+ LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]

61.2k12.3kPython
Toolsai-gatewayanthropicInstall
Alishahryar1
free-claude-code
today

Use Claude Code, Codex, VSCode, Pi, and OpenCode (and 6 other harnesses) for free (1.3B+ free tokens) from your terminal, app, IDE, or phone, and now from the browser with native browser sessions (multi-harness + multi-model) like OpenClaw (voice supported + ToS friendly)

60.3k9.4kPython
ToolsInstall
router-for-me
CLIProxyAPI
today

Wrap Antigravity, ChatGPT Codex, Claude Code, Grok Build, Muse Code, Devin as an OpenAI/Gemini/Claude/Codex compatible API service, allowing you to enjoy the free Gemini Series, GPT Series, Grok Series, Claude model through API

55.1k8.4kGo
Toolsantigravityclaude-codeInstall