@cobaltinc/bloom

Create Spring application with one command

Usage no npm install needed!

<script type="module">
  import cobaltincBloom from 'https://cdn.skypack.dev/@cobaltinc/bloom';
</script>

README

Bloom 🌼

Create Spring application with one command built by Cobalt, Inc.

Latest npm version PRs welcome

:rocket: Getting started

npm i -g @cobaltinc/bloom

:sparkles: Commands

new <project-name>

Create new spring application.

Options

Option Type Description
-r, --remote string GitHub repository url for custom template.
-t, --token string To use the private repository, you need to set up GitHub Personal access token.

generate subsystem <subsystem-name>

Generate new subsystem in application.

Make directories and build file in subsystem:

- subsystem
  - <subsystem-name>
    - component
      - src
        - main
        - test
      - build.gradle[.kts]
    - interface
      - src
        - main
        - test

:bookmark: Custom Template

You can create custom templates for new projects. For help creating a new template, see the templates directory.

Usage

bloom new <project-name> --remote https://github.com/kciter/sample-spring-template.git

Interpolation

When project created from the template, text are converted through mustache syntax.

Default

Params Type Description
PROJECT_NAME string The project name you entered.
PACKAGE_NAME string Convert the project name to lower case.
APPLICATION_NAME string Convert the project name to PascalCase. Typically used for Application class.

Additional

If you need additional data, you can create a bloom.json file in custom template repo:

{
  "args": [
    {
      "type": "number",
      "name": "VERSION",
      "message": "Set initial version",
      "min": 1,
      "max": 5
    },
    {
      "type": "text",
      "name": "DATABASE_URL",
      "message": "Set database url"
    },
    {
      "type": "password",
      "name": "DATABASE_PASSWORD",
      "message": "Set database password"
    },
    {
      "type": "select",
      "name": "SELECT",
      "message": "Pick your database",
      "choices": [
        { "title": "MySQL" },
        { "title": "MariaDB" },
        { "title": "PostgreSQL" },
        { "title": "Oracle" }
      ]
    }
  ]
}

:page_facing_up: License

Bloom is made available under the MIT License.