spring-initializer-go

module
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2024 License: MIT

README

Spring Initializer Go

A Spring Initializer client written in Go.

preview

Motivation

As a software developer, I frequently found myself writing extensive code, leading to discomfort and wrist pain. Seeking solutions, I explored ways to reduce mouse usage. Transitioning many aspects of my workflow to the terminal proved both comfortable and efficient.

However, during the initiation of a new Java project, I encountered a roadblock: the absence of a terminal-based user interface (TUI) version of Spring Initializr. Determined to bridge this gap, I embarked on creating a solution tailored to my needs.

Installation

Manual

Clone the repository and run: make compile-current or go build ./cmd/spring-initializer/ in the root of the repository.

Prerequisites
go install github.com/eslam-allam/spring-initializer-go/cmd/spring-initializer@latest
Pre Compiled Binary

You can also grab one of the pre-compiled binaries from the Releases Section and place it in a folder currently in PATH.

Compiled binaries may not always be up to date so if you want the latest features, the other methods are recommended.

Usage

This app has a similar interface to official Web Spring Initializer. Just run the app using spring-initializer and you will be able to see a list of available key maps at the bottom of the screen.

You may also pass the target directory as a positional command line argument as follows:

spring-initializer 'some-directory/some-other-directory' # Relative directory
spring-initializer '/home/eslamallam/personal_projects/java/something' # Absolute directory
spring-initializer '~/projects/spring' # ~ will be expanded to $HOME

The directory will be created if it doesn't exist.

Todo

  • Add ability to pick project folder.
  • Add description to dependency entries.
  • Make the UI more intuitive.
  • Refactor this unsightly code.
  • Add confirmation message when creating a new project.

Issues

This project was mainly created to make my workflow more convenient but tickets are more than welcome. If you encounter any crashes or if there's something you wish was done differently, don't hesitate to open an issue or PR if you think you can handle it yourself.

Directories

Path Synopsis
cmd
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL