34b683aacf8607a9b2c7fd4bc8dae0a272f68c71
- 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.
terminal-ui
Java library for terminal UI: tables, rules, colors, prompts, menus, SelectList, pager, and more. Fluent API, ANSI support, testable.
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();
Docs & links
- 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.
Languages
Java
100%