Skip to content

Incendo/cloud-spring

This branch is 1 commit ahead of main.

Folders and files

NameName
Last commit message
Last commit date
Dec 18, 2023
Jun 8, 2024
Dec 16, 2023
Jun 8, 2024
Jun 8, 2024
Jan 27, 2025
Dec 18, 2023
Dec 16, 2023
Dec 16, 2023
Dec 16, 2023
Dec 16, 2023
Dec 16, 2023
Jan 22, 2024
Jan 15, 2024
Jan 26, 2024
Jun 8, 2024
Jun 8, 2024
Jan 15, 2024
Jun 8, 2024

Repository files navigation


cloud-spring

license central build docs

This is an opinionated implementation of Cloud for Spring Shell. Cloud for Spring maps to a quite small subset of the Spring Shell features and does not aim to be a replacement for working with spring-shell. Rather, it's a way to use a familiar command framework to quickly & easily create commands for your Spring application.

Spring Shell uses "options" (what Cloud would call flags) for input, which Cloud does not do. We therefore map all arguments to an array of strings, which means that we get access to (nearly) all Cloud features.

The example module contains a Spring Boot application with a couple of commands.

features

  • auto-discovery of CommandBean instances as well as @ScanCommands-annotated classes
  • supports both interactive & non-interactive (CLI) commands

cli

  • support for Spring Shell features such as descriptions and command groups

descriptions help

  • configurable by overriding the bean bindings
  • completions!

completions

  • support for native builds

native

limitations

  • no intermediate executors (you can do /cat add and /cat remove but not /cat)

links