JSPM

  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q60402F
  • License MIT

Streamline and Simplify complex git processes

Package Exports

  • mxflow
  • mxflow/bin/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (mxflow) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

mxflow

[[ formely npm/hgit ✏️]]

🚀 a beautiful unopinionated config based workflow engine

Streamline and Simplify complex processes

a CICD for internal processes and workflows on local machines


mxflow v0.47.15

Requirements

  • Node 16.x

Sample Config

sample-generated-config-file
config_version: 0.47.0
graph_git_log_limit: 40
issue_tracker: jira
issue_tracker_tenant: metaory
sleep_between_commands: 1000
workflows:
  foo:
    description: example placeholder
    pattern: '{branchType}/{taskId}-{description}'
    steps:
      - git fetch origin
      - git checkout master
      - git merge origin/master
      - git checkout -b {branchName}
      - git status
      - confirm git push --set-upstream origin {branchName}
      - list logs
  bar:
    description: example placeholder
    branch: xorg/{description}
    steps:
      - git fetch origin
      - git checkout master
      - git merge origin/master
      - autocomplete checkout xorg
      - git checkout -b {branchName}
      - git status
      - confirm git push --set-upstream origin {branchName}
      - list logs
  xorg:
    description: example placeholder
    steps:
      - echo hello word
      - echo goodbye cruel world
      - confirm echo goodbye

sample-git-workflow


Config Behaviours

Special commands:

  • list logs list last n pretty graph log
  • autocomplete checkout {pattern} prompt checkout the pattern branch
  • confirm {commandName} adds confirmation step to command

Features

  • check for conflict between multiple remote branch
  • start new workflows from a config file
  • ALL commands are read from the config file in ~/.config/mxflow/config.yml
  • dynamic branch checkout in workflows with command: prompt_checkout__{pattern}
  • branchNamePattern from config: {branchType}.branch_pattern
  • add confirm to commands for a confirmation prompt before the command

npx

npx mxflow

Installation

npm i -g mxflow

Usage

mxflow # or mxf
mxflow --trigger foobar

Options

--verbose                 | verbose logs
--trigger <workflow-name> | non-interactive workflow trigger

Roadmap

  • project based config file
  • plugin system for dynamic lists
  • aurgument mode
  • argument autocomplete

        ___           ___           ___
       /__/\         /__/|         /  /\
      |  |::\       |  |:|        /  /:/_
      |  |:|:\      |  |:|       /  /:/ /\
    __|__|:|\:\   __|__|:|      /  /:/ /:/
   /__/::::| \:\ /__/::::\____ /__/:/ /:/
   \  \:\~~\__\/    ~\~~\::::/ \  \:\/:/
    \  \:\           |~~|:|~~   \  \::/
     \  \:\          |  |:|      \  \:\
      \  \:\         |  |:|       \  \:\
       \__\/         |__|/         \__\/