:currentReleaseVersion: 1.1.0.RELEASE
:currentSnapshotVersion: 1.2.0.BUILD-SNAPSHOT

Spring Shell is an shell skeleton that can be easily extended with commands using a Spring based programming model. Spring Shell eases the creation of interactive console applications, featuring ANSI coloring, TAB completion, history browsing, _etc._

To witness possibilities of Spring Shell, have a look at the https://docs.spring.io/spring-xd/docs/current-SNAPSHOT/reference/html/#interactive-shell[Spring XD Shell].

The latest release version is {currentReleaseVersion}, while the development version is {currentSnapshotVersion}.

# Useful links

* https://docs.spring.io/spring-shell/docs/current/reference/[User documentation]
* https://jira.spring.io/browse/SHL[Issue Tracker]

# Artifacts

[filter=source,language=xml,subs="attributes,specialcharacters"]
----
<!-- used for Spring GA Releases releases, artifacts are also in maven central -->
<repository>
 <!-- Release -->
 <id>spring-release</id>
 <name>Spring Maven RELEASE Repository</name>
 <url>https://repo.springframework.org/release</url>
</repository>

<!-- libs-release artifacts that may not be in maven central -->
<repository>
 <id>libs-release</id>
 <name>Spring Maven libs-release Repository</name>
 <url>https://repo.springframework.org/libs-release</url>
</repository>

<dependency>
 <groupId>org.springframework.shell</groupId>
 <artifactId>spring-shell</artifactId>
 <version>{currentReleaseVersion}</version>
</dependency> 

<!-- used for nightly builds -->
<repository>
 <!-- Snapshots -->
 <id>spring-snapshot</id>
 <name>Spring Maven SNAPSHOT Repository</name>
 <url>https://repo.springframework.org/libs-snapshot</url>
</repository>

<dependency>
  <groupId>org.springframework.shell</groupId>
  <artifactId>spring-shell</artifactId>
  <version>{currentSnapshotVersion}</version>
</dependency> 
----


* Gradle: 

[subs="attributes,specialcharacters"]
----
repositories {
   maven { url "https://repo.springsource.org/lib-release" }
}

dependencies {
   compile "org.springframework.shell:spring-shell:{currentReleaseVersion}"
}
----

# Building
Spring Shell is built with Gradle. To build Spring Shell, run

     ./gradlew 
     
# Running Example

    cd samples/helloworld
    ./gradlew installApp
    cd build/install/helloworld/bin
    helloworld
    
     
# Contributing

Here are some ways for you to get involved in the community:

* Get involved with the Spring community on Stack Overflow. Please help out on the https://stackoverflow.com/questions/tagged/spring-shell[dedicated SO tag] by responding to questions and joining the debate.
* Create https://jira.spring.io/browse/SHL[JIRA] tickets for bugs and new features and comment and vote on the ones that you are interested in.  
Github is for social coding: if you want to write code, we encourage contributions through pull requests from https://help.github.com/forking/[forks of this repository]. If you want to contribute code this way, please reference a JIRA tracker ticket covering the specific issue you are addressing. Before we accept a non-trivial patch or pull request we will need you to sign the https://support.springsource.com/spring_committer_signup[contributor's agreement].  Signing the contributor's agreement does not grant anyone commit rights to the main repository, but it does mean that we can accept your contributions, and you will get an author credit if we do.  Active contributors might be asked to join the core team, and given the ability to merge pull requests.
