JSPM

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

a local first CICD | Streamline and Simplify complex 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

a CICD for internal processes and workflows on local machines for teams

group commands under a workflow, write steps, use special commands like confirm


💥 Unopinionated config based workflow engine
🗃️ Streamline complex workflows across teams
💡 Simplify complex commands

Special command prefix

  • confirm {command} adds a confirmation step to any commands

Config order

  • ./.mxflow/config.yml
  • ~/.mxflow/config.yml
sample-config-file
version: 0.60.0
sleep: 1000
workflows:
  feature:
    description: feature example workflow
    args:
      - name: taskId
        type: stringInput
        export: taskId
      - name: description
        type: stringInput
        export: description
      - name: MXF_BUG_TRACKER_NAME
        type: env
        default: jira
        export: bugTrackerName
      - name: MXF_BUG_TRACKER_TENANT
        type: env
        default: metaory
        export: bugTrackerTenant
    steps:
      - git fetch origin
      - git checkout master
      - git merge origin/master
      - checkout-branch:
          base: flight
      - git checkout -b {workflow}/{taskId}-{description}
      - git status
      - confirm git push --set-upstream origin
        {workflow}/{taskId}-{description}
      - list-logs:
          limit: 100
      - log-bugtracker:
          bugtracker: "{bugTrackerName}"
          tenant: "{bugTrackerTenant}"

sample usecase: git-workflow



Arg Types

  • stringInput
  • numberInput
  • toggleInput
  • env

Requirements

  • Node 16.x

Installation

npm i -g mxflow
mxflow --setup-completion

or

npx mxflow
npx mxflow --setup-completion

Usage

mxflow # or mxf
mxflow --trigger foobar
mxflow --trigger feature --branch feat/xorg
mxflow --trigger hotfix --branch hotfix/zelda --verbose
mxflow --no-catch-git # to bypass initial git checks

Options

--init                    | init sample configuration
--verbose                 | verbose logs
--trigger <workflow-name> | non-interactive workflow trigger
--branch <branch-name>    | branch name, non-interactive flow
--no-catch-git            | bypass initial git checks
--setup-completion        | setup tab completion, your shell
--clean-completion        | cleanup tab completion
--help                    | help menu

Roadmap

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

mxflow v0.47.21

⚠️ MXFlow is in an early state of release. Breaking changes may be made to APIs/core structures as the tool matures.


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