This is an automated email from the ASF dual-hosted git repository.

cschneider pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-api.git


The following commit(s) were added to refs/heads/master by this push:
     new eb9611b  Add CLAUDE.md
eb9611b is described below

commit eb9611b490ce005d4499a390cc9a5d4486e568fc
Author: Christian Schneider <[email protected]>
AuthorDate: Mon Jun 29 20:25:13 2026 +0200

    Add CLAUDE.md
---
 CLAUDE.md | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/CLAUDE.md b/CLAUDE.md
new file mode 100644
index 0000000..a0c0531
--- /dev/null
+++ b/CLAUDE.md
@@ -0,0 +1,37 @@
+# Apache Sling Distribution API
+
+## Overview
+
+This bundle defines the public Java API for the Apache Sling Content 
Distribution (SCD) module. It contains no runnable logic — only interfaces, 
abstract types, and value objects that other bundles (distribution-core, 
distribution-journal, etc.) implement and consume. The central contract is 
`Distributor`, which accepts a `DistributionRequest` (type + paths) and returns 
a `DistributionResponse`. Extension points include `ImportPreProcessor`, 
`ImportPostProcessor`, and `InvalidationProces [...]
+
+## Tech Stack
+
+- Java 8, OSGi bundle (Apache Felix / bnd-maven-plugin)
+- Dependencies: `org.apache.sling.api`, `javax.jcr`, `javax.servlet`, OSGi 
core/compendium, JetBrains annotations
+- Build: Maven with `sling-bundle-parent` v47
+
+## Build & Test Commands
+
+```
+mvn clean install            # build and run unit tests
+mvn test -Dtest=DistributionResponseTest   # run a single test class
+```
+
+## Architecture
+
+All types live under `org.apache.sling.distribution`:
+
+| Package | Contents |
+|---|---|
+| (root) | `Distributor`, `DistributionRequest/Response`, 
`DistributionRequestType` (ADD/DELETE/PULL/…), `ImportPreProcessor`, 
`ImportPostProcessor`, `InvalidationProcessor` |
+| `event` | `DistributionEventTopics`, `DistributionEventProperties` — OSGi 
event constants fired after distribute/import |
+| `transport` | `DistributionTransportSecretProvider`, 
`DistributionTransportSecret` — auth plug-in SPI |
+
+`DistributionRequestType` is an enum-like final class (not a Java enum) — 
don't try to switch on it as an enum.
+
+## Conventions & Gotchas
+
+- This is a **pure API bundle**: it deliberately exports all packages and has 
no `@Component` annotations. Do not add implementation code here.
+- OSGi package versioning is managed via `package-info.java` files with 
`@Version` annotations. Bumping a type signature here requires a major/minor 
version bump in the corresponding `package-info.java`.
+- The bundle is built with bnd but the POM inherits from `sling-bundle-parent` 
(Apache parent). `bnd-maven-plugin` derives the OSGi manifest automatically 
from the source; no manual `bnd.bnd` file is needed.
+- Tests use JUnit 4 (not 5). Keep new tests in that style.

Reply via email to