hosh-shell / hosh

Human Oriented SHell
https://hosh-shell.github.io
MIT License
26 stars 0 forks source link
hosh java jline3 linux macos mit-licensed shell terminal-based windows

Hosh

License CI Quality Gate Status `Coverage`CII Best Practices

Human Oriented SHell, written in Java.

Website: https://hosh-shell.github.io

Try it with Docker

$ docker run -it --rm ghcr.io/hosh-shell/hosh:0.1.4

Development

Requirements

JDK 17+ (tested with JDK 17 and JDK 21).

Build

Full build with all fitness and acceptance tests: $ ./mvnw clean verify

Quick build (2x faster on my machine): $ ./mvnw -Pskip-slow-tests clean verify

Run

$ java -jar main/target/hosh.jar

Debug

$ java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1044 -jar main/target/hosh.jar

Logging

Hosh uses java.util.logging (to not require additional dependencies). HOSH_LOG_LEVEL controls logging behaviour according to Level. By default, logging is disabled, to enable it:

$ HOSH_LOG_LEVEL=FINE java -jar main/target/hosh.jar

Logging events will be persisted in $HOME/.hosh.log.

Docker support

Build a release with docker:

Sonar

./mvnw clean verify sonar:sonar -Psonar -Dsonar.token=MYTOKEN

Mutation testing

./mvnw test-compile org.pitest:pitest-maven:mutationCoverage

Sponsors

JetBrains YourKit SonarCloud