Update documentation for enhanced clarity
[cli-helper.git] / doc / index.org
index ea82e8d..6ed2f6e 100644 (file)
@@ -1,3 +1,6 @@
+:PROPERTIES:
+:ID:       bb4f96cd-458c-495b-a605-313b2e3e28d2
+:END:
 #+TITLE: CLI Helper - library to help implementing commandline interfaces
 
 * General
 
 - See [[https://www3.svjatoslav.eu/projects/cli-helper/apidocs/][JavaDoc]]
 
-* Library contents
-- See [[https://www3.svjatoslav.eu/projects/svjatoslav_commons/apidocs/][JavaDoc]].
+* Overview
+:PROPERTIES:
+:ID:       fef7ebc3-0f00-4b82-a926-c0cfdf709762
+:END:
+- See also: [[https://www3.svjatoslav.eu/projects/svjatoslav_commons/apidocs/][CLI Helper JavaDoc]].
 
-- Commandline Interface helper
-  : eu.svjatoslav.commons.cli_helper.CLIHelper
+This is library intended to facilitate creation of commandline
+applications in Java programming language. Library is packaged as an
+artifact to Maven repository. This makes it simple to add library as
+dependency to your project.
 
-- Commandline arguments parser and validator.
-  : eu.svjatoslav.commons.cli_helper.parameter_parser
+Library provides following general functionalities:
+- [[id:4fca35e4-fdf1-4675-a36f-6206d6fb72cb][Asking for user input]]
+- [[id:46115263-ed3d-4acc-9ec5-523d7acf87b8][Commandline arguments processing]]
 
-* Usage
-Instructions to embed svjatoslav-commons in your project as a library:
+** Ask for user input
+:PROPERTIES:
+:ID:       4fca35e4-fdf1-4675-a36f-6206d6fb72cb
+:END:
+
+- askBoolean() :: Asks the user to enter a boolean value (yes/no).
+- askLong() :: Asks the user to enter an integer.
+- askString() :: Asks the user to enter a string.
+
+* Getting the library
+Instructions to embed svjatoslav-commons library in your project:
 
 Maven pom.xml file snippet:
 
@@ -57,3 +75,25 @@ Maven pom.xml file snippet:
     ...
 </repositories>
 #+END_SRC
+* TODO:
+
+List of improvement suggestions:
+
+- Add more concrete examples of how to use the library in JavaDoc
+  comments. This will help developers quickly get started and learn
+  the API.
+
+- Provide more comprehensive unit tests for CliHelper,
+  ParameterParser, Options and subclasses. This will ensure robustness
+  and stability.
+
+- Add JavaDoc comments to all classes and methods where
+  applicable. This will provide better visibility into the library's
+  functionality for developers.
+
+- Add more option types like date/time, regular expression etc.
+
+- Document best practices for using the library in a larger project.
+
+- Implement support for more complex CLI applications like option
+  dependencies and conflicts resolution.