Files
terminal-ui/README.md
!verity 34b683aacf Remove CodeQL workflow, add GitHub Pages deployment, and update project documentation
- Remove `codeql.yml` workflow for static security analysis.
- Add `pages.yml` workflow for deploying docs to GitHub Pages.
- Introduce `CODE_OF_CONDUCT.md` and `FUNDING.yml`.
- Update `README.md` with links to GitHub Pages and additional project setup details.
- Refine release workflow by splitting build and publish steps, and allowing publish errors for existing versions.
2026-03-14 10:06:31 +01:00

2.9 KiB
Raw Permalink Blame History

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 Latest release

Open in GitHub Codespaces

First time here?NEXT_STEPS.md has a short checklist (Pages, topics, release).

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();
  • In-repo docs: docs/ Home, Install, Components, Examples.
  • GitHub Pages: Enable in Settings → Pages → Source: GitHub Actions (uses workflow pages.yml). Site: https://jakubbbdev.github.io/terminal-ui/.
  • Wiki: Settings → Features → enable Wiki; copy content from docs/ if you like.

License

See LICENSE.