CLIQUE
A dependency free, lightweight and extensible CLI library for beautifying Java terminal applications.

Why Clique?

Quick Start
Maven
<dependency>
<groupId>io.github.kusoroadeolu</groupId>
<artifactId>clique-core</artifactId>
<version>3.0.0</version>
</dependency>
Gradle
dependencies {
implementation 'io.github.kusoroadeolu:clique-core:3.0.0'
}
Features
Markup Parser
Simple, readable syntax for styled text:
Clique.parser().print("[red, bold]Error:[/] Something went wrong");
Themes
Drop in popular color schemes with one line:
Clique.registerTheme("catppuccin-mocha");
Clique.parser().print("[ctp_mauve]Styled with Catppuccin![/]");
Built-in themes: Catppuccin, Dracula, Gruvbox, Nord, Tokyo Night.
Tables
Build beautiful tables with multiple styles:
Clique.table(TableType.DEFAULT)
.addHeaders("Name", "Age", "Status")
.addRows("Alice", "25", "Active")
.addRows("Bob", "30", "Inactive")
.render();

Boxes
Single-cell boxes with text wrapping:
Clique.box(BoxType.ROUNDED)
.withDimensions(40, 10) //Width, length
.content("Your message here")
.render();

Indenter
Create hierarchical text structures:
Clique.indenter()
.indent("-")
.add("Root item")
.indent("•")
.add("Nested item")
.print();

StyleBuilder
Fluent API for building styled strings:
Clique.styleBuilder()
.append("Success: ", ColorCode.GREEN, StyleCode.BOLD)
.append("Operation completed", ColorCode.WHITE)
.print();
Progress Bars
Visual feedback for long-running operations:
ProgressBar bar = Clique.progressBar(100);
while (!bar.isDone()) {
bar.tick();
bar.render();
Thread.sleep(50);
}

Documentation
- Full Documentation - Complete guides for all features
- Markup Reference - Colors, styles, and syntax
- Examples & Demos - Interactive examples
Try the Demos
git clone https://github.com/kusoroadeolu/clique-demos.git
cd clique-demos
javac src/demo/QuizGame.java
java -cp src demo.QuizGame
- See clique-demos for all available demos.
License
Apache 2.0 License
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.