diff --git a/pom.xml b/pom.xml
index 6d34552..c10d58e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,6 +44,11 @@
quarkus-github-app
${quarkus-github-app.version}
+
+ io.quarkiverse.githubapp
+ quarkus-github-app-command-airline
+ ${quarkus-github-app.version}
+
org.glassfish.expressly
expressly
diff --git a/src/main/java/dev/langchain4j/automation/SayHelloCli.java b/src/main/java/dev/langchain4j/automation/SayHelloCli.java
new file mode 100644
index 0000000..6fd3730
--- /dev/null
+++ b/src/main/java/dev/langchain4j/automation/SayHelloCli.java
@@ -0,0 +1,32 @@
+package dev.langchain4j.automation;
+
+import com.github.rvesse.airline.annotations.Cli;
+import com.github.rvesse.airline.annotations.Command;
+import org.kohsuke.github.GHEventPayload;
+import org.kohsuke.github.GHUser;
+
+import java.io.IOException;
+
+@Cli(name = "@langchain4j-github-bot", commands = { SayHelloCli.SayHello.class })
+public class SayHelloCli {
+
+ interface Commands {
+
+ void run(GHEventPayload.IssueComment issueCommentPayload) throws IOException;
+ }
+
+ @Command(name = "sayHello")
+ static class SayHello implements Commands {
+
+ @Override
+ public void run(GHEventPayload.IssueComment issueCommentPayload) throws IOException {
+ // TODO check permissions
+ GHUser sender = issueCommentPayload.getSender();
+ if (sender != null && sender.getLogin() != null) {
+ issueCommentPayload.getIssue().comment("Hello, @" + sender.getLogin());
+ } else {
+ issueCommentPayload.getIssue().comment("Hello stranger!");
+ }
+ }
+ }
+}