{"id":14008463,"url":"https://github.com/spring-projects/spring-shell","last_synced_at":"2025-05-13T19:17:07.328Z","repository":{"id":547399,"uuid":"3456296","full_name":"spring-projects/spring-shell","owner":"spring-projects","description":"Spring based shell","archived":false,"fork":false,"pushed_at":"2025-04-25T09:21:24.000Z","size":8346,"stargazers_count":758,"open_issues_count":111,"forks_count":394,"subscribers_count":57,"default_branch":"main","last_synced_at":"2025-04-27T20:06:22.669Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://projects.spring.io/spring-shell/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spring-projects.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":"CONTRIBUTING.adoc","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.adoc","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2012-02-16T02:29:58.000Z","updated_at":"2025-04-25T09:21:29.000Z","dependencies_parsed_at":"2024-01-02T11:30:05.475Z","dependency_job_id":"65447d3e-7201-4acf-a092-f333dca6b262","html_url":"https://github.com/spring-projects/spring-shell","commit_stats":{"total_commits":1035,"total_committers":64,"mean_commits":16.171875,"dds":"0.45603864734299515","last_synced_commit":"094ffebaf291a3ded240c8cc2d3ec50421253b4f"},"previous_names":[],"tags_count":94,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects%2Fspring-shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects%2Fspring-shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects%2Fspring-shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects%2Fspring-shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spring-projects","download_url":"https://codeload.github.com/spring-projects/spring-shell/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254010826,"owners_count":21999004,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-10T11:01:42.006Z","updated_at":"2025-05-13T19:17:07.096Z","avatar_url":"https://github.com/spring-projects.png","language":"Java","readme":"= Spring Shell image:https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle\u0026labelColor=02303A[\"Revved up by Develocity\", link=\"https://ge.spring.io/scans?search.rootProjectNames=spring-shell\"]\n\nSpring Shell helps you to create Spring-powered, production-grade applications targeting\n_CLI_ space. It takes an opinionated view of the Spring platform so that new and existing\nusers can quickly get to the bits they need.\n\nYou can use Spring Shell to create stand-alone Java applications that can be started using\njava -jar or more sophisticated GraalVM native ways to create platform dependant apps.\n\nOur primary goals are:\n\n* Provide a radically faster and widely accessible getting started experience for shell development.\n* Be opinionated, but get out of the way quickly as requirements start to diverge from the defaults.\n\n== Installation and Getting Started\n\nHere is a quick teaser of a complete Spring Shell application in Java:\n\n[source,java,indent=0]\n----\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.shell.standard.ShellComponent;\nimport org.springframework.shell.standard.ShellMethod;\n\n@SpringBootApplication\n@ShellComponent\npublic class DemoApplication {\n\n\t@ShellMethod\n\tpublic String hi() {\n\t\treturn \"hi\";\n\t}\n\n\tpublic static void main(String[] args) {\n\t\tSpringApplication.run(DemoApplication.class, args);\n\t}\n}\n----\n\nRunning it as _jar_ interactive:\n\n[source,bash]\n----\n$ java -jar demo.jar\n\nshell:\u003ehelp\nAVAILABLE COMMANDS\n\nBuilt-In Commands\n       help: Display help about available commands\n       stacktrace: Display the full stacktrace of the last error.\n       clear: Clear the shell screen.\n       quit, exit: Exit the shell.\n       history: Display or save the history of previously run commands\n       version: Show version info\n       script: Read and execute commands from a file.\n\nDemo Application\n       hi:\n\nshell:\u003ehi\nhi\n----\n\nRunning it as _jar_ non-interactive:\n\n[source,bash]\n----\n$ java -jar demo.jar hi\n\nhi\n----\n\n== Getting Help\nAre you having trouble with Spring Shell? We want to help!\n\n* Join our GitHub Discussion section and post your question there.\n\n== Reporting Issues\nSpring Shell uses GitHub's integrated issue tracking system to record bugs and feature requests.\nIf you want to raise an issue, please follow the recommendations below:\n\n* Before you log a bug, please search the {github}/issues[issue tracker] to see if someone has already reported the problem.\n* If the issue doesn't already exist, {github}/issues/new[create a new issue].\n* Please provide as much information as possible with the issue report.\nWe like to know the Spring Boot and Shell version, operating system, and JVM version you're using.\n* If you need to paste code or include a stack trace, use Markdown.\n+++```+++ escapes before and after your text.\n* If possible, try to create a test case or project that replicates the problem and attach it to the issue.\n\n== Building from Source\n\nActive development branch is `main` targeting work for `3.2.x`. `3.1.x`, `3.0.x` and `2.1.x` are for maintaining current active releases.\n\nBuilding and running tests:\n\n```\n./gradlew build\n```\n\nPublishing to local maven cache:\n\n```\n./gradlew publishToMavenLocal\n```\n\n== Example\nhttps://github.com/spring-projects/spring-shell/tree/main/spring-shell-samples/[Samples] contains various examples how to use `spring-shell`.\n\n```\n./gradlew :spring-shell-samples:spring-shell-sample-catalog:build -x test\n./gradlew :spring-shell-samples:spring-shell-sample-commands:build -x test\n./gradlew :spring-shell-samples:spring-shell-sample-e2e:build -x test\n```\n\nNative build can be enabled using property `-PspringShellSampleNative=true`. On linux a `musl` can be activated with `-PspringShellSampleMusl=true`. Note that musl needs to be properly configured in the environment.\n\n== License\nSpring Shell is Open Source software released under the https://www.apache.org/licenses/LICENSE-2.0.html[Apache 2.0 license].\n","funding_links":[],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspring-projects%2Fspring-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspring-projects%2Fspring-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspring-projects%2Fspring-shell/lists"}