(CommandList
  children: [
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SOURCE_DIR)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(cd)} 
                              {
                                (DQ 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(dirname)} 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name BASH_SOURCE>
                                                  bracket_op: 
                                                    (ArrayIndex
                                                      expr: (ArithWord w:{(Lit_Digits 0)})
                                                    )
                                                  spids: [74 79]
                                                )
                                              )
                                            }
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [69 82]
                                  )
                                )
                              }
                            )
                            (C {(pwd)})
                          ]
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [64 89]
                )
              )
            }
          spids: [62]
        )
      ]
      spids: [62]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:version) op:Equal rhs:{($ VSub_Number '$1')} spids:[93])]
      spids: [93]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CHANGELOG)
          op: Equal
          rhs: {($ VSub_Name '$SOURCE_DIR') (/../../CHANGELOG.md)}
          spids: [97]
        )
      ]
      spids: [97]
    )
    (C {(python)} {($ VSub_Name '$SOURCE_DIR') (/changelog.py)} {($ VSub_Name '$version')} {(0)} 
      {($ VSub_Name '$CHANGELOG')}
    )
    (C {(git)} {(add)} {($ VSub_Name '$CHANGELOG')})
    (C {(git)} {(commit)} {(-m)} {(DQ ('[Release] Update CHANGELOG.md for ') ($ VSub_Name '$version'))})
  ]
)