diff --git a/src/com/plantuml/api/cheerpj/package-info.java b/src/com/plantuml/api/cheerpj/package-info.java
new file mode 100644
index 000000000..e7424d958
--- /dev/null
+++ b/src/com/plantuml/api/cheerpj/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage PlantUML with the
+ *
+ * CheerpJ API.
+ *
+ */
+package cheerpj;
diff --git a/src/com/plantuml/api/cheerpj/readme.md b/src/com/plantuml/api/cheerpj/readme.md
new file mode 100644
index 000000000..b2e105d15
--- /dev/null
+++ b/src/com/plantuml/api/cheerpj/readme.md
@@ -0,0 +1,16 @@
+# Directory Documentation for `cheerpj`
+
+## Description
+This package provides classes used to manage [CheerpJ](https://labs.leaningtech.com/cheerpj3) API.
+
+## Reference
+- [CheerpJ](https://labs.leaningtech.com/cheerpj3)
+
+## Use by
+- :octocat: [plantuml/plantuml-core](https://github.com/plantuml/plantuml-core)
+ - on [`/plantuml-core/src/main/java`](https://github.com/plantuml/plantuml-core/tree/main/plantuml-core/src/main/java)
+- :octocat: [plantuml/plantuml.js](https://github.com/plantuml/plantuml.js)
+
+## Demonstration
+- [`plantuml-core/raw.html`](https://plantuml.github.io/plantuml-core/raw.html)
+- [`plantuml.js`](https://plantuml.github.io/plantuml.js/)
diff --git a/src/gen/package-info.java b/src/gen/package-info.java
new file mode 100644
index 000000000..b281c4a80
--- /dev/null
+++ b/src/gen/package-info.java
@@ -0,0 +1,12 @@
+/**
+ * This package is part of Smetana:
+ * the internal port (from C
to Java
)
+ * of GraphViz/Dot
+ * in plantuml.
+ *
+ * @see h
+ * @see smetana.core
+ * @see net.sourceforge.plantuml.sdot
+ *
+ */
+package gen;
diff --git a/src/gen/readme.md b/src/gen/readme.md
new file mode 100644
index 000000000..fa8a1f9de
--- /dev/null
+++ b/src/gen/readme.md
@@ -0,0 +1,28 @@
+# Directory Documentation for `gen`
+
+## Description
+This package is part of Smetana: the internal port (from `C` to `Java`) of [GraphViz/Dot](https://graphviz.org) in [plantuml](https://plantuml.com/smetana02).
+
+## Link
+- [Smetana](https://plantuml.com/smetana02) and :octocat: [plantuml/smetana](https://github.com/plantuml/smetana)
+ - [`src/h`](../h)
+ - [`src/gen`](../gen)
+ - [`src/smetana/core`](../smetana/core)
+
+## Reference
+- [Graphviz](https://graphviz.org)
+- [Graphviz DOT Language](https://www.graphviz.org/doc/info/lang.html)
+- [Graphviz _(on GitLab)_](https://gitlab.com/graphviz/graphviz/)
+- [Graphviz _(on Wikipedia)_](https://en.wikipedia.org/wiki/Graphviz)
+
+## Credit
+- :octocat: [plantuml/smetana](https://github.com/plantuml/smetana)
+
+## Internaly use by
+- [`plantuml/sdot`](../net/sourceforge/plantuml/sdot)
+- [`plantuml/gitlog/SmetanaForGit.java`](../net/sourceforge/plantuml/gitlog/SmetanaForGit.java)
+- [`plantuml/jsondiagram/SmetanaForJson.java`](../net/sourceforge/plantuml/jsondiagram/SmetanaForJson.java)
+
+## Misc.
+- [Bedřich Smetana _(on Wikipedia)_](https://en.wikipedia.org/wiki/Bed%C5%99ich_Smetana)
+- [Smetana _(on Wikipedia)_](https://en.wikipedia.org/wiki/Smetana_(disambiguation))
diff --git a/src/h/package-info.java b/src/h/package-info.java
new file mode 100644
index 000000000..e39835fe6
--- /dev/null
+++ b/src/h/package-info.java
@@ -0,0 +1,12 @@
+/**
+ * This package is part of Smetana:
+ * the internal port (from C
to Java
)
+ * of GraphViz/Dot
+ * in plantuml.
+ *
+ * @see gen
+ * @see smetana.core
+ * @see net.sourceforge.plantuml.sdot
+ *
+ */
+package h;
diff --git a/src/h/readme.md b/src/h/readme.md
new file mode 100644
index 000000000..473884ccb
--- /dev/null
+++ b/src/h/readme.md
@@ -0,0 +1,32 @@
+# Directory Documentation for `h`
+
+## Description
+This package is part of Smetana: the internal port (from `C` to `Java`) of [GraphViz/Dot](https://graphviz.org) in [plantuml](https://plantuml.com/smetana02).
+
+Port of the `C header` (`.h`) of Graphviz on Java:
+- `EN` for `enumeration` or `enum`
+- `ST` for `structure`
+
+## Link
+- [Smetana](https://plantuml.com/smetana02) and :octocat: [plantuml/smetana](https://github.com/plantuml/smetana)
+ - [`src/h`](../h)
+ - [`src/gen`](../gen)
+ - [`src/smetana/core`](../smetana/core)
+
+## Reference
+- [Graphviz](https://graphviz.org)
+- [Graphviz DOT Language](https://www.graphviz.org/doc/info/lang.html)
+- [Graphviz _(on GitLab)_](https://gitlab.com/graphviz/graphviz/)
+- [Graphviz _(on Wikipedia)_](https://en.wikipedia.org/wiki/Graphviz)
+
+## Credit
+- :octocat: [plantuml/smetana](https://github.com/plantuml/smetana)
+
+## Internaly use by
+- [`plantuml/sdot`](../net/sourceforge/plantuml/sdot)
+- [`plantuml/gitlog/SmetanaForGit.java`](../net/sourceforge/plantuml/gitlog/SmetanaForGit.java)
+- [`plantuml/jsondiagram/SmetanaForJson.java`](../net/sourceforge/plantuml/jsondiagram/SmetanaForJson.java)
+
+## Misc.
+- [Bedřich Smetana _(on Wikipedia)_](https://en.wikipedia.org/wiki/Bed%C5%99ich_Smetana)
+- [Smetana _(on Wikipedia)_](https://en.wikipedia.org/wiki/Smetana_(disambiguation))
diff --git a/src/smetana/core/package-info.java b/src/smetana/core/package-info.java
new file mode 100644
index 000000000..539fde9da
--- /dev/null
+++ b/src/smetana/core/package-info.java
@@ -0,0 +1,12 @@
+/**
+ * This package is part of Smetana:
+ * the internal port (from C
to Java
)
+ * of GraphViz/Dot
+ * in plantuml.
+ *
+ * @see h
+ * @see gen
+ * @see net.sourceforge.plantuml.sdot
+ *
+ */
+package core;
diff --git a/src/smetana/core/readme.md b/src/smetana/core/readme.md
new file mode 100644
index 000000000..fb32b53cc
--- /dev/null
+++ b/src/smetana/core/readme.md
@@ -0,0 +1,28 @@
+# Directory Documentation for `core`
+
+## Description
+This package is part of Smetana: the internal port (from `C` to `Java`) of [GraphViz/Dot](https://graphviz.org) in [plantuml](https://plantuml.com/smetana02).
+
+## Link
+- [Smetana](https://plantuml.com/smetana02) and :octocat: [plantuml/smetana](https://github.com/plantuml/smetana)
+ - [`src/h`](../h)
+ - [`src/gen`](../gen)
+ - [`src/smetana/core`](../smetana/core)
+
+## Reference
+- [Graphviz](https://graphviz.org)
+- [Graphviz DOT Language](https://www.graphviz.org/doc/info/lang.html)
+- [Graphviz _(on GitLab)_](https://gitlab.com/graphviz/graphviz/)
+- [Graphviz _(on Wikipedia)_](https://en.wikipedia.org/wiki/Graphviz)
+
+## Credit
+- :octocat: [plantuml/smetana](https://github.com/plantuml/smetana)
+
+## Internaly use by
+- [`plantuml/sdot`](../net/sourceforge/plantuml/sdot)
+- [`plantuml/gitlog/SmetanaForGit.java`](../net/sourceforge/plantuml/gitlog/SmetanaForGit.java)
+- [`plantuml/jsondiagram/SmetanaForJson.java`](../net/sourceforge/plantuml/jsondiagram/SmetanaForJson.java)
+
+## Misc.
+- [Bedřich Smetana _(on Wikipedia)_](https://en.wikipedia.org/wiki/Bed%C5%99ich_Smetana)
+- [Smetana _(on Wikipedia)_](https://en.wikipedia.org/wiki/Smetana_(disambiguation))