sklp flow

sklp flow

Description

Feature lifecycle: open a branch/worktree (start), diff vs target + run CI (end)

Subcommands

Technical details

Technical details

Raw command JSON

{
  "path": [
    "sklp",
    "flow"
  ],
  "slug": "flow",
  "name": "flow",
  "short": "Feature lifecycle: open a branch/worktree (start), diff vs target + run CI (end)",
  "synopsis": "sklp flow",
  "subcommands": [
    {
      "path": [
        "sklp",
        "flow",
        "end"
      ],
      "slug": "flow-end",
      "name": "end",
      "short": "Push the branch and open a PR into --onto; CI runs on the PR",
      "long": "Diff the current branch vs --onto, push it and open a PR. CI then runs\non the PR itself, so the pipeline is not executed here: running it\nlocally too would do the same work twice on the same commit.\n\n--local runs the pipeline on this machine instead and pushes nothing,\nfor checking a change before it leaves the laptop.",
      "synopsis": "sklp flow end [flags]",
      "flags": [
        {
          "name": "onto",
          "usage": "target ref the feature builds on / diffs against",
          "type": "string",
          "default": "main"
        },
        {
          "name": "pipeline",
          "usage": "pipeline name under .sklp/pipelines/ to run with --local (empty = auto-select by scope match)",
          "type": "string"
        },
        {
          "name": "local",
          "aliases": [
            "test"
          ],
          "usage": "run the pipeline on this machine instead of opening a PR",
          "type": "bool"
        },
        {
          "name": "no-test",
          "usage": "only show the diff + impacted scope; do nothing else",
          "type": "bool"
        }
      ]
    },
    {
      "path": [
        "sklp",
        "flow",
        "start"
      ],
      "slug": "flow-start",
      "name": "start",
      "short": "Open feat/<name> in a worktree (default, --worktree) or in place (--branch) from --onto",
      "synopsis": "sklp flow start [flags] <name>",
      "flags": [
        {
          "name": "onto",
          "usage": "target ref the feature builds on / diffs against",
          "type": "string",
          "default": "main"
        },
        {
          "name": "worktree",
          "usage": "create a dedicated worktree (default; explicit opt-in)",
          "type": "bool"
        },
        {
          "name": "branch",
          "usage": "checkout in place instead of creating a dedicated worktree",
          "type": "bool"
        }
      ],
      "positionals": [
        {
          "name": "name",
          "required": true
        }
      ]
    }
  ]
}

See also