Skip to content

KSI Scenes

Ishwor Shrestha edited this page Jun 21, 2022 · 2 revisions

Scenes/Stories

This page will basically hold the scopes of all off the command options and rough sketch of how command options along with different flags should interact.

1. sprint (ksi sprint)

This command deals with starting and stopping the sprint dev flow.

fetch (ksi sprint fetch) [Done]

This command will basically fetch all of the branches and organize branches w.r.t. sprint branches to get started for the first time.

start (ksi sprint start) [Done]

This takes a flag -end where you specify the end date of sprint, which will create a new sprint branch, pull from the old sprint branch (or you can create new sprint branch from any branch by just passing an additional flag -source), and push the codes to get started for new sprint.

The new sprint branch should look like sp06180624

end (ksi sprint end)

This command will end the current sprint. While doing it, it will also delete all of the possible sprint related feature branches remotely and locally.

There is an optional flag that can be passed along with this command and that is --sprint where you can end old sprint which has not been ended. You can pass the sprint id (you can check the sprint ID from ksi what --sprint command)

pull (ksi sprint pull)

This command will pull the codes from latest sprint branch to the current working branch.

2. what (ksi what)

This command deals with providing answer to the queries related to script itself or the information related to sprint and branches. It doesn’t have sub-commands but operations with flags.

--sprint

This flag will list all of the sprint branches available remotely/locally along with the current sprint info, feature branches w.r.t sprint.

--branch

This flag will tell you, what branch you are currently working on.

--ksi

This flag will give the information about the script itself. ;)

3. feature (ksi feature)

This command will deals with all of the jazz related to feature branches.

new (ksi feature new)

This sub-command will create a new feature branch associating with the current sprint. You can specify feature name with -name option. This command will prompt you with options to choose from to specify the nature of branch.

Natures of a branch could be:

  • Feature
  • Enhancement
  • Bug Fix
  • Chore
  • Other

pull (ksi feature pull)

This sub-command will pull all of the latest code (remote) to the current feature branch (local). You can, otherwise, also specify the branch name with -source option.

stage (ksi feature stage)

This sub-command is basically git add . and git commit ... but restyled. It will stage the changes locally and while doing it, it will ask developer to add commit title and description.

push (ksi feature push)

This sub-command will initiate the push protocol, where developers will be asked few questions which will prepare a push and execute it.

This sub-command will try to pull any latest changes (remote) and only if there are no any new changes or doesn’t result in conflicts, it will continue or else it will exit for developer to resolve the conflicts.

  • Then it will run git add . command to stage all of the changes.

    If there are new changes, it will prompt developer to enter the commit title. Commit title can be 50 characters long. So, be wise while writing title. You can add other info about commit into description which will prompt after title is entered.

    Then finally, will push the commits.