diff --git a/src/net/sourceforge/plantuml/annotation/package-info.java b/src/net/sourceforge/plantuml/annotation/package-info.java
new file mode 100644
index 000000000..d4f4e9ad5
--- /dev/null
+++ b/src/net/sourceforge/plantuml/annotation/package-info.java
@@ -0,0 +1,5 @@
+/**
+ * Provides classes used to manage Java User Annotation on PlantUML.
+ *
+ */
+package net.sourceforge.plantuml.annotation;
diff --git a/src/net/sourceforge/plantuml/annotation/readme.md b/src/net/sourceforge/plantuml/annotation/readme.md
new file mode 100644
index 000000000..ae958c4c6
--- /dev/null
+++ b/src/net/sourceforge/plantuml/annotation/readme.md
@@ -0,0 +1,6 @@
+# Directory Documentation for `annotation`
+
+## Description
+This package provides classes used to manage Java User Annotation on PlantUML.
+
+Currently use to identify 'DeadCode' with the `@DeadCode` Annotation.
\ No newline at end of file
diff --git a/src/net/sourceforge/plantuml/argon2/package-info.java b/src/net/sourceforge/plantuml/argon2/package-info.java
index ae7430091..605e879c7 100644
--- a/src/net/sourceforge/plantuml/argon2/package-info.java
+++ b/src/net/sourceforge/plantuml/argon2/package-info.java
@@ -1,5 +1,5 @@
/**
- * Provides classes used to manage the password-hashing function nammed
+ * Provides classes used to manage the Password-Hashing Function nammed
*
* Argon2.
*
diff --git a/src/net/sourceforge/plantuml/argon2/readme.md b/src/net/sourceforge/plantuml/argon2/readme.md
index 5b9c35e9a..d52410a02 100644
--- a/src/net/sourceforge/plantuml/argon2/readme.md
+++ b/src/net/sourceforge/plantuml/argon2/readme.md
@@ -4,19 +4,19 @@
This package provides classes used to manage the password-hashing function nammed [Argon2](https://github.com/andreas1327250/argon2-java).
## Link
-- [:octocat:Andreas1327250/Argon2-java](https://github.com/andreas1327250/argon2-java)
+- :octocat: [Andreas1327250/Argon2-java](https://github.com/andreas1327250/argon2-java)
## Reference
- [Argon2 _(on Wikipedia)_](https://en.wikipedia.org/wiki/Argon2)
- [RFC 9106 (Argon2)](https://datatracker.ietf.org/doc/html/rfc9106)
-- [:octocat:P-H-C/PHC-winner-argon2](https://github.com/P-H-C/phc-winner-argon2)
+- :octocat: [P-H-C/PHC-winner-argon2](https://github.com/P-H-C/phc-winner-argon2)
- [Password Hashing Competition (PHC)](https://www.password-hashing.net)
- [BLAKE2](https://www.blake2.net)
- [RFC 7693 (BLAKE2)](https://datatracker.ietf.org/doc/html/rfc7693)
## Credit
-- [:octocat:Andreas1327250/Argon2-java](https://github.com/andreas1327250/argon2-java)
-- [:octocat:Alphazero/Blake2b](https://github.com/alphazero/Blake2b/)
+- :octocat: [Andreas1327250/Argon2-java](https://github.com/andreas1327250/argon2-java)
+- :octocat: [Alphazero/Blake2b](https://github.com/alphazero/Blake2b/)
## Misc.
diff --git a/src/net/sourceforge/plantuml/brotli/package-info.java b/src/net/sourceforge/plantuml/brotli/package-info.java
index 05e4f12ca..c976ce34e 100644
--- a/src/net/sourceforge/plantuml/brotli/package-info.java
+++ b/src/net/sourceforge/plantuml/brotli/package-info.java
@@ -11,5 +11,8 @@
*
*
*
+ * @see net.sourceforge.plantuml.code.deflate
+ * @see net.sourceforge.plantuml.zopfli
+ *
*/
package net.sourceforge.plantuml.brotli;
diff --git a/src/net/sourceforge/plantuml/brotli/readme.md b/src/net/sourceforge/plantuml/brotli/readme.md
index 43919430a..176c1fceb 100644
--- a/src/net/sourceforge/plantuml/brotli/readme.md
+++ b/src/net/sourceforge/plantuml/brotli/readme.md
@@ -4,14 +4,14 @@
This package provides classes used to manage [Brotli Compression Algorithm](https://github.com/google/brotli).
## Link
-- [:octocat:Google/Brotli](https://github.com/google/brotli)
+- :octocat: [Google/Brotli](https://github.com/google/brotli)
## Reference
- [Brotli _(on Wikipedia)_](https://en.wikipedia.org/wiki/Brotli)
- [RFC 7932](https://datatracker.ietf.org/doc/html/rfc7932)
## Credit
-- [:octocat:Google/Brotli](https://github.com/google/brotli)
+- :octocat: [Google/Brotli](https://github.com/google/brotli)
## Misc.
- [Brötchen _(on Wikipedia)_](https://de.wikipedia.org/wiki/Br%C3%B6tchen)
diff --git a/src/net/sourceforge/plantuml/code/readme.md b/src/net/sourceforge/plantuml/code/readme.md
index 9e301b836..786a357dd 100644
--- a/src/net/sourceforge/plantuml/code/readme.md
+++ b/src/net/sourceforge/plantuml/code/readme.md
@@ -13,7 +13,7 @@ This package provides classes used to manage Coding and Compression.
- [RFC 1951 (DEFLATE)](https://datatracker.ietf.org/doc/html/rfc1951)
## Credit
-- [:octocat:Nayuki/Simple-DEFLATE-decompressor](https://github.com/nayuki/Simple-DEFLATE-decompressor)
+- :octocat: [Nayuki/Simple-DEFLATE-decompressor](https://github.com/nayuki/Simple-DEFLATE-decompressor)
## Misc.
diff --git a/src/net/sourceforge/plantuml/cucadiagram/package-info.java b/src/net/sourceforge/plantuml/cucadiagram/package-info.java
new file mode 100644
index 000000000..ac23d43cc
--- /dev/null
+++ b/src/net/sourceforge/plantuml/cucadiagram/package-info.java
@@ -0,0 +1,16 @@
+/**
+ * Provides classes used to manage PlantUML Class-UseCase-Activity (CUCA) Diagram.
+ *
+ *
+ * The PlantUML CUCA Diagrams are:
+ *
+ *
+ */
+package net.sourceforge.plantuml.cucadiagram;
diff --git a/src/net/sourceforge/plantuml/cucadiagram/readme.md b/src/net/sourceforge/plantuml/cucadiagram/readme.md
new file mode 100644
index 000000000..f53cc653a
--- /dev/null
+++ b/src/net/sourceforge/plantuml/cucadiagram/readme.md
@@ -0,0 +1,8 @@
+# Directory Documentation for `cucadiagram`
+
+## Description
+This package provides classes used to manage PlantUML Class-UseCase-Activity (CUCA) Diagram:
+- [Class Diagram](https://plantuml.com/class-diagram)
+- [Use Case Diagram](https://plantuml.com/use-case-diagram)
+- [Activity Diagram (legacy)](https://plantuml.com/activity-diagram-legacy)
+
diff --git a/src/net/sourceforge/plantuml/ditaa/package-info.java b/src/net/sourceforge/plantuml/ditaa/package-info.java
index 0246431ab..c2cbdbd4c 100644
--- a/src/net/sourceforge/plantuml/ditaa/package-info.java
+++ b/src/net/sourceforge/plantuml/ditaa/package-info.java
@@ -3,6 +3,7 @@
*
* Ditaa Diagram.
*
- * @see org.stathissideris.ascii2image
+ * @see org.stathissideris.ascii2image.graphics
+ *
*/
package net.sourceforge.plantuml.ditaa;
diff --git a/src/net/sourceforge/plantuml/ditaa/readme.md b/src/net/sourceforge/plantuml/ditaa/readme.md
index 6c23b94a3..1288661f2 100644
--- a/src/net/sourceforge/plantuml/ditaa/readme.md
+++ b/src/net/sourceforge/plantuml/ditaa/readme.md
@@ -10,7 +10,7 @@ This package provides classes used to manage [PlantUML Ditaa Diagram](https://pl
## Credit
- [`org.stathissideris.ascii2image`](../../../../org/stathissideris/ascii2image) _(included in PlantUML)_
-- [:octocat:stathissideris/ditaa](https://github.com/stathissideris/ditaa)
+- :octocat: [stathissideris/ditaa](https://github.com/stathissideris/ditaa)
## Misc.
diff --git a/src/net/sourceforge/plantuml/dot/package-info.java b/src/net/sourceforge/plantuml/dot/package-info.java
index a4efda1a3..8ca4ea6a7 100644
--- a/src/net/sourceforge/plantuml/dot/package-info.java
+++ b/src/net/sourceforge/plantuml/dot/package-info.java
@@ -2,6 +2,10 @@
* Provides classes used to manage
*
* Graphviz dot for layout engine.
- *
+ *
+ * @see net.sourceforge.plantuml.elk
+ * @see net.sourceforge.plantuml.sdot
+ * @see net.sourceforge.plantuml.vizjs
+ *
*/
package net.sourceforge.plantuml.dot;
diff --git a/src/net/sourceforge/plantuml/dot/readme.md b/src/net/sourceforge/plantuml/dot/readme.md
index a543cc570..9f10d71c1 100644
--- a/src/net/sourceforge/plantuml/dot/readme.md
+++ b/src/net/sourceforge/plantuml/dot/readme.md
@@ -12,8 +12,12 @@ This package provides classes used to export diagram with the [Graphviz dot](htt
## See also other engines
- [PlantUML 'Eclipse Layout Kernel (ELK)' Engine](https://plantuml.com/elk)
- - [Eclipse Layout Kernel (ELK)](https://eclipse.dev/elk/)
-- [Smetana _(internal port of GraphViz in plantuml)_](https://plantuml.com/smetana02) and [:octocat:plantuml/smetana](https://github.com/plantuml/smetana)
+ - [`elk/proxy`](./proxy/) _(included in PlantUML)_
+- [Smetana _(internal port of GraphViz in plantuml)_](https://plantuml.com/smetana02) and :octocat: [plantuml/smetana](https://github.com/plantuml/smetana)
+ - [`plantuml/sdot`](../sdot/)
- [`src/gen`](../../../../gen)
- [`src/smetana/core`](../../../../smetana/core)
- [`src/h`](../../../../h)
+- [PlantUML Vizjs _(a port to Javascript of GraphViz)_](https://plantuml.com/vizjs)
+ - [`plantuml/vizjs`](../vizjs/) _(included in PlantUML)_
+ - :octocat: [Plantuml/Vizjs](https://github.com/plantuml/vizjs) _(not included in `plantuml/plantuml`)_
\ No newline at end of file
diff --git a/src/net/sourceforge/plantuml/ebnf/package-info.java b/src/net/sourceforge/plantuml/ebnf/package-info.java
index 0b7e661eb..1a575b81f 100644
--- a/src/net/sourceforge/plantuml/ebnf/package-info.java
+++ b/src/net/sourceforge/plantuml/ebnf/package-info.java
@@ -3,5 +3,7 @@
*
* EBNF (Extended Backus–Naur Form) Diagram.
*
+ * @see net.sourceforge.plantuml.regexdiagram
+ *
*/
package net.sourceforge.plantuml.ebnf;
diff --git a/src/net/sourceforge/plantuml/ebnf/readme.md b/src/net/sourceforge/plantuml/ebnf/readme.md
index 450626866..467522f50 100644
--- a/src/net/sourceforge/plantuml/ebnf/readme.md
+++ b/src/net/sourceforge/plantuml/ebnf/readme.md
@@ -7,10 +7,17 @@ This package provides classes used to manage [Extended Backus–Naur Form (EBNF)
- [Extended Backus–Naur Form (EBNF) Diagram](https://plantuml.com/ebnf)
## Reference
+### Internal Reference
+- [QA-16529](https://forum.plantuml.net/16529/could-we-add-syntax-diagrams)
+
+### External Reference
+- [Syntax diagram _(on Wikipedia)_](https://en.wikipedia.org/wiki/Syntax_diagram)
- [Extended Backus–Naur Form (EBNF) _(on Wikipedia)_](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form)
- [ISO/IEC 14977 : 1996(E)](http://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf)
-## Credit
+## See also
+- [PlantUML Regular expression (Regex) Diagram](https://plantuml.com/regex)
+- [`regexdiagram`](../regexdiagram/) _(directory on plantuml)_
## Misc.
- [Shunting yard algorithm](https://en.wikipedia.org/wiki/Shunting_yard_algorithm)
diff --git a/src/net/sourceforge/plantuml/elk/package-info.java b/src/net/sourceforge/plantuml/elk/package-info.java
index eaba9ff58..a9bbe414a 100644
--- a/src/net/sourceforge/plantuml/elk/package-info.java
+++ b/src/net/sourceforge/plantuml/elk/package-info.java
@@ -4,6 +4,9 @@
* Eclipse Layout Kernel (ELK) for layout engine.
*
* @see net.sourceforge.plantuml.elk.proxy
+ * @see net.sourceforge.plantuml.dot
+ * @see net.sourceforge.plantuml.sdot
+ * @see net.sourceforge.plantuml.vizjs
*
*/
package net.sourceforge.plantuml.elk;
diff --git a/src/net/sourceforge/plantuml/elk/readme.md b/src/net/sourceforge/plantuml/elk/readme.md
index 83c4fdae7..8c9c4361f 100644
--- a/src/net/sourceforge/plantuml/elk/readme.md
+++ b/src/net/sourceforge/plantuml/elk/readme.md
@@ -4,7 +4,7 @@
This package provides classes used to export diagram with the [Eclipse Layout Kernel (ELK)](https://plantuml.com/elk) layout engine.
## Link
-- [PlantUML "Eclipse Layout Kernel (ELK)" Engine](https://plantuml.com/elk)
+- [PlantUML 'Eclipse Layout Kernel (ELK)' Engine](https://plantuml.com/elk)
## Reference
- [Eclipse Layout Kernel (ELK)](https://eclipse.dev/elk/)
@@ -12,12 +12,16 @@ This package provides classes used to export diagram with the [Eclipse Layout Ke
## Credit
- [`elk/proxy`](./proxy/) _(included in PlantUML)_
-- [:octocat:eclipse/elk](https://github.com/eclipse/elk)
+- :octocat: [eclipse/elk](https://github.com/eclipse/elk)
## See also other engines
- [GraphViz dot](https://plantuml.com/graphviz-dot)
- [`plantuml/dot`](../dot/)
-- [Smetana _(internal port of GraphViz in plantuml)_](https://plantuml.com/smetana02) and [:octocat:plantuml/smetana](https://github.com/plantuml/smetana)
+- [Smetana _(internal port of GraphViz in plantuml)_](https://plantuml.com/smetana02) and :octocat: [plantuml/smetana](https://github.com/plantuml/smetana)
+ - [`plantuml/sdot`](../sdot/)
- [`src/gen`](../../../../gen)
- [`src/smetana/core`](../../../../smetana/core)
- [`src/h`](../../../../h)
+- [PlantUML Vizjs _(a port to Javascript of GraphViz)_](https://plantuml.com/vizjs)
+ - [`plantuml/vizjs`](../vizjs/) _(included in PlantUML)_
+ - :octocat: [Plantuml/Vizjs](https://github.com/plantuml/vizjs) _(not included in `plantuml/plantuml`)_
\ No newline at end of file
diff --git a/src/net/sourceforge/plantuml/emoji/package-info.java b/src/net/sourceforge/plantuml/emoji/package-info.java
new file mode 100644
index 000000000..c8de08cdc
--- /dev/null
+++ b/src/net/sourceforge/plantuml/emoji/package-info.java
@@ -0,0 +1,9 @@
+/**
+ * Provides classes used to manage
+ *
+ * PlantUML Emoji icon set.
+ *
+ * @see net.sourceforge.plantuml.openiconic
+ *
+ */
+package net.sourceforge.plantuml.emoji;
diff --git a/src/net/sourceforge/plantuml/emoji/readme.md b/src/net/sourceforge/plantuml/emoji/readme.md
new file mode 100644
index 000000000..8de541223
--- /dev/null
+++ b/src/net/sourceforge/plantuml/emoji/readme.md
@@ -0,0 +1,10 @@
+# Directory Documentation for `emoji`
+
+## Description
+This package provides classes used to manage [PlantUML Emoji](https://plantuml.com/en/creole#68305e25f5788db0) icon set.
+
+## Link
+- [PlantUML Emoji](https://plantuml.com/en/creole#68305e25f5788db0) icon set
+
+## Credit
+- :octocat: [EmojiTwo/emojitwo](https://github.com/EmojiTwo/emojitwo)
diff --git a/src/net/sourceforge/plantuml/file/package-info.java b/src/net/sourceforge/plantuml/file/package-info.java
new file mode 100644
index 000000000..db17bd331
--- /dev/null
+++ b/src/net/sourceforge/plantuml/file/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage Folder and File.
+ *
+ * @see net.sourceforge.plantuml.security.SFile
+ *
+ */
+package net.sourceforge.plantuml.file;
diff --git a/src/net/sourceforge/plantuml/file/readme.md b/src/net/sourceforge/plantuml/file/readme.md
new file mode 100644
index 000000000..401e0cb39
--- /dev/null
+++ b/src/net/sourceforge/plantuml/file/readme.md
@@ -0,0 +1,4 @@
+# Directory Documentation for `file`
+
+## Description
+This package provides classes used to manage Folder and File.
diff --git a/src/net/sourceforge/plantuml/flashcode/package-info.java b/src/net/sourceforge/plantuml/flashcode/package-info.java
new file mode 100644
index 000000000..e016dc1c9
--- /dev/null
+++ b/src/net/sourceforge/plantuml/flashcode/package-info.java
@@ -0,0 +1,8 @@
+/**
+ * Provides classes used to manage
+ * Flashcode especially QR Code (on PlantUML).
+ *
+ * @see ext.plantuml.com.google.zxing
+ * @see net.sourceforge.plantuml.klimt.creole.atom.AtomImg#createQrcode
+ */
+package net.sourceforge.plantuml.flashcode;
diff --git a/src/net/sourceforge/plantuml/flashcode/readme.md b/src/net/sourceforge/plantuml/flashcode/readme.md
new file mode 100644
index 000000000..5d49c3123
--- /dev/null
+++ b/src/net/sourceforge/plantuml/flashcode/readme.md
@@ -0,0 +1,15 @@
+# Directory Documentation for `flashcode`
+
+## Description
+This package provides classes used to manage Flashcode especially QR Code (on PlantUML).
+
+## Reference
+- [Barcode _(on Wikipedia)_](https://en.wikipedia.org/wiki/Barcode)
+- [QR code _(on Wikipedia)_](https://en.wikipedia.org/wiki/QR_code)
+
+## Credit
+- [`com.google.zxing`](../../../../ext/plantuml/com/google/zxing/) _(included in PlantUML)_
+- :octocat: [zxing/zxing](https://github.com/zxing/zxing)
+
+## Misc.
+- [Flashcode _(on Wikipedia)_](https://fr.wikipedia.org/wiki/Flashcode) [fr]
diff --git a/src/net/sourceforge/plantuml/ftp/readme.md b/src/net/sourceforge/plantuml/ftp/readme.md
index d7937f21f..c93d7bccb 100644
--- a/src/net/sourceforge/plantuml/ftp/readme.md
+++ b/src/net/sourceforge/plantuml/ftp/readme.md
@@ -9,3 +9,5 @@ This package provides classes used to manage a [FTP](https://plantuml.com/ftp) s
## Reference
- [QA-9235](https://forum.plantuml.net/9235/unexpected-ftp-session)
+## Reference
+- [File Transfer Protocol _(on Wikipedia)_](https://en.wikipedia.org/wiki/File_Transfer_Protocol)
diff --git a/src/net/sourceforge/plantuml/fun/package-info.java b/src/net/sourceforge/plantuml/fun/package-info.java
new file mode 100644
index 000000000..791aedc74
--- /dev/null
+++ b/src/net/sourceforge/plantuml/fun/package-info.java
@@ -0,0 +1,6 @@
+/**
+ * Provides classes used to manage
+ * PlantUML Fun icon set.
+ *
+ */
+package net.sourceforge.plantuml.fun;
diff --git a/src/net/sourceforge/plantuml/fun/readme.md b/src/net/sourceforge/plantuml/fun/readme.md
new file mode 100644
index 000000000..57fc099e1
--- /dev/null
+++ b/src/net/sourceforge/plantuml/fun/readme.md
@@ -0,0 +1,4 @@
+# Directory Documentation for `fun`
+
+## Description
+This package provides classes used to manage Fun icon or sprite set.
diff --git a/src/net/sourceforge/plantuml/gitlog/package-info.java b/src/net/sourceforge/plantuml/gitlog/package-info.java
new file mode 100644
index 000000000..4f8c7465d
--- /dev/null
+++ b/src/net/sourceforge/plantuml/gitlog/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage
+ *
+ * Commits Git Log Diagram.
+ *
+ */
+package net.sourceforge.plantuml.gitlog;
diff --git a/src/net/sourceforge/plantuml/gitlog/readme.md b/src/net/sourceforge/plantuml/gitlog/readme.md
new file mode 100644
index 000000000..d924e612d
--- /dev/null
+++ b/src/net/sourceforge/plantuml/gitlog/readme.md
@@ -0,0 +1,12 @@
+# Directory Documentation for `gitlog`
+
+## Description
+This package provides classes used to manage [PlantUML Commits Git Log Diagram Diagram](http://alphadoc.plantuml.com/doc/markdown/en/git-diagram).
+
+## Link
+- [PlantUML Commits Git Log Diagram Diagram _(on Alpha-doc)_](http://alphadoc.plantuml.com/doc/markdown/en/git-diagram)
+
+## Reference
+- [QA-13557](https://forum.plantuml.net/13557/support-for-the-different-%40start-commands)
+- [GH-493](https://github.com/plantuml/plantuml/pull/493)
+
diff --git a/src/net/sourceforge/plantuml/help/package-info.java b/src/net/sourceforge/plantuml/help/package-info.java
index 10b882cb1..a4dd0f108 100644
--- a/src/net/sourceforge/plantuml/help/package-info.java
+++ b/src/net/sourceforge/plantuml/help/package-info.java
@@ -1,5 +1,5 @@
/**
- * Provides classes used to manage help list.
+ * Provides classes used to manage Help list.
*
*/
package net.sourceforge.plantuml.help;
diff --git a/src/net/sourceforge/plantuml/json/readme.md b/src/net/sourceforge/plantuml/json/readme.md
index f46e91fd3..1c0b1cde0 100644
--- a/src/net/sourceforge/plantuml/json/readme.md
+++ b/src/net/sourceforge/plantuml/json/readme.md
@@ -9,7 +9,7 @@ This package provides classes used to manage [JSON](https://www.json.org) Data _
- [JSON _(on Wikipedia)_](https://en.wikipedia.org/wiki/JSON)
## Credit
-- [:octocat:ralfstx/minimal-json](https://github.com/ralfstx/minimal-json)
+- :octocat: [ralfstx/minimal-json](https://github.com/ralfstx/minimal-json)
- [`json`](../json/) _(included in PlantUML)_
## Misc.
diff --git a/src/net/sourceforge/plantuml/log/package-info.java b/src/net/sourceforge/plantuml/log/package-info.java
index f8f77556b..1f668fc1c 100644
--- a/src/net/sourceforge/plantuml/log/package-info.java
+++ b/src/net/sourceforge/plantuml/log/package-info.java
@@ -1,7 +1,5 @@
/**
* Provides classes used to manage Log and Logging.
- *
- * @see java.util.logging
- *
+ *
*/
package net.sourceforge.plantuml.log;
diff --git a/src/net/sourceforge/plantuml/math/readme.md b/src/net/sourceforge/plantuml/math/readme.md
index 6891d2a9f..9f541996c 100644
--- a/src/net/sourceforge/plantuml/math/readme.md
+++ b/src/net/sourceforge/plantuml/math/readme.md
@@ -11,9 +11,9 @@ This package provides classes used to manage [PlantUML ASCII Math](https://plant
- [JLaTeXMath](https://scilab.gitlab.io/legacy_wiki/JLaTeXMath)
## Credit
-- [:octocat:Asciimath/Asciimathml](https://github.com/asciimath/asciimathml/tree/master/asciimath-based)
+- :octocat: [Asciimath/Asciimathml](https://github.com/asciimath/asciimathml/tree/master/asciimath-based)
- [`ASCIIMathTeXImg.java`](./ASCIIMathTeXImg.java) is an internal port of [`ASCIIMathTeXImg.js`](https://github.com/asciimath/asciimathml/blob/master/asciimath-based/ASCIIMathTeXImg.js)
-- [:octocat:Opencollab/Jlatexmath](https://github.com/opencollab/jlatexmath)
+- :octocat: [Opencollab/Jlatexmath](https://github.com/opencollab/jlatexmath)
## Dependency _(if available)_
- `org.scilab.forge.jlatexmath`
diff --git a/src/net/sourceforge/plantuml/nwdiag/readme.md b/src/net/sourceforge/plantuml/nwdiag/readme.md
index 67ed99f69..7049cce06 100644
--- a/src/net/sourceforge/plantuml/nwdiag/readme.md
+++ b/src/net/sourceforge/plantuml/nwdiag/readme.md
@@ -11,6 +11,7 @@ This package provides classes used to manage [PlantUML Network Diagram (nwdiag)]
## Credit or Inspiration
- [`nwdiag` of Takeshi Komiya](http://blockdiag.com/en/nwdiag/nwdiag-examples.html)
+- :octocat: [ Blockdiag/Nwdiag](https://github.com/blockdiag/nwdiag)
## Misc.
diff --git a/src/net/sourceforge/plantuml/openiconic/package-info.java b/src/net/sourceforge/plantuml/openiconic/package-info.java
new file mode 100644
index 000000000..33b17661f
--- /dev/null
+++ b/src/net/sourceforge/plantuml/openiconic/package-info.java
@@ -0,0 +1,9 @@
+/**
+ * Provides classes used to manage
+ *
+ * PlantUML Openiconic icon set.
+ *
+ * @see net.sourceforge.plantuml.emoji
+ *
+ */
+package net.sourceforge.plantuml.openiconic;
diff --git a/src/net/sourceforge/plantuml/openiconic/readme.md b/src/net/sourceforge/plantuml/openiconic/readme.md
new file mode 100644
index 000000000..e540368be
--- /dev/null
+++ b/src/net/sourceforge/plantuml/openiconic/readme.md
@@ -0,0 +1,10 @@
+# Directory Documentation for `openiconic`
+
+## Description
+This package provides classes used to manage [PlantUML Openiconic](https://plantuml.com/openiconic) icon set.
+
+## Link
+- [PlantUML Openiconic](https://plantuml.com/openiconic) icon set
+
+## Credit
+- :octocat: [Iconic/Open-iconic](https://github.com/iconic/open-iconic)
diff --git a/src/net/sourceforge/plantuml/png/package-info.java b/src/net/sourceforge/plantuml/png/package-info.java
index 197101bd8..51f7678f5 100644
--- a/src/net/sourceforge/plantuml/png/package-info.java
+++ b/src/net/sourceforge/plantuml/png/package-info.java
@@ -1,7 +1,7 @@
/**
* Provides classes used to manage
- *
- * PDF output format.
+ *
+ * PNG output format.
*
*/
-package net.sourceforge.plantuml.pdf;
+package net.sourceforge.plantuml.png;
diff --git a/src/net/sourceforge/plantuml/png/readme.md b/src/net/sourceforge/plantuml/png/readme.md
index 581611d49..94f8de7b2 100644
--- a/src/net/sourceforge/plantuml/png/readme.md
+++ b/src/net/sourceforge/plantuml/png/readme.md
@@ -1,10 +1,10 @@
-# Directory Documentation for `pdf`
+# Directory Documentation for `png`
## Description
-This package provides classes used to export diagram to a [PDF](https://plantuml.com/pdf) output format.
+This package provides classes used to export diagram to a [PNG](https://plantuml.com/en/command-line#458de91d76a8569c) output format.
## Link
-- [PDF](https://plantuml.com/pdf)
+- [PNG output format](https://plantuml.com/en/command-line#458de91d76a8569c)
## Reference
-- [PDF _(on Wikipedia)_](https://en.wikipedia.org/wiki/PDF)
+- [PNG _(on Wikipedia)_](https://en.wikipedia.org/wiki/PNG)
diff --git a/src/net/sourceforge/plantuml/posimo/package-info.java b/src/net/sourceforge/plantuml/posimo/package-info.java
new file mode 100644
index 000000000..24e3131d9
--- /dev/null
+++ b/src/net/sourceforge/plantuml/posimo/package-info.java
@@ -0,0 +1,6 @@
+/**
+ * Provides classes used to manage
+ * Positioning Calculation.
+ *
+ */
+package net.sourceforge.plantuml.posimo;
diff --git a/src/net/sourceforge/plantuml/posimo/readme.md b/src/net/sourceforge/plantuml/posimo/readme.md
new file mode 100644
index 000000000..f9e2e8596
--- /dev/null
+++ b/src/net/sourceforge/plantuml/posimo/readme.md
@@ -0,0 +1,42 @@
+# Directory Documentation for `posimo`
+
+## Description
+This package provides classes used to manage Positioning Calculation.
+
+## Diagram
+
+```mermaid
+classDiagram
+class Positionable {
+ + Dimension2D getSize();
+ + Point2D getPosition();
+}
+
+class Clusterable {
+ +Cluster getParent();
+}
+
+Positionable <|-- Clusterable
+
+class Cluster
+
+Cluster *-- Cluster : subclusters
+Clusterable <|.. Cluster
+Cluster *-- Block
+Clusterable <|.. Block
+
+Path *-- "2" Cluster
+Path --> Label : has one
+Positionable <|-- Label
+
+SimpleDrawer --> Cluster
+SimpleDrawer *--> Path
+
+class GraphvizSolver {
+ + Dimension2D solve(Cluster root, Collection~Path~ paths)
+}
+GraphvizSolver --> Cluster
+GraphvizSolver *--> Path
+```
+
+_(src: [`data.txt`](./data.txt))_
\ No newline at end of file
diff --git a/src/net/sourceforge/plantuml/preproc/package-info.java b/src/net/sourceforge/plantuml/preproc/package-info.java
new file mode 100644
index 000000000..6178bc926
--- /dev/null
+++ b/src/net/sourceforge/plantuml/preproc/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * Provides classes used to manage
+ *
+ * Preprocessing of PlantUML input.
+ *
+ * @see net.sourceforge.plantuml.preproc2
+ * @see net.sourceforge.plantuml.tim
+ *
+ */
+package net.sourceforge.plantuml.preproc;
diff --git a/src/net/sourceforge/plantuml/preproc/readme.md b/src/net/sourceforge/plantuml/preproc/readme.md
new file mode 100644
index 000000000..a2495b44a
--- /dev/null
+++ b/src/net/sourceforge/plantuml/preproc/readme.md
@@ -0,0 +1,10 @@
+# Directory Documentation for `preproc`
+
+## Description
+This package provides classes used to manage [PlantUML Preprocessing](https://plantuml.com/preprocessing).
+
+## See also
+### [Legacy] Preprocessing (directory)
+- [`preproc2`](../preproc2/)
+### Current Preprocessing (directory)
+- [`tim`](../tim/)
diff --git a/src/net/sourceforge/plantuml/preproc2/package-info.java b/src/net/sourceforge/plantuml/preproc2/package-info.java
new file mode 100644
index 000000000..f65a48f77
--- /dev/null
+++ b/src/net/sourceforge/plantuml/preproc2/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * Provides classes used to manage
+ *
+ * Preprocessing of PlantUML input.
+ *
+ * @see net.sourceforge.plantuml.preproc
+ * @see net.sourceforge.plantuml.tim
+ *
+ */
+package net.sourceforge.plantuml.preproc2;
diff --git a/src/net/sourceforge/plantuml/preproc2/readme.md b/src/net/sourceforge/plantuml/preproc2/readme.md
new file mode 100644
index 000000000..2bb26f68f
--- /dev/null
+++ b/src/net/sourceforge/plantuml/preproc2/readme.md
@@ -0,0 +1,10 @@
+# Directory Documentation for `preproc`
+
+## Description
+This package provides classes used to manage [PlantUML Preprocessing](https://plantuml.com/preprocessing).
+
+## See also
+### [Legacy] Preprocessing (directory)
+- [`preproc`](../preproc/)
+### Current Preprocessing (directory)
+- [`tim`](../tim/)
diff --git a/src/net/sourceforge/plantuml/project/readme.md b/src/net/sourceforge/plantuml/project/readme.md
index 714f91eba..aecf0ce87 100644
--- a/src/net/sourceforge/plantuml/project/readme.md
+++ b/src/net/sourceforge/plantuml/project/readme.md
@@ -8,8 +8,3 @@ This package provides classes used to manage [PlantUML Gantt Diagram](https://pl
## Reference
- [Gantt chart _(on Wikipedia)_](https://en.wikipedia.org/wiki/Gantt_chart)
-
-## Credit
-
-## Misc.
-
diff --git a/src/net/sourceforge/plantuml/real/package-info.java b/src/net/sourceforge/plantuml/real/package-info.java
new file mode 100644
index 000000000..40f6f0528
--- /dev/null
+++ b/src/net/sourceforge/plantuml/real/package-info.java
@@ -0,0 +1,6 @@
+/**
+ * Provides classes used to manage
+ * Real Number.
+ *
+ */
+package net.sourceforge.plantuml.real;
diff --git a/src/net/sourceforge/plantuml/real/readme.md b/src/net/sourceforge/plantuml/real/readme.md
new file mode 100644
index 000000000..e369c07a6
--- /dev/null
+++ b/src/net/sourceforge/plantuml/real/readme.md
@@ -0,0 +1,7 @@
+# Directory Documentation for `real`
+
+## Description
+This package provides classes used to manage Real Number.
+
+## Reference
+- [Real number _(on Wikipedia)_](https://en.wikipedia.org/wiki/Real_number)
diff --git a/src/net/sourceforge/plantuml/regexdiagram/package-info.java b/src/net/sourceforge/plantuml/regexdiagram/package-info.java
new file mode 100644
index 000000000..3837182e2
--- /dev/null
+++ b/src/net/sourceforge/plantuml/regexdiagram/package-info.java
@@ -0,0 +1,9 @@
+/**
+ * Provides classes used to manage
+ *
+ * Regular expression (Regex) Diagram.
+ *
+ * @see net.sourceforge.plantuml.ebnf
+ *
+ */
+package net.sourceforge.plantuml.regexdiagram;
diff --git a/src/net/sourceforge/plantuml/regexdiagram/readme.md b/src/net/sourceforge/plantuml/regexdiagram/readme.md
new file mode 100644
index 000000000..dca02c9cb
--- /dev/null
+++ b/src/net/sourceforge/plantuml/regexdiagram/readme.md
@@ -0,0 +1,17 @@
+# Directory Documentation for `regexdiagram`
+
+## Description
+This package provides classes used to manage [PlantUML Regular expression (Regex) Diagram](https://plantuml.com/regex).
+
+## Link
+- [PlantUML Regular expression (Regex) Diagram](https://plantuml.com/regex)
+
+## Reference
+- [Regular expression _(on Wikipedia)_](https://en.wikipedia.org/wiki/Regular_expression)
+
+## See also
+- [PlantUML Extended Backus–Naur Form (EBNF) Diagram](https://plantuml.com/ebnf)
+- [`ebnf`](../ebnf/) _(directory on plantuml)_
+
+## Misc.
+
diff --git a/src/net/sourceforge/plantuml/salt/package-info.java b/src/net/sourceforge/plantuml/salt/package-info.java
new file mode 100644
index 000000000..26cfc76ce
--- /dev/null
+++ b/src/net/sourceforge/plantuml/salt/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage
+ *
+ * Salt (or Wireframe) Diagram.
+ *
+ */
+package net.sourceforge.plantuml.salt;
diff --git a/src/net/sourceforge/plantuml/salt/readme.md b/src/net/sourceforge/plantuml/salt/readme.md
new file mode 100644
index 000000000..8b7ef7fc6
--- /dev/null
+++ b/src/net/sourceforge/plantuml/salt/readme.md
@@ -0,0 +1,11 @@
+# Directory Documentation for `salt`
+
+## Description
+This package provides classes used to manage [PlantUML Salt (or Wireframe) Diagram](https://plantuml.com/salt).
+
+## Link
+- [Salt (or Wireframe) Diagram](https://plantuml.com/salt)
+
+## Reference
+- [Wireframe _(on Wikipedia)_](https://en.wikipedia.org/wiki/Website_wireframe)
+
diff --git a/src/net/sourceforge/plantuml/sdot/package-info.java b/src/net/sourceforge/plantuml/sdot/package-info.java
new file mode 100644
index 000000000..24b4bad5b
--- /dev/null
+++ b/src/net/sourceforge/plantuml/sdot/package-info.java
@@ -0,0 +1,12 @@
+/**
+ * Provides classes used to manage
+ *
+ * Smetana (internal port of GraphViz in plantuml)
+ * for layout engine.
+ *
+ * @see net.sourceforge.plantuml.dot
+ * @see net.sourceforge.plantuml.elk
+ * @see net.sourceforge.plantuml.vizjs
+ *
+ */
+package net.sourceforge.plantuml.sdot;
diff --git a/src/net/sourceforge/plantuml/sdot/readme.md b/src/net/sourceforge/plantuml/sdot/readme.md
new file mode 100644
index 000000000..fa9563fa0
--- /dev/null
+++ b/src/net/sourceforge/plantuml/sdot/readme.md
@@ -0,0 +1,26 @@
+# Directory Documentation for `sdot`
+
+## Description
+This package provides classes used to export diagram with the [Smetana _(internal port of GraphViz in plantuml)_](https://plantuml.com/smetana02) layout engine.
+
+## Link
+- [PlantUML Smetana _(internal port of GraphViz in plantuml)_](https://plantuml.com/smetana02)
+
+## Credit
+- :octocat: [plantuml/smetana](https://github.com/plantuml/smetana) _(included in PlantUML)_
+ - [`src/gen`](../../../../gen)
+ - [`src/smetana/core`](../../../../smetana/core)
+ - [`src/h`](../../../../h)
+
+## See also other engines
+- [GraphViz dot](https://plantuml.com/graphviz-dot)
+ - [`plantuml/dot`](../dot/) _(included in PlantUML)_
+- [PlantUML 'Eclipse Layout Kernel (ELK)' Engine](https://plantuml.com/elk)
+ - [`elk/proxy`](./proxy/) _(included in PlantUML)_
+- [PlantUML Vizjs _(a port to Javascript of GraphViz)_](https://plantuml.com/vizjs)
+ - [`plantuml/vizjs`](../vizjs/) _(included in PlantUML)_
+ - :octocat: [Plantuml/Vizjs](https://github.com/plantuml/vizjs) _(not included in `plantuml/plantuml`)_
+
+## 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/net/sourceforge/plantuml/security/package-info.java b/src/net/sourceforge/plantuml/security/package-info.java
new file mode 100644
index 000000000..11f5520c0
--- /dev/null
+++ b/src/net/sourceforge/plantuml/security/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage
+ *
+ * PlantUML Security.
+ *
+ */
+package net.sourceforge.plantuml.security;
diff --git a/src/net/sourceforge/plantuml/security/readme.md b/src/net/sourceforge/plantuml/security/readme.md
new file mode 100644
index 000000000..86f4b3be5
--- /dev/null
+++ b/src/net/sourceforge/plantuml/security/readme.md
@@ -0,0 +1,18 @@
+# Directory Documentation for `security`
+
+## Description
+This package provides classes used to manage [PlantUML Security](https://plantuml.com/security).
+
+## Link
+
+### Security
+- [Security Profile](https://plantuml.com/security)
+
+### URL authentication
+
+| Auth. Name Doc. | Directory |
+| --- | --- |
+| [URL authentication](https://plantuml.com/url-authentication) | [`/authentication/`](./authentication/) |
+| [BasicAuth configuration](https://plantuml.com/url-basicauth) | [`/authentication/basicauth/`](./authentication/basicauth/) |
+| [OAuth2 configuration](https://plantuml.com/en/url-oauth) | [`/authentication/oauth/`](./authentication/oauth/) |
+| [Token Auth configuration](https://plantuml.com/en/url-tokenauth) | [`/authentication/token/`](./authentication/token/) |
\ No newline at end of file
diff --git a/src/net/sourceforge/plantuml/sequencediagram/package-info.java b/src/net/sourceforge/plantuml/sequencediagram/package-info.java
new file mode 100644
index 000000000..ec5adb018
--- /dev/null
+++ b/src/net/sourceforge/plantuml/sequencediagram/package-info.java
@@ -0,0 +1,15 @@
+/**
+ * Provides classes used to manage
+ *
+ * Sequence Diagram.
+ *
+ *
+ * There are 2 architectures:
+ *
+ * - {@link net.sourceforge.plantuml.sequencediagram.puma} (the current)
+ * - {@link net.sourceforge.plantuml.sequencediagram.teoz} (the new)
+ * Can be activated using !pragma teoz true
+ *
+ *
+ */
+package net.sourceforge.plantuml.sequencediagram;
diff --git a/src/net/sourceforge/plantuml/sequencediagram/readme.md b/src/net/sourceforge/plantuml/sequencediagram/readme.md
new file mode 100644
index 000000000..c947b37bc
--- /dev/null
+++ b/src/net/sourceforge/plantuml/sequencediagram/readme.md
@@ -0,0 +1,20 @@
+# Directory Documentation for `sequencediagram`
+
+## Description
+This package provides classes used to manage [PlantUML Sequence Diagram](https://plantuml.com/sequence-diagram).
+
+There are [2 architectures](https://plantuml.com/teoz):
+- [`puma`](./puma/) _(the current)_
+- [`teoz`](./teoz/) _(the new)_
+
+## Link
+- [PlantUML Sequence Diagram](https://plantuml.com/sequence-diagram)
+
+## Reference
+- [Sequence Diagram _(on Wikipedia)_](https://en.wikipedia.org/wiki/Sequence_diagram)
+
+## Credit
+
+## Misc.
+- [Puma _(on Wikipedia)_](https://en.wikipedia.org/wiki/Puma)
+- [Téoz _(on Wikipedia)_](https://en.wikipedia.org/wiki/T%C3%A9oz)
diff --git a/src/net/sourceforge/plantuml/skin/package-info.java b/src/net/sourceforge/plantuml/skin/package-info.java
new file mode 100644
index 000000000..592e6cbb2
--- /dev/null
+++ b/src/net/sourceforge/plantuml/skin/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * Provides classes used to manage Skin and
+ *
+ * Skinparameter.
+ *
+ * @see net.sourceforge.plantuml.style
+ * @see net.sourceforge.plantuml.theme
+ *
+ */
+package net.sourceforge.plantuml.skin;
diff --git a/src/net/sourceforge/plantuml/skin/readme.md b/src/net/sourceforge/plantuml/skin/readme.md
new file mode 100644
index 000000000..77105bb25
--- /dev/null
+++ b/src/net/sourceforge/plantuml/skin/readme.md
@@ -0,0 +1,10 @@
+# Directory Documentation for `skin`
+
+## Description
+This package provides classes used to manage `Skin` and `Skinparameter`.
+
+## Reference
+- [PlantUML Skinparam command](https://plantuml.com/skinparam)
+
+## See also
+- [`style/FromSkinparamToStyle.java`](../style/FromSkinparamToStyle.java)
diff --git a/src/net/sourceforge/plantuml/statediagram/package-info.java b/src/net/sourceforge/plantuml/statediagram/package-info.java
new file mode 100644
index 000000000..741af76e1
--- /dev/null
+++ b/src/net/sourceforge/plantuml/statediagram/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage
+ *
+ * State Diagram.
+ *
+ */
+package net.sourceforge.plantuml.statediagram;
diff --git a/src/net/sourceforge/plantuml/statediagram/readme.md b/src/net/sourceforge/plantuml/statediagram/readme.md
new file mode 100644
index 000000000..478d358c9
--- /dev/null
+++ b/src/net/sourceforge/plantuml/statediagram/readme.md
@@ -0,0 +1,16 @@
+# Directory Documentation for `statediagram`
+
+## Description
+This package provides classes used to manage [PlantUML State Diagram](https://plantuml.com/state-diagram).
+
+## Link
+- [PlantUML State Diagram](https://plantuml.com/state-diagram)
+
+## Reference
+- [UML State machine _(on Wikipedia)_](https://en.wikipedia.org/wiki/UML_state_machine)
+- [Finite-state machine _(on Wikipedia)_](https://en.wikipedia.org/wiki/Finite-state_machine)
+
+## Credit
+
+## Misc.
+
diff --git a/src/net/sourceforge/plantuml/stats/package-info.java b/src/net/sourceforge/plantuml/stats/package-info.java
new file mode 100644
index 000000000..d93fe34bd
--- /dev/null
+++ b/src/net/sourceforge/plantuml/stats/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage
+ *
+ * Statistics.
+ *
+ */
+package net.sourceforge.plantuml.stats;
diff --git a/src/net/sourceforge/plantuml/stats/readme.md b/src/net/sourceforge/plantuml/stats/readme.md
new file mode 100644
index 000000000..4c5d5b225
--- /dev/null
+++ b/src/net/sourceforge/plantuml/stats/readme.md
@@ -0,0 +1,7 @@
+# Directory Documentation for `stats`
+
+## Description
+This package provides classes used to manage [PlantUML Statistics](https://plantuml.com/statistics-report).
+
+## Link
+- [PlantUML Statistics](https://plantuml.com/statistics-report)
diff --git a/src/net/sourceforge/plantuml/stereo/package-info.java b/src/net/sourceforge/plantuml/stereo/package-info.java
new file mode 100644
index 000000000..12346668c
--- /dev/null
+++ b/src/net/sourceforge/plantuml/stereo/package-info.java
@@ -0,0 +1,5 @@
+/**
+ * Provides classes used to manage Stereotype.
+ *
+ */
+package net.sourceforge.plantuml.stereo;
diff --git a/src/net/sourceforge/plantuml/stereo/readme.md b/src/net/sourceforge/plantuml/stereo/readme.md
new file mode 100644
index 000000000..d6d95946e
--- /dev/null
+++ b/src/net/sourceforge/plantuml/stereo/readme.md
@@ -0,0 +1,11 @@
+# Directory Documentation for `stereo`
+
+## Description
+This package provides classes used to manage `<>`.
+
+## Link
+- ['Notes and stereotypes' on PlantUML 'Class'](https://plantuml.com/en/class-diagram#59c91a18bcc97bb0)
+- ['Stereotype' tag search on PlantUML Forum](https://forum.plantuml.net/tag/stereotype)
+
+## Reference
+- [Stereotype (UML) _(on Wikipedia)_](https://en.wikipedia.org/wiki/Stereotype_(UML))
\ No newline at end of file
diff --git a/src/net/sourceforge/plantuml/style/package-info.java b/src/net/sourceforge/plantuml/style/package-info.java
new file mode 100644
index 000000000..0c0ed9264
--- /dev/null
+++ b/src/net/sourceforge/plantuml/style/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * Provides classes used to manage
+ *
+ * Style.
+ *
+ * @see net.sourceforge.plantuml.skin
+ * @see net.sourceforge.plantuml.theme
+ *
+ */
+package net.sourceforge.plantuml.style;
diff --git a/src/net/sourceforge/plantuml/style/readme.md b/src/net/sourceforge/plantuml/style/readme.md
new file mode 100644
index 000000000..0d4c36ea2
--- /dev/null
+++ b/src/net/sourceforge/plantuml/style/readme.md
@@ -0,0 +1,13 @@
+# Directory Documentation for `style`
+
+## Description
+This package provides classes used to manage `Style`.
+
+## Reference
+- [PlantUML Style evolution](https://plantuml.com/style-evolution)
+
+
+| Element that can be styled | Property to style |
+| --- | --- |
+| [`SName.java`](./SName.java) | [`PName.java`](./PName.java) |
+
diff --git a/src/net/sourceforge/plantuml/sudoku/package-info.java b/src/net/sourceforge/plantuml/sudoku/package-info.java
new file mode 100644
index 000000000..1f7e49812
--- /dev/null
+++ b/src/net/sourceforge/plantuml/sudoku/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage
+ *
+ * Sudoku Grid on PlantUML.
+ *
+ */
+package net.sourceforge.plantuml.sudoku;
diff --git a/src/net/sourceforge/plantuml/sudoku/readme.md b/src/net/sourceforge/plantuml/sudoku/readme.md
new file mode 100644
index 000000000..d296cb442
--- /dev/null
+++ b/src/net/sourceforge/plantuml/sudoku/readme.md
@@ -0,0 +1,18 @@
+# Directory Documentation for `sudoku`
+
+## Description
+This package provides classes used to manage [Sudoku Grid](https://plantuml.com/sudoku).
+
+## Link
+- [Sudoku Diagram](https://plantuml.com/sudoku)
+
+## Reference
+- [Sudoku _(on Wikipedia)_](https://en.wikipedia.org/wiki/sudoku)
+
+## Credit
+- [`DLXEngine.java` of Rolf Sandberg](http://www.rolfsandberg.se/content/klepphelmer/Sudoku/DLXEngine.java)
+- [Rolfs Sudoku page](http://www.rolfsandberg.se/content/klepphelmer/Sudoku/)
+- [`DLXEngine.java`](./DLXEngine.java) _(included in PlantUML)_
+
+## Misc.
+
diff --git a/src/net/sourceforge/plantuml/svek/package-info.java b/src/net/sourceforge/plantuml/svek/package-info.java
new file mode 100644
index 000000000..01b2132cb
--- /dev/null
+++ b/src/net/sourceforge/plantuml/svek/package-info.java
@@ -0,0 +1,9 @@
+/**
+ * Provides classes used to manage
+ *
+ * PlantUML Svek Architecture.
+ *
+ * @see net.sourceforge.plantuml.dot
+ *
+ */
+package net.sourceforge.plantuml.svek;
diff --git a/src/net/sourceforge/plantuml/svek/readme.md b/src/net/sourceforge/plantuml/svek/readme.md
new file mode 100644
index 000000000..24e753e51
--- /dev/null
+++ b/src/net/sourceforge/plantuml/svek/readme.md
@@ -0,0 +1,13 @@
+# Directory Documentation for `svek`
+
+## Description
+This package provides classes used to manage [PlantUML Svek Architecture](https://plantuml.com/svek).
+
+## Link
+- [PlantUML Svek Architecture](https://plantuml.com/svek)
+- [GraphViz dot](https://plantuml.com/graphviz-dot)
+ - [`plantuml/dot`](../dot/)
+
+## Misc.
+- [The Good Soldier Švejk _(on Wikipedia)_](https://en.wikipedia.org/wiki/The_Good_Soldier_%C5%A0vejk)
+- [Svek _(on Wiktionary)_](https://en.wiktionary.org/wiki/svek)
\ No newline at end of file
diff --git a/src/net/sourceforge/plantuml/swing/package-info.java b/src/net/sourceforge/plantuml/swing/package-info.java
new file mode 100644
index 000000000..bfac8326b
--- /dev/null
+++ b/src/net/sourceforge/plantuml/swing/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage
+ *
+ * PlantUML GUI.
+ *
+ */
+package net.sourceforge.plantuml.swing;
diff --git a/src/net/sourceforge/plantuml/swing/readme.md b/src/net/sourceforge/plantuml/swing/readme.md
new file mode 100644
index 000000000..1961b5137
--- /dev/null
+++ b/src/net/sourceforge/plantuml/swing/readme.md
@@ -0,0 +1,15 @@
+# Directory Documentation for `swing`
+
+## Description
+This package provides classes used to manage [PlantUML GUI](https://plantuml.com/gui).
+
+## Link
+- [PlantUML GUI](https://plantuml.com/gui)
+
+## Reference
+### AWT
+- [Abstract Window Toolkit (AWT) _(on Wikipedia)_](https://en.wikipedia.org/wiki/Abstract_Window_Toolkit)
+- [The AWT documentation](https://docs.oracle.com/javase/8/docs/technotes/guides/awt/)
+### Swing
+- [Swing _(on Wikipedia)_](https://en.wikipedia.org/wiki/Swing_(Java))
+- [The Swing API documentation](https://docs.oracle.com/javase/8/docs/technotes/guides/swing/)
diff --git a/src/net/sourceforge/plantuml/syntax/package-info.java b/src/net/sourceforge/plantuml/syntax/package-info.java
new file mode 100644
index 000000000..7b0d33847
--- /dev/null
+++ b/src/net/sourceforge/plantuml/syntax/package-info.java
@@ -0,0 +1,8 @@
+/**
+ * Provides classes used to manage Syntax and Language (use to print language, and 'cypher').
+ *
+ * @see net.sourceforge.plantuml.OptionPrint#printLanguage
+ * @see net.sourceforge.plantuml.utils.Cypher
+ *
+ */
+package net.sourceforge.plantuml.syntax;
diff --git a/src/net/sourceforge/plantuml/syntax/readme.md b/src/net/sourceforge/plantuml/syntax/readme.md
new file mode 100644
index 000000000..731eb542f
--- /dev/null
+++ b/src/net/sourceforge/plantuml/syntax/readme.md
@@ -0,0 +1,33 @@
+# Directory Documentation for `syntax`
+
+## Description
+This package provides classes used to manage PlantUML Syntax and Language _(use to print language, and 'cypher')_.
+
+## Reference
+- [QA-3741](https://forum.plantuml.net/3741/plantuml-jar-language-does-not-report-all-keywords)
+- [QA-5329](https://forum.plantuml.net/5329/language-definition)
+- [QA-10648](https://forum.plantuml.net/10648/keywords-predefined-symbols-codeless-language-module-bbedit)
+
+## Usage
+### With the `-language` option
+```sh
+java -jar plantuml.jar -language
+```
+In order to have the PlantUML list of:
+- `type`,
+- `keyword`,
+- `preprocessor`,
+- `skinparameter`,
+- `color`.
+
+### With the `-cypher` option
+```sh
+java -jar plantuml.jar -cypher file.puml
+```
+That generates a `file.preproc`.
+
+Ref.:
+- [Cypher option](https://plantuml.com/en/faq#76ee48737d9f7a1a)
+
+See also code here:
+- [`utils/Cypher.java`](../utils/Cypher.java)
diff --git a/src/net/sourceforge/plantuml/telnet/package-info.java b/src/net/sourceforge/plantuml/telnet/package-info.java
new file mode 100644
index 000000000..41d2135e5
--- /dev/null
+++ b/src/net/sourceforge/plantuml/telnet/package-info.java
@@ -0,0 +1,8 @@
+/**
+ * Provides classes used to manage
+ * Telnet server.
+ *
+ * @see net.sourceforge.plantuml.ftp
+ *
+ */
+package net.sourceforge.plantuml.telnet;
diff --git a/src/net/sourceforge/plantuml/telnet/readme.md b/src/net/sourceforge/plantuml/telnet/readme.md
new file mode 100644
index 000000000..8eb1295ed
--- /dev/null
+++ b/src/net/sourceforge/plantuml/telnet/readme.md
@@ -0,0 +1,7 @@
+# Directory Documentation for `telnet`
+
+## Description
+This package provides classes used to manage a Telnet server.
+
+## Reference
+- [Telnet _(on Wikipedia)_](https://en.wikipedia.org/wiki/Telnet)
diff --git a/src/net/sourceforge/plantuml/theme/package-info.java b/src/net/sourceforge/plantuml/theme/package-info.java
new file mode 100644
index 000000000..0e93314ec
--- /dev/null
+++ b/src/net/sourceforge/plantuml/theme/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * Provides classes used to manage
+ *
+ * Theme.
+ *
+ * @see net.sourceforge.plantuml.skin
+ * @see net.sourceforge.plantuml.style
+ *
+ */
+package net.sourceforge.plantuml.theme;
diff --git a/src/net/sourceforge/plantuml/theme/readme.md b/src/net/sourceforge/plantuml/theme/readme.md
new file mode 100644
index 000000000..48a6b93ff
--- /dev/null
+++ b/src/net/sourceforge/plantuml/theme/readme.md
@@ -0,0 +1,10 @@
+# Directory Documentation for `theme`
+
+## Description
+This package provides classes used to manage `Theme`.
+
+## Reference
+- [PlantUML Theme](https://plantuml.com/theme)
+
+## See also
+- [`themes` directory](../../../../../themes/)
diff --git a/src/net/sourceforge/plantuml/tikz/package-info.java b/src/net/sourceforge/plantuml/tikz/package-info.java
new file mode 100644
index 000000000..c5f2ce5f3
--- /dev/null
+++ b/src/net/sourceforge/plantuml/tikz/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage
+ *
+ * LaTeX (with TikZ) output format.
+ *
+ */
+package net.sourceforge.plantuml.tikz;
diff --git a/src/net/sourceforge/plantuml/tikz/readme.md b/src/net/sourceforge/plantuml/tikz/readme.md
new file mode 100644
index 000000000..1211037ff
--- /dev/null
+++ b/src/net/sourceforge/plantuml/tikz/readme.md
@@ -0,0 +1,12 @@
+# Directory Documentation for `tikz`
+
+## Description
+This package provides classes used to export diagram to a [LaTeX (with TikZ)](https://plantuml.com/latex) output format.
+
+## Link
+- [LaTeX (with TikZ) output format](https://plantuml.com/latex)
+
+## Reference
+- [QA-1798](https://forum.plantuml.net/1798/latex-tikz-support)
+- [LaTeX _(on Wikipedia)_](https://en.wikipedia.org/wiki/LaTeX)
+- [PGF/TikZ _(on Wikipedia)_](https://en.wikipedia.org/wiki/PGF/TikZ)
diff --git a/src/net/sourceforge/plantuml/tim/package-info.java b/src/net/sourceforge/plantuml/tim/package-info.java
new file mode 100644
index 000000000..d185cc4bd
--- /dev/null
+++ b/src/net/sourceforge/plantuml/tim/package-info.java
@@ -0,0 +1,11 @@
+/**
+ * Provides classes used to manage
+ *
+ * Preprocessing of PlantUML input.
+ *
+ * @see net.sourceforge.plantuml.text.TLineType
+ * @see net.sourceforge.plantuml.preproc
+ * @see net.sourceforge.plantuml.preproc2
+ *
+ */
+package net.sourceforge.plantuml.tim;
diff --git a/src/net/sourceforge/plantuml/tim/readme.md b/src/net/sourceforge/plantuml/tim/readme.md
new file mode 100644
index 000000000..83cc4f58d
--- /dev/null
+++ b/src/net/sourceforge/plantuml/tim/readme.md
@@ -0,0 +1,22 @@
+# Directory Documentation for `tim`
+
+## Description
+This package provides classes used to manage [PlantUML Preprocessing](https://plantuml.com/preprocessing).
+
+## Link of Current Preprocessing (documentation)
+- [PlantUML Preprocessing](https://plantuml.com/preprocessing)
+- [PlantUML Preprocessing JSON](https://plantuml.com/preprocessing-json)
+
+## See also [legacy] Preprocessing (directory)
+- [`preproc`](../preproc/)
+- [`preproc2`](../preproc2/)
+
+## Reference
+- [Shunting yard algorithm _(on Wikipedia)_](https://en.wikipedia.org/wiki/Shunting_yard_algorithm)
+- [Reverse Polish notation _(on Wikipedia)_](https://en.wikipedia.org/wiki/Reverse_Polish_notation)
+- [Boyer–Moore–Horspool algorithm _(on Wikipedia)_](https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore%E2%80%93Horspool_algorithm)
+- [String-searching algorithm _(on Wikipedia)_](https://en.wikipedia.org/wiki/String-searching_algorithm)
+- [Trie _(on Wikipedia)_](https://en.wikipedia.org/wiki/Trie)
+
+## Misc.
+- [Tim (given name) _(on Wikipedia)_](https://en.wikipedia.org/wiki/Tim_(given_name))
diff --git a/src/net/sourceforge/plantuml/timingdiagram/package-info.java b/src/net/sourceforge/plantuml/timingdiagram/package-info.java
new file mode 100644
index 000000000..07413f2ce
--- /dev/null
+++ b/src/net/sourceforge/plantuml/timingdiagram/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage
+ *
+ * Timing Diagram.
+ *
+ */
+package net.sourceforge.plantuml.timingdiagram;
diff --git a/src/net/sourceforge/plantuml/timingdiagram/readme.md b/src/net/sourceforge/plantuml/timingdiagram/readme.md
new file mode 100644
index 000000000..42a779f8e
--- /dev/null
+++ b/src/net/sourceforge/plantuml/timingdiagram/readme.md
@@ -0,0 +1,15 @@
+# Directory Documentation for `timingdiagram`
+
+## Description
+This package provides classes used to manage [PlantUML Timing Diagram](https://plantuml.com/timing-diagram).
+
+## Link
+- [PlantUML Timing Diagram](https://plantuml.com/timing-diagram)
+
+## Reference
+- [Timing diagram _(on Wikipedia)_](https://en.wikipedia.org/wiki/Timing_diagram_%28Unified_Modeling_Language%29)
+
+## Credit
+
+## Misc.
+
diff --git a/src/net/sourceforge/plantuml/url/package-info.java b/src/net/sourceforge/plantuml/url/package-info.java
new file mode 100644
index 000000000..2e1f9f89b
--- /dev/null
+++ b/src/net/sourceforge/plantuml/url/package-info.java
@@ -0,0 +1,13 @@
+/**
+ * Provides classes used to manage
+ * URL, CMap.
+ *
+ *
+ * Main use for:
+ *
+ *
+ */
+package net.sourceforge.plantuml.url;
diff --git a/src/net/sourceforge/plantuml/url/readme.md b/src/net/sourceforge/plantuml/url/readme.md
new file mode 100644
index 000000000..2824e0dd3
--- /dev/null
+++ b/src/net/sourceforge/plantuml/url/readme.md
@@ -0,0 +1,13 @@
+# Directory Documentation for `url`
+
+## Description
+This package provides classes used to manage `URL`, `CMap`.
+
+## Link
+- [PlantUML Link (URL)](https://plantuml.com/link)
+
+## Reference
+
+## Credit
+
+## Misc.
diff --git a/src/net/sourceforge/plantuml/version/package-info.java b/src/net/sourceforge/plantuml/version/package-info.java
new file mode 100644
index 000000000..a66481db0
--- /dev/null
+++ b/src/net/sourceforge/plantuml/version/package-info.java
@@ -0,0 +1,9 @@
+/**
+ * Provides classes used to manage
+ *
+ * PlantUML Version and
+ *
+ * PlantUML License.
+ *
+ */
+package net.sourceforge.plantuml.version;
diff --git a/src/net/sourceforge/plantuml/version/readme.md b/src/net/sourceforge/plantuml/version/readme.md
new file mode 100644
index 000000000..54e0755ee
--- /dev/null
+++ b/src/net/sourceforge/plantuml/version/readme.md
@@ -0,0 +1,9 @@
+# Directory Documentation for `version`
+
+## Description
+This package provides classes used to manage [PlantUML Version](https://plantuml.com/versioning-scheme)
+and [PlantUML License](https://plantuml.com/professional)
+
+## Link
+- [PlantUML Version](https://plantuml.com/versioning-scheme)
+- [PlantUML License](https://plantuml.com/professional)
diff --git a/src/net/sourceforge/plantuml/vizjs/package-info.java b/src/net/sourceforge/plantuml/vizjs/package-info.java
new file mode 100644
index 000000000..06816052b
--- /dev/null
+++ b/src/net/sourceforge/plantuml/vizjs/package-info.java
@@ -0,0 +1,29 @@
+/**
+ * Provides classes used to manage
+ *
+ * Vizjs (a port to Javascript of GraphViz)
+ * for layout engine.
+ *
+ *
+ * That uses this components:
+ *
+ *
+ * Ref.:
+ *
+ *
+ * @see net.sourceforge.plantuml.dot
+ * @see net.sourceforge.plantuml.elk
+ * @see net.sourceforge.plantuml.sdot
+ *
+ */
+package net.sourceforge.plantuml.vizjs;
diff --git a/src/net/sourceforge/plantuml/vizjs/readme.md b/src/net/sourceforge/plantuml/vizjs/readme.md
new file mode 100644
index 000000000..6f0a052a6
--- /dev/null
+++ b/src/net/sourceforge/plantuml/vizjs/readme.md
@@ -0,0 +1,23 @@
+# Directory Documentation for `vizjs`
+
+## Description
+This package provides classes used to export diagram with the [Vizjs _(a port to Javascript of GraphViz)_](https://plantuml.com/vizjs) layout engine.
+
+## Link
+- [PlantUML Vizjs _(a port to Javascript of GraphViz)_](https://plantuml.com/vizjs)
+
+## Credit
+- :octocat: [Mdaines/Viz.js](https://github.com/mdaines/viz.js) _(not included in `plantuml/plantuml`)_
+- :octocat: [Plantuml/Vizjs](https://github.com/plantuml/vizjs) _(not included in `plantuml/plantuml`)_
+
+## See also other engines
+- [GraphViz dot](https://plantuml.com/graphviz-dot)
+ - [`plantuml/dot`](../dot/) _(included in PlantUML)_
+- [PlantUML 'Eclipse Layout Kernel (ELK)' Engine](https://plantuml.com/elk)
+ - [`elk/proxy`](./proxy/) _(included in PlantUML)_
+- [Smetana _(internal port of GraphViz in plantuml)_](https://plantuml.com/smetana02) and :octocat: [plantuml/smetana](https://github.com/plantuml/smetana)
+ - [`plantuml/sdot`](../sdot/)
+ - [`src/gen`](../../../../gen)
+ - [`src/smetana/core`](../../../../smetana/core)
+ - [`src/h`](../../../../h)
+
diff --git a/src/net/sourceforge/plantuml/wbs/package-info.java b/src/net/sourceforge/plantuml/wbs/package-info.java
new file mode 100644
index 000000000..1090fa8d2
--- /dev/null
+++ b/src/net/sourceforge/plantuml/wbs/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage
+ *
+ * WBS Diagram.
+ *
+ */
+package net.sourceforge.plantuml.wbs;
diff --git a/src/net/sourceforge/plantuml/wbs/readme.md b/src/net/sourceforge/plantuml/wbs/readme.md
new file mode 100644
index 000000000..17236856e
--- /dev/null
+++ b/src/net/sourceforge/plantuml/wbs/readme.md
@@ -0,0 +1,16 @@
+# Directory Documentation for `wbs`
+
+## Description
+This package provides classes used to manage [PlantUML WBS Diagram](https://plantuml.com/wbs-diagram).
+
+## Link
+- [WBS Diagram](https://plantuml.com/wbs-diagram)
+
+## Reference
+- [Work breakdown structure (WBS) _(on Wikipedia)_](https://en.wikipedia.org/wiki/Work_breakdown_structure)
+- [Organizational chart _(on Wikipedia)_](https://en.wikipedia.org/wiki/Organizational_chart)
+
+## Credit
+
+## Misc.
+
diff --git a/src/net/sourceforge/plantuml/windowsdot/package-info.java b/src/net/sourceforge/plantuml/windowsdot/package-info.java
new file mode 100644
index 000000000..143c50882
--- /dev/null
+++ b/src/net/sourceforge/plantuml/windowsdot/package-info.java
@@ -0,0 +1,15 @@
+/**
+ * Provides classes used to manage
+ *
+ * an Embedded Windows Graphviz dot on plantuml.
+ *
+ *
+ * The source is:
+ *
+ *
+ *
+ */
+package net.sourceforge.plantuml.windowsdot;
diff --git a/src/net/sourceforge/plantuml/windowsdot/readme.md b/src/net/sourceforge/plantuml/windowsdot/readme.md
new file mode 100644
index 000000000..d13a6a60b
--- /dev/null
+++ b/src/net/sourceforge/plantuml/windowsdot/readme.md
@@ -0,0 +1,15 @@
+# Directory Documentation for `windowsdot`
+
+## Description
+This package provides classes used to manage [an Embedded Windows Graphviz dot](https://github.com/plantuml/graphviz-distributions) on plantuml.
+
+## Link
+- ["About the `graphviz.dat` file" on BUILDING.md](/BUILDING.md#-about-the-graphvizdat-file)
+
+## Reference
+- [Graphviz](https://graphviz.org)
+- [Graphviz _(on GitLab)_](https://gitlab.com/graphviz/graphviz/)
+
+## Credit
+ - :octocat: [Plantuml/Graphviz-distributions](https://github.com/plantuml/graphviz-distributions)
+
diff --git a/src/net/sourceforge/plantuml/wire/package-info.java b/src/net/sourceforge/plantuml/wire/package-info.java
new file mode 100644
index 000000000..cb8355dbe
--- /dev/null
+++ b/src/net/sourceforge/plantuml/wire/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage
+ *
+ * Wire or Block Diagram.
+ *
+ */
+package net.sourceforge.plantuml.wire;
diff --git a/src/net/sourceforge/plantuml/wire/readme.md b/src/net/sourceforge/plantuml/wire/readme.md
new file mode 100644
index 000000000..99ced0380
--- /dev/null
+++ b/src/net/sourceforge/plantuml/wire/readme.md
@@ -0,0 +1,10 @@
+# Directory Documentation for `wire`
+
+## Description
+This package provides classes used to manage [PlantUML Wire or Block Diagram](http://alphadoc.plantuml.com/doc/markdown/en/wire-diagram).
+
+## Link
+- [PlantUML Wire or Block Diagram](http://alphadoc.plantuml.com/doc/markdown/en/wire-diagram)
+
+## Reference
+- [Wiring diagram _(on Wikipedia)_](https://en.wikipedia.org/wiki/Wiring_diagram)
diff --git a/src/net/sourceforge/plantuml/xmi/package-info.java b/src/net/sourceforge/plantuml/xmi/package-info.java
new file mode 100644
index 000000000..5867ddc05
--- /dev/null
+++ b/src/net/sourceforge/plantuml/xmi/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage
+ *
+ * XML Metadata Interchange (XMI) output format.
+ *
+ */
+package net.sourceforge.plantuml.xmi;
diff --git a/src/net/sourceforge/plantuml/xmi/readme.md b/src/net/sourceforge/plantuml/xmi/readme.md
new file mode 100644
index 000000000..9217e2271
--- /dev/null
+++ b/src/net/sourceforge/plantuml/xmi/readme.md
@@ -0,0 +1,10 @@
+# Directory Documentation for `xmi`
+
+## Description
+This package provides classes used to export diagram to a [XML Metadata Interchange (XMI)](https://plantuml.com/xmi) output format.
+
+## Link
+- [XML Metadata Interchange (XMI) output format](https://plantuml.com/xmi)
+
+## Reference
+- [XML Metadata Interchange _(on Wikipedia)_](https://en.wikipedia.org/wiki/XML_Metadata_Interchange)
diff --git a/src/net/sourceforge/plantuml/xml/package-info.java b/src/net/sourceforge/plantuml/xml/package-info.java
new file mode 100644
index 000000000..c4db224ee
--- /dev/null
+++ b/src/net/sourceforge/plantuml/xml/package-info.java
@@ -0,0 +1,8 @@
+/**
+ * Provides classes used to manage
+ * XML thread-safe lazy initialization
+ * of expensive factories
+ * with the "initialization-on-demand holder" idiom.
+ *
+ */
+package net.sourceforge.plantuml.xml;
diff --git a/src/net/sourceforge/plantuml/xml/readme.md b/src/net/sourceforge/plantuml/xml/readme.md
new file mode 100644
index 000000000..aa4a9ddc0
--- /dev/null
+++ b/src/net/sourceforge/plantuml/xml/readme.md
@@ -0,0 +1,10 @@
+# Directory Documentation for `xml`
+
+## Description
+This package provides classes used to manage XML thread-safe lazy initialization of expensive factories with the "initialization-on-demand holder" idiom.
+
+## Reference
+- [Initialization-on-demand holder idiom _(on Wikipedia)_](https://en.wikipedia.org/wiki/Initialization-on-demand_holder_idiom)
+
+## Credit or Inspiration
+- [How to implement thread-safe lazy initialization? _(on Stackoverflow)_](https://stackoverflow.com/a/8297830/1848731)
\ No newline at end of file
diff --git a/src/net/sourceforge/plantuml/xmlsc/package-info.java b/src/net/sourceforge/plantuml/xmlsc/package-info.java
new file mode 100644
index 000000000..15a575b7e
--- /dev/null
+++ b/src/net/sourceforge/plantuml/xmlsc/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage
+ *
+ * State Chart XML (SCXML) output format.
+ *
+ */
+package net.sourceforge.plantuml.xmlsc;
diff --git a/src/net/sourceforge/plantuml/xmlsc/readme.md b/src/net/sourceforge/plantuml/xmlsc/readme.md
new file mode 100644
index 000000000..d7a5c235d
--- /dev/null
+++ b/src/net/sourceforge/plantuml/xmlsc/readme.md
@@ -0,0 +1,11 @@
+# Directory Documentation for `xmlsc`
+
+## Description
+This package provides classes used to export diagram to a [State Chart XML (SCXML)](https://plantuml.com/en/command-line#458de91d76a8569c) output format.
+
+## Link
+- [SCXML output format](https://plantuml.com/en/command-line#458de91d76a8569c)
+
+## Reference
+- [SCXML _(on Wikipedia)_](https://en.wikipedia.org/wiki/SCXML)
+- [SCXML _(on W3C)_](https://www.w3.org/TR/scxml/)
diff --git a/src/net/sourceforge/plantuml/yaml/package-info.java b/src/net/sourceforge/plantuml/yaml/package-info.java
new file mode 100644
index 000000000..d13069d1b
--- /dev/null
+++ b/src/net/sourceforge/plantuml/yaml/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Provides classes used to manage
+ *
+ * YAML Diagram.
+ *
+ */
+package net.sourceforge.plantuml.yaml;
diff --git a/src/net/sourceforge/plantuml/yaml/readme.md b/src/net/sourceforge/plantuml/yaml/readme.md
new file mode 100644
index 000000000..213a3f9f4
--- /dev/null
+++ b/src/net/sourceforge/plantuml/yaml/readme.md
@@ -0,0 +1,15 @@
+# Directory Documentation for `yaml`
+
+## Description
+This package provides classes used to manage [PlantUML YAML Diagram](https://plantuml.com/yaml).
+
+## Link
+- [PlantUML YAML Diagram](https://plantuml.com/yaml)
+
+## Reference
+- [YAML _(on Wikipedia)_](https://en.wikipedia.org/wiki/YAML)
+
+## Credit
+
+## Misc.
+
diff --git a/src/net/sourceforge/plantuml/zopfli/package-info.java b/src/net/sourceforge/plantuml/zopfli/package-info.java
new file mode 100644
index 000000000..ac248aecd
--- /dev/null
+++ b/src/net/sourceforge/plantuml/zopfli/package-info.java
@@ -0,0 +1,18 @@
+/**
+ * Provides classes used to manage
+ *
+ * Zopfli Compression Algorithm.
+ *
+ *
+ * The code is taken from:
+ *
+ *
+ *
+ * @see net.sourceforge.plantuml.brotli
+ * @see net.sourceforge.plantuml.code.deflate
+ *
+ */
+package net.sourceforge.plantuml.zopfli;
diff --git a/src/net/sourceforge/plantuml/zopfli/readme.md b/src/net/sourceforge/plantuml/zopfli/readme.md
new file mode 100644
index 000000000..91fc1986f
--- /dev/null
+++ b/src/net/sourceforge/plantuml/zopfli/readme.md
@@ -0,0 +1,18 @@
+# Directory Documentation for `zopfli`
+
+## Description
+This package provides classes used to manage [CafeUndZopfli Compression Algorithm](https://github.com/eustas/CafeUndZopfli).
+
+## Link
+- :octocat: [Eustas/CafeUndZopfli](https://github.com/eustas/CafeUndZopfli)
+
+## Reference
+- [Zopfli _(on Wikipedia)_](https://en.wikipedia.org/wiki/Zopfli)
+- :octocat: [Google/Zopfli](https://github.com/google/zopfli)
+
+## Credit
+- :octocat: [Eustas/CafeUndZopfli](https://github.com/eustas/CafeUndZopfli)
+
+## Misc.
+- [Zopf _(on Wikipedia)_](https://als.wikipedia.org/wiki/Zopf) _[als]_
+- [Zopf _(on Wikipedia)_](https://en.wikipedia.org/wiki/Zopf) _[en]_