!verity b2a08a2c30 Update README with GitHub Packages installation guide and enhance project configuration
- Add installation instructions for Gradle and Maven in the README.
- Update `.idea/misc.xml` for Java 21 compatibility.
- Improve release workflow with clearer build and publish step naming.
2026-03-13 20:54:37 +01:00

terminal-ui

Java library for terminal UI: tables, rules, colors, prompts, menus, SelectList, pager, and more. Fluent API, ANSI support, testable.

CI Java 21 License: MIT

Open in GitHub Codespaces

Install

Published to GitHub Packages. Replace VERSION with a release tag (e.g. 1.0.0).

Gradle (Kotlin DSL):

repositories {
    mavenCentral()
    maven { url = uri("https://maven.pkg.github.com/jakubbbdev/terminal-ui") }
}
dependencies {
    implementation("dev.jakub.terminal:terminal-ui:VERSION")
}

Gradle (Groovy):

repositories {
    mavenCentral()
    maven { url "https://maven.pkg.github.com/jakubbbdev/terminal-ui" }
}
dependencies {
    implementation "dev.jakub.terminal:terminal-ui:VERSION"
}

Maven:

<repository>
  <id>github</id>
  <url>https://maven.pkg.github.com/jakubbbdev/terminal-ui</url>
</repository>
<dependency>
  <groupId>dev.jakub.terminal</groupId>
  <artifactId>terminal-ui</artifactId>
  <version>VERSION</version>
</dependency>

For public packages, read access usually works without credentials. If your tool asks for auth, use a GitHub PAT with read:packages as username and the token as password.

Requirements

  • Java 21
  • Gradle 9.x (wrapper included)

Build & Test

./gradlew build

Run tests:

./gradlew test

Usage (excerpt)

import dev.jakub.terminal.Terminal;
import dev.jakub.terminal.core.Color;

// Colored text
Terminal.print("Hello").color(Color.CYAN).bold().println();

// Table
Terminal.table()
    .header("A", "B")
    .row("1", "2")
    .row("3", "4")
    .print(System.out);

// Prompt
String name = Terminal.prompt("Name: ").ask();

// Menu
String choice = Terminal.menu()
    .title("Environment")
    .option("Dev").option("Prod")
    .select();

License

See LICENSE.

Description
Java library for terminal UI: tables, rules, colors, prompts, menus, SelectList, pager, and more. Fluent API, ANSI support, testable.
Readme MIT 228 KiB
Languages
Java 100%