@camaradesuk/git-worktree-tools 1.9.0 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -31
- package/dist/cli/cleanpr.js +74 -53
- package/dist/cli/cleanpr.js.map +1 -1
- package/dist/cli/lswt.js +32 -56
- package/dist/cli/lswt.js.map +1 -1
- package/dist/cli/newpr.d.ts +13 -1
- package/dist/cli/newpr.d.ts.map +1 -1
- package/dist/cli/newpr.js +159 -153
- package/dist/cli/newpr.js.map +1 -1
- package/dist/cli/prs.d.ts +3 -10
- package/dist/cli/prs.d.ts.map +1 -1
- package/dist/cli/prs.js +6 -168
- package/dist/cli/prs.js.map +1 -1
- package/dist/cli/wt/clean.d.ts +6 -2
- package/dist/cli/wt/clean.d.ts.map +1 -1
- package/dist/cli/wt/clean.js +401 -20
- package/dist/cli/wt/clean.js.map +1 -1
- package/dist/cli/wt/completion.d.ts +3 -0
- package/dist/cli/wt/completion.d.ts.map +1 -1
- package/dist/cli/wt/completion.js +80 -9
- package/dist/cli/wt/completion.js.map +1 -1
- package/dist/cli/wt/config.d.ts +3 -1
- package/dist/cli/wt/config.d.ts.map +1 -1
- package/dist/cli/wt/config.js +323 -32
- package/dist/cli/wt/config.js.map +1 -1
- package/dist/cli/wt/interactive-menu.d.ts +2 -0
- package/dist/cli/wt/interactive-menu.d.ts.map +1 -1
- package/dist/cli/wt/interactive-menu.js +346 -73
- package/dist/cli/wt/interactive-menu.js.map +1 -1
- package/dist/cli/wt/link.d.ts +3 -1
- package/dist/cli/wt/link.d.ts.map +1 -1
- package/dist/cli/wt/link.js +125 -38
- package/dist/cli/wt/link.js.map +1 -1
- package/dist/cli/wt/list.d.ts +4 -1
- package/dist/cli/wt/list.d.ts.map +1 -1
- package/dist/cli/wt/list.js +85 -16
- package/dist/cli/wt/list.js.map +1 -1
- package/dist/cli/wt/new.d.ts +8 -2
- package/dist/cli/wt/new.d.ts.map +1 -1
- package/dist/cli/wt/new.js +91 -46
- package/dist/cli/wt/new.js.map +1 -1
- package/dist/cli/wt/prs.d.ts +2 -1
- package/dist/cli/wt/prs.d.ts.map +1 -1
- package/dist/cli/wt/prs.js +3 -164
- package/dist/cli/wt/prs.js.map +1 -1
- package/dist/cli/wt/run-command.d.ts +4 -2
- package/dist/cli/wt/run-command.d.ts.map +1 -1
- package/dist/cli/wt/run-command.js +6 -4
- package/dist/cli/wt/run-command.js.map +1 -1
- package/dist/cli/wt/state.d.ts +3 -1
- package/dist/cli/wt/state.d.ts.map +1 -1
- package/dist/cli/wt/state.js +74 -10
- package/dist/cli/wt/state.js.map +1 -1
- package/dist/cli/wt.d.ts.map +1 -1
- package/dist/cli/wt.js +50 -36
- package/dist/cli/wt.js.map +1 -1
- package/dist/cli/wtconfig.js +99 -22
- package/dist/cli/wtconfig.js.map +1 -1
- package/dist/cli/wtlink.js +85 -61
- package/dist/cli/wtlink.js.map +1 -1
- package/dist/cli/wtstate.js +21 -2
- package/dist/cli/wtstate.js.map +1 -1
- package/dist/lib/cleanpr/args.d.ts.map +1 -1
- package/dist/lib/cleanpr/args.js +20 -0
- package/dist/lib/cleanpr/args.js.map +1 -1
- package/dist/lib/cleanpr/types.d.ts +6 -0
- package/dist/lib/cleanpr/types.d.ts.map +1 -1
- package/dist/lib/colors.d.ts +5 -0
- package/dist/lib/colors.d.ts.map +1 -1
- package/dist/lib/colors.js +13 -6
- package/dist/lib/colors.js.map +1 -1
- package/dist/lib/constants.d.ts +12 -4
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +24 -5
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/deprecation.d.ts +18 -0
- package/dist/lib/deprecation.d.ts.map +1 -0
- package/dist/lib/deprecation.js +28 -0
- package/dist/lib/deprecation.js.map +1 -0
- package/dist/lib/logger.d.ts +40 -155
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +349 -420
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/lswt/args.d.ts.map +1 -1
- package/dist/lib/lswt/args.js +15 -1
- package/dist/lib/lswt/args.js.map +1 -1
- package/dist/lib/lswt/index.d.ts +1 -0
- package/dist/lib/lswt/index.d.ts.map +1 -1
- package/dist/lib/lswt/index.js +2 -0
- package/dist/lib/lswt/index.js.map +1 -1
- package/dist/lib/lswt/table.d.ts +15 -0
- package/dist/lib/lswt/table.d.ts.map +1 -0
- package/dist/lib/lswt/table.js +61 -0
- package/dist/lib/lswt/table.js.map +1 -0
- package/dist/lib/lswt/types.d.ts +4 -0
- package/dist/lib/lswt/types.d.ts.map +1 -1
- package/dist/lib/newpr/args.d.ts.map +1 -1
- package/dist/lib/newpr/args.js +21 -0
- package/dist/lib/newpr/args.js.map +1 -1
- package/dist/lib/newpr/types.d.ts +6 -0
- package/dist/lib/newpr/types.d.ts.map +1 -1
- package/dist/lib/prs/command.d.ts +21 -0
- package/dist/lib/prs/command.d.ts.map +1 -0
- package/dist/lib/prs/command.js +175 -0
- package/dist/lib/prs/command.js.map +1 -0
- package/dist/lib/prs/interactive.d.ts.map +1 -1
- package/dist/lib/prs/interactive.js +15 -2
- package/dist/lib/prs/interactive.js.map +1 -1
- package/dist/lib/prs/types.d.ts +15 -0
- package/dist/lib/prs/types.d.ts.map +1 -1
- package/dist/lib/ui/error.d.ts +31 -0
- package/dist/lib/ui/error.d.ts.map +1 -0
- package/dist/lib/ui/error.js +47 -0
- package/dist/lib/ui/error.js.map +1 -0
- package/dist/lib/ui/index.d.ts +15 -0
- package/dist/lib/ui/index.d.ts.map +1 -0
- package/dist/lib/ui/index.js +19 -0
- package/dist/lib/ui/index.js.map +1 -0
- package/dist/lib/ui/output.d.ts +18 -0
- package/dist/lib/ui/output.d.ts.map +1 -0
- package/dist/lib/ui/output.js +31 -0
- package/dist/lib/ui/output.js.map +1 -0
- package/dist/lib/ui/spinner.d.ts +10 -0
- package/dist/lib/ui/spinner.d.ts.map +1 -0
- package/dist/lib/ui/spinner.js +10 -0
- package/dist/lib/ui/spinner.js.map +1 -0
- package/dist/lib/ui/status.d.ts +65 -0
- package/dist/lib/ui/status.d.ts.map +1 -0
- package/dist/lib/ui/status.js +100 -0
- package/dist/lib/ui/status.js.map +1 -0
- package/dist/lib/ui/table.d.ts +39 -0
- package/dist/lib/ui/table.d.ts.map +1 -0
- package/dist/lib/ui/table.js +45 -0
- package/dist/lib/ui/table.js.map +1 -0
- package/dist/lib/ui/theme.d.ts +34 -0
- package/dist/lib/ui/theme.d.ts.map +1 -0
- package/dist/lib/ui/theme.js +37 -0
- package/dist/lib/ui/theme.js.map +1 -0
- package/dist/lib/wtlink/link-configs.js +7 -7
- package/dist/lib/wtlink/link-configs.js.map +1 -1
- package/dist/lib/wtlink/validate-manifest.d.ts.map +1 -1
- package/dist/lib/wtlink/validate-manifest.js +5 -5
- package/dist/lib/wtlink/validate-manifest.js.map +1 -1
- package/dist/lib/wtstate/args.d.ts.map +1 -1
- package/dist/lib/wtstate/args.js +2 -0
- package/dist/lib/wtstate/args.js.map +1 -1
- package/dist/mcp/server.d.ts +2 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +264 -44
- package/dist/mcp/server.js.map +1 -1
- package/package.json +13 -3
- package/dist/api/list.test.d.ts +0 -5
- package/dist/api/list.test.d.ts.map +0 -1
- package/dist/api/list.test.js +0 -390
- package/dist/api/list.test.js.map +0 -1
- package/dist/cli/cleanpr.test.d.ts +0 -2
- package/dist/cli/cleanpr.test.d.ts.map +0 -1
- package/dist/cli/cleanpr.test.js +0 -954
- package/dist/cli/cleanpr.test.js.map +0 -1
- package/dist/cli/lswt.test.d.ts +0 -2
- package/dist/cli/lswt.test.d.ts.map +0 -1
- package/dist/cli/lswt.test.js +0 -386
- package/dist/cli/lswt.test.js.map +0 -1
- package/dist/cli/newpr.test.d.ts +0 -2
- package/dist/cli/newpr.test.d.ts.map +0 -1
- package/dist/cli/newpr.test.js +0 -1182
- package/dist/cli/newpr.test.js.map +0 -1
- package/dist/cli/prs.test.d.ts +0 -8
- package/dist/cli/prs.test.d.ts.map +0 -1
- package/dist/cli/prs.test.js +0 -410
- package/dist/cli/prs.test.js.map +0 -1
- package/dist/cli/wt/completion.test.d.ts +0 -5
- package/dist/cli/wt/completion.test.d.ts.map +0 -1
- package/dist/cli/wt/completion.test.js +0 -173
- package/dist/cli/wt/completion.test.js.map +0 -1
- package/dist/cli/wt/config.test.d.ts +0 -5
- package/dist/cli/wt/config.test.d.ts.map +0 -1
- package/dist/cli/wt/config.test.js +0 -260
- package/dist/cli/wt/config.test.js.map +0 -1
- package/dist/cli/wt/entry.test.d.ts +0 -8
- package/dist/cli/wt/entry.test.d.ts.map +0 -1
- package/dist/cli/wt/entry.test.js +0 -201
- package/dist/cli/wt/entry.test.js.map +0 -1
- package/dist/cli/wt/init.test.d.ts +0 -5
- package/dist/cli/wt/init.test.d.ts.map +0 -1
- package/dist/cli/wt/init.test.js +0 -165
- package/dist/cli/wt/init.test.js.map +0 -1
- package/dist/cli/wt/init.unit.test.d.ts +0 -5
- package/dist/cli/wt/init.unit.test.d.ts.map +0 -1
- package/dist/cli/wt/init.unit.test.js +0 -432
- package/dist/cli/wt/init.unit.test.js.map +0 -1
- package/dist/cli/wt/interactive-menu.test.d.ts +0 -10
- package/dist/cli/wt/interactive-menu.test.d.ts.map +0 -1
- package/dist/cli/wt/interactive-menu.test.js +0 -739
- package/dist/cli/wt/interactive-menu.test.js.map +0 -1
- package/dist/cli/wt/prs.test.d.ts +0 -5
- package/dist/cli/wt/prs.test.d.ts.map +0 -1
- package/dist/cli/wt/prs.test.js +0 -410
- package/dist/cli/wt/prs.test.js.map +0 -1
- package/dist/cli/wt/run-command.test.d.ts +0 -5
- package/dist/cli/wt/run-command.test.d.ts.map +0 -1
- package/dist/cli/wt/run-command.test.js +0 -88
- package/dist/cli/wt/run-command.test.js.map +0 -1
- package/dist/cli/wt/wt.test.d.ts +0 -8
- package/dist/cli/wt/wt.test.d.ts.map +0 -1
- package/dist/cli/wt/wt.test.js +0 -521
- package/dist/cli/wt/wt.test.js.map +0 -1
- package/dist/cli/wt.unit.test.d.ts +0 -7
- package/dist/cli/wt.unit.test.d.ts.map +0 -1
- package/dist/cli/wt.unit.test.js +0 -182
- package/dist/cli/wt.unit.test.js.map +0 -1
- package/dist/cli/wtconfig.test.d.ts +0 -5
- package/dist/cli/wtconfig.test.d.ts.map +0 -1
- package/dist/cli/wtconfig.test.js +0 -1289
- package/dist/cli/wtconfig.test.js.map +0 -1
- package/dist/cli/wtlink.test.d.ts +0 -2
- package/dist/cli/wtlink.test.d.ts.map +0 -1
- package/dist/cli/wtlink.test.js +0 -249
- package/dist/cli/wtlink.test.js.map +0 -1
- package/dist/cli/wtstate.test.d.ts +0 -5
- package/dist/cli/wtstate.test.d.ts.map +0 -1
- package/dist/cli/wtstate.test.js +0 -193
- package/dist/cli/wtstate.test.js.map +0 -1
- package/dist/e2e/cleanpr/cleanpr.e2e.test.d.ts +0 -2
- package/dist/e2e/cleanpr/cleanpr.e2e.test.d.ts.map +0 -1
- package/dist/e2e/cleanpr/cleanpr.e2e.test.js +0 -326
- package/dist/e2e/cleanpr/cleanpr.e2e.test.js.map +0 -1
- package/dist/e2e/cli.e2e.test.d.ts +0 -2
- package/dist/e2e/cli.e2e.test.d.ts.map +0 -1
- package/dist/e2e/cli.e2e.test.js +0 -417
- package/dist/e2e/cli.e2e.test.js.map +0 -1
- package/dist/e2e/lswt/lswt.e2e.test.d.ts +0 -2
- package/dist/e2e/lswt/lswt.e2e.test.d.ts.map +0 -1
- package/dist/e2e/lswt/lswt.e2e.test.js +0 -361
- package/dist/e2e/lswt/lswt.e2e.test.js.map +0 -1
- package/dist/e2e/newpr/newpr.e2e.test.d.ts +0 -2
- package/dist/e2e/newpr/newpr.e2e.test.d.ts.map +0 -1
- package/dist/e2e/newpr/newpr.e2e.test.js +0 -286
- package/dist/e2e/newpr/newpr.e2e.test.js.map +0 -1
- package/dist/e2e/newpr/scenarios.e2e.test.d.ts +0 -2
- package/dist/e2e/newpr/scenarios.e2e.test.d.ts.map +0 -1
- package/dist/e2e/newpr/scenarios.e2e.test.js +0 -426
- package/dist/e2e/newpr/scenarios.e2e.test.js.map +0 -1
- package/dist/e2e/newpr-full-flow.e2e.test.d.ts +0 -2
- package/dist/e2e/newpr-full-flow.e2e.test.d.ts.map +0 -1
- package/dist/e2e/newpr-full-flow.e2e.test.js +0 -280
- package/dist/e2e/newpr-full-flow.e2e.test.js.map +0 -1
- package/dist/e2e/prs/prs.e2e.test.d.ts +0 -7
- package/dist/e2e/prs/prs.e2e.test.d.ts.map +0 -1
- package/dist/e2e/prs/prs.e2e.test.js +0 -606
- package/dist/e2e/prs/prs.e2e.test.js.map +0 -1
- package/dist/e2e/workflows/pr-lifecycle.e2e.test.d.ts +0 -2
- package/dist/e2e/workflows/pr-lifecycle.e2e.test.d.ts.map +0 -1
- package/dist/e2e/workflows/pr-lifecycle.e2e.test.js +0 -298
- package/dist/e2e/workflows/pr-lifecycle.e2e.test.js.map +0 -1
- package/dist/e2e/wt/interactive-menu.e2e.test.d.ts +0 -8
- package/dist/e2e/wt/interactive-menu.e2e.test.d.ts.map +0 -1
- package/dist/e2e/wt/interactive-menu.e2e.test.js +0 -583
- package/dist/e2e/wt/interactive-menu.e2e.test.js.map +0 -1
- package/dist/e2e/wt/wt.e2e.test.d.ts +0 -9
- package/dist/e2e/wt/wt.e2e.test.d.ts.map +0 -1
- package/dist/e2e/wt/wt.e2e.test.js +0 -597
- package/dist/e2e/wt/wt.e2e.test.js.map +0 -1
- package/dist/e2e/wtlink/wtlink.e2e.test.d.ts +0 -2
- package/dist/e2e/wtlink/wtlink.e2e.test.d.ts.map +0 -1
- package/dist/e2e/wtlink/wtlink.e2e.test.js +0 -416
- package/dist/e2e/wtlink/wtlink.e2e.test.js.map +0 -1
- package/dist/integration/git.integration.test.d.ts +0 -2
- package/dist/integration/git.integration.test.d.ts.map +0 -1
- package/dist/integration/git.integration.test.js +0 -336
- package/dist/integration/git.integration.test.js.map +0 -1
- package/dist/integration/lswt-remote-pr.integration.test.d.ts +0 -2
- package/dist/integration/lswt-remote-pr.integration.test.d.ts.map +0 -1
- package/dist/integration/lswt-remote-pr.integration.test.js +0 -222
- package/dist/integration/lswt-remote-pr.integration.test.js.map +0 -1
- package/dist/integration/newpr-branchfrom-head.integration.test.d.ts +0 -2
- package/dist/integration/newpr-branchfrom-head.integration.test.d.ts.map +0 -1
- package/dist/integration/newpr-branchfrom-head.integration.test.js +0 -498
- package/dist/integration/newpr-branchfrom-head.integration.test.js.map +0 -1
- package/dist/integration/newpr.integration.test.d.ts +0 -2
- package/dist/integration/newpr.integration.test.d.ts.map +0 -1
- package/dist/integration/newpr.integration.test.js +0 -460
- package/dist/integration/newpr.integration.test.js.map +0 -1
- package/dist/integration/prs.integration.test.d.ts +0 -8
- package/dist/integration/prs.integration.test.d.ts.map +0 -1
- package/dist/integration/prs.integration.test.js +0 -478
- package/dist/integration/prs.integration.test.js.map +0 -1
- package/dist/lib/ai/base-provider.test.d.ts +0 -7
- package/dist/lib/ai/base-provider.test.d.ts.map +0 -1
- package/dist/lib/ai/base-provider.test.js +0 -319
- package/dist/lib/ai/base-provider.test.js.map +0 -1
- package/dist/lib/ai/cli-provider.test.d.ts +0 -5
- package/dist/lib/ai/cli-provider.test.d.ts.map +0 -1
- package/dist/lib/ai/cli-provider.test.js +0 -460
- package/dist/lib/ai/cli-provider.test.js.map +0 -1
- package/dist/lib/ai/fallback-provider.test.d.ts +0 -7
- package/dist/lib/ai/fallback-provider.test.d.ts.map +0 -1
- package/dist/lib/ai/fallback-provider.test.js +0 -165
- package/dist/lib/ai/fallback-provider.test.js.map +0 -1
- package/dist/lib/ai/generation-service.test.d.ts +0 -7
- package/dist/lib/ai/generation-service.test.d.ts.map +0 -1
- package/dist/lib/ai/generation-service.test.js +0 -213
- package/dist/lib/ai/generation-service.test.js.map +0 -1
- package/dist/lib/ai/provider-manager.test.d.ts +0 -5
- package/dist/lib/ai/provider-manager.test.d.ts.map +0 -1
- package/dist/lib/ai/provider-manager.test.js +0 -312
- package/dist/lib/ai/provider-manager.test.js.map +0 -1
- package/dist/lib/ai/repo-docs.test.d.ts +0 -5
- package/dist/lib/ai/repo-docs.test.d.ts.map +0 -1
- package/dist/lib/ai/repo-docs.test.js +0 -357
- package/dist/lib/ai/repo-docs.test.js.map +0 -1
- package/dist/lib/cleanpr/args.test.d.ts +0 -2
- package/dist/lib/cleanpr/args.test.d.ts.map +0 -1
- package/dist/lib/cleanpr/args.test.js +0 -269
- package/dist/lib/cleanpr/args.test.js.map +0 -1
- package/dist/lib/cleanpr/cleanup.test.d.ts +0 -2
- package/dist/lib/cleanpr/cleanup.test.d.ts.map +0 -1
- package/dist/lib/cleanpr/cleanup.test.js +0 -296
- package/dist/lib/cleanpr/cleanup.test.js.map +0 -1
- package/dist/lib/cleanpr/worktree-info.test.d.ts +0 -2
- package/dist/lib/cleanpr/worktree-info.test.d.ts.map +0 -1
- package/dist/lib/cleanpr/worktree-info.test.js +0 -228
- package/dist/lib/cleanpr/worktree-info.test.js.map +0 -1
- package/dist/lib/colors.test.d.ts +0 -2
- package/dist/lib/colors.test.d.ts.map +0 -1
- package/dist/lib/colors.test.js +0 -142
- package/dist/lib/colors.test.js.map +0 -1
- package/dist/lib/config-editor.test.d.ts +0 -11
- package/dist/lib/config-editor.test.d.ts.map +0 -1
- package/dist/lib/config-editor.test.js +0 -526
- package/dist/lib/config-editor.test.js.map +0 -1
- package/dist/lib/config-migration/detector.test.d.ts +0 -5
- package/dist/lib/config-migration/detector.test.d.ts.map +0 -1
- package/dist/lib/config-migration/detector.test.js +0 -201
- package/dist/lib/config-migration/detector.test.js.map +0 -1
- package/dist/lib/config-migration/reporter.test.d.ts +0 -5
- package/dist/lib/config-migration/reporter.test.d.ts.map +0 -1
- package/dist/lib/config-migration/reporter.test.js +0 -305
- package/dist/lib/config-migration/reporter.test.js.map +0 -1
- package/dist/lib/config-migration/runner.test.d.ts +0 -5
- package/dist/lib/config-migration/runner.test.d.ts.map +0 -1
- package/dist/lib/config-migration/runner.test.js +0 -235
- package/dist/lib/config-migration/runner.test.js.map +0 -1
- package/dist/lib/config-validation.test.d.ts +0 -5
- package/dist/lib/config-validation.test.d.ts.map +0 -1
- package/dist/lib/config-validation.test.js +0 -423
- package/dist/lib/config-validation.test.js.map +0 -1
- package/dist/lib/config.test.d.ts +0 -2
- package/dist/lib/config.test.d.ts.map +0 -1
- package/dist/lib/config.test.js +0 -566
- package/dist/lib/config.test.js.map +0 -1
- package/dist/lib/constants.test.d.ts +0 -5
- package/dist/lib/constants.test.d.ts.map +0 -1
- package/dist/lib/constants.test.js +0 -121
- package/dist/lib/constants.test.js.map +0 -1
- package/dist/lib/errors.test.d.ts +0 -2
- package/dist/lib/errors.test.d.ts.map +0 -1
- package/dist/lib/errors.test.js +0 -117
- package/dist/lib/errors.test.js.map +0 -1
- package/dist/lib/git.test.d.ts +0 -2
- package/dist/lib/git.test.d.ts.map +0 -1
- package/dist/lib/git.test.js +0 -608
- package/dist/lib/git.test.js.map +0 -1
- package/dist/lib/github.test.d.ts +0 -2
- package/dist/lib/github.test.d.ts.map +0 -1
- package/dist/lib/github.test.js +0 -441
- package/dist/lib/github.test.js.map +0 -1
- package/dist/lib/global-check.test.d.ts +0 -5
- package/dist/lib/global-check.test.d.ts.map +0 -1
- package/dist/lib/global-check.test.js +0 -150
- package/dist/lib/global-check.test.js.map +0 -1
- package/dist/lib/global-config.test.d.ts +0 -5
- package/dist/lib/global-config.test.d.ts.map +0 -1
- package/dist/lib/global-config.test.js +0 -282
- package/dist/lib/global-config.test.js.map +0 -1
- package/dist/lib/hooks/confirmation.test.d.ts +0 -7
- package/dist/lib/hooks/confirmation.test.d.ts.map +0 -1
- package/dist/lib/hooks/confirmation.test.js +0 -300
- package/dist/lib/hooks/confirmation.test.js.map +0 -1
- package/dist/lib/hooks/executor.test.d.ts +0 -5
- package/dist/lib/hooks/executor.test.d.ts.map +0 -1
- package/dist/lib/hooks/executor.test.js +0 -648
- package/dist/lib/hooks/executor.test.js.map +0 -1
- package/dist/lib/hooks/templates.test.d.ts +0 -5
- package/dist/lib/hooks/templates.test.d.ts.map +0 -1
- package/dist/lib/hooks/templates.test.js +0 -163
- package/dist/lib/hooks/templates.test.js.map +0 -1
- package/dist/lib/hooks/types.test.d.ts +0 -5
- package/dist/lib/hooks/types.test.d.ts.map +0 -1
- package/dist/lib/hooks/types.test.js +0 -132
- package/dist/lib/hooks/types.test.js.map +0 -1
- package/dist/lib/json-output.test.d.ts +0 -5
- package/dist/lib/json-output.test.d.ts.map +0 -1
- package/dist/lib/json-output.test.js +0 -261
- package/dist/lib/json-output.test.js.map +0 -1
- package/dist/lib/logger.test.d.ts +0 -5
- package/dist/lib/logger.test.d.ts.map +0 -1
- package/dist/lib/logger.test.js +0 -292
- package/dist/lib/logger.test.js.map +0 -1
- package/dist/lib/lswt/action-executors.test.d.ts +0 -2
- package/dist/lib/lswt/action-executors.test.d.ts.map +0 -1
- package/dist/lib/lswt/action-executors.test.js +0 -1127
- package/dist/lib/lswt/action-executors.test.js.map +0 -1
- package/dist/lib/lswt/actions.test.d.ts +0 -2
- package/dist/lib/lswt/actions.test.d.ts.map +0 -1
- package/dist/lib/lswt/actions.test.js +0 -497
- package/dist/lib/lswt/actions.test.js.map +0 -1
- package/dist/lib/lswt/args.test.d.ts +0 -2
- package/dist/lib/lswt/args.test.d.ts.map +0 -1
- package/dist/lib/lswt/args.test.js +0 -195
- package/dist/lib/lswt/args.test.js.map +0 -1
- package/dist/lib/lswt/environment.test.d.ts +0 -2
- package/dist/lib/lswt/environment.test.d.ts.map +0 -1
- package/dist/lib/lswt/environment.test.js +0 -544
- package/dist/lib/lswt/environment.test.js.map +0 -1
- package/dist/lib/lswt/formatters.test.d.ts +0 -2
- package/dist/lib/lswt/formatters.test.d.ts.map +0 -1
- package/dist/lib/lswt/formatters.test.js +0 -323
- package/dist/lib/lswt/formatters.test.js.map +0 -1
- package/dist/lib/lswt/fuzzy-search.test.d.ts +0 -5
- package/dist/lib/lswt/fuzzy-search.test.d.ts.map +0 -1
- package/dist/lib/lswt/fuzzy-search.test.js +0 -207
- package/dist/lib/lswt/fuzzy-search.test.js.map +0 -1
- package/dist/lib/lswt/interactive.test.d.ts +0 -2
- package/dist/lib/lswt/interactive.test.d.ts.map +0 -1
- package/dist/lib/lswt/interactive.test.js +0 -771
- package/dist/lib/lswt/interactive.test.js.map +0 -1
- package/dist/lib/lswt/worktree-info.test.d.ts +0 -2
- package/dist/lib/lswt/worktree-info.test.d.ts.map +0 -1
- package/dist/lib/lswt/worktree-info.test.js +0 -484
- package/dist/lib/lswt/worktree-info.test.js.map +0 -1
- package/dist/lib/newpr/action-deps.test.d.ts +0 -5
- package/dist/lib/newpr/action-deps.test.d.ts.map +0 -1
- package/dist/lib/newpr/action-deps.test.js +0 -111
- package/dist/lib/newpr/action-deps.test.js.map +0 -1
- package/dist/lib/newpr/actions.test.d.ts +0 -2
- package/dist/lib/newpr/actions.test.d.ts.map +0 -1
- package/dist/lib/newpr/actions.test.js +0 -254
- package/dist/lib/newpr/actions.test.js.map +0 -1
- package/dist/lib/newpr/args.test.d.ts +0 -2
- package/dist/lib/newpr/args.test.d.ts.map +0 -1
- package/dist/lib/newpr/args.test.js +0 -479
- package/dist/lib/newpr/args.test.js.map +0 -1
- package/dist/lib/newpr/hook-runner.test.d.ts +0 -7
- package/dist/lib/newpr/hook-runner.test.d.ts.map +0 -1
- package/dist/lib/newpr/hook-runner.test.js +0 -422
- package/dist/lib/newpr/hook-runner.test.js.map +0 -1
- package/dist/lib/newpr/plan-generator.test.d.ts +0 -7
- package/dist/lib/newpr/plan-generator.test.d.ts.map +0 -1
- package/dist/lib/newpr/plan-generator.test.js +0 -387
- package/dist/lib/newpr/plan-generator.test.js.map +0 -1
- package/dist/lib/newpr/scenario-handler.test.d.ts +0 -2
- package/dist/lib/newpr/scenario-handler.test.d.ts.map +0 -1
- package/dist/lib/newpr/scenario-handler.test.js +0 -256
- package/dist/lib/newpr/scenario-handler.test.js.map +0 -1
- package/dist/lib/prompts.test.d.ts +0 -2
- package/dist/lib/prompts.test.d.ts.map +0 -1
- package/dist/lib/prompts.test.js +0 -807
- package/dist/lib/prompts.test.js.map +0 -1
- package/dist/lib/prs/actions.test.d.ts +0 -5
- package/dist/lib/prs/actions.test.d.ts.map +0 -1
- package/dist/lib/prs/actions.test.js +0 -356
- package/dist/lib/prs/actions.test.js.map +0 -1
- package/dist/lib/prs/data.test.d.ts +0 -5
- package/dist/lib/prs/data.test.d.ts.map +0 -1
- package/dist/lib/prs/data.test.js +0 -417
- package/dist/lib/prs/data.test.js.map +0 -1
- package/dist/lib/prs/details.test.d.ts +0 -5
- package/dist/lib/prs/details.test.d.ts.map +0 -1
- package/dist/lib/prs/details.test.js +0 -325
- package/dist/lib/prs/details.test.js.map +0 -1
- package/dist/lib/prs/filters.test.d.ts +0 -5
- package/dist/lib/prs/filters.test.d.ts.map +0 -1
- package/dist/lib/prs/filters.test.js +0 -312
- package/dist/lib/prs/filters.test.js.map +0 -1
- package/dist/lib/prs/formatters.test.d.ts +0 -2
- package/dist/lib/prs/formatters.test.d.ts.map +0 -1
- package/dist/lib/prs/formatters.test.js +0 -387
- package/dist/lib/prs/formatters.test.js.map +0 -1
- package/dist/lib/prs/interactive.test.d.ts +0 -5
- package/dist/lib/prs/interactive.test.d.ts.map +0 -1
- package/dist/lib/prs/interactive.test.js +0 -364
- package/dist/lib/prs/interactive.test.js.map +0 -1
- package/dist/lib/schema.test.d.ts +0 -10
- package/dist/lib/schema.test.d.ts.map +0 -1
- package/dist/lib/schema.test.js +0 -309
- package/dist/lib/schema.test.js.map +0 -1
- package/dist/lib/state-detection.test.d.ts +0 -2
- package/dist/lib/state-detection.test.d.ts.map +0 -1
- package/dist/lib/state-detection.test.js +0 -451
- package/dist/lib/state-detection.test.js.map +0 -1
- package/dist/lib/wtconfig/config-manager.test.d.ts +0 -5
- package/dist/lib/wtconfig/config-manager.test.d.ts.map +0 -1
- package/dist/lib/wtconfig/config-manager.test.js +0 -501
- package/dist/lib/wtconfig/config-manager.test.js.map +0 -1
- package/dist/lib/wtconfig/environment.test.d.ts +0 -5
- package/dist/lib/wtconfig/environment.test.d.ts.map +0 -1
- package/dist/lib/wtconfig/environment.test.js +0 -285
- package/dist/lib/wtconfig/environment.test.js.map +0 -1
- package/dist/lib/wtlink/config-manifest.test.d.ts +0 -2
- package/dist/lib/wtlink/config-manifest.test.d.ts.map +0 -1
- package/dist/lib/wtlink/config-manifest.test.js +0 -486
- package/dist/lib/wtlink/config-manifest.test.js.map +0 -1
- package/dist/lib/wtlink/link-configs.test.d.ts +0 -2
- package/dist/lib/wtlink/link-configs.test.d.ts.map +0 -1
- package/dist/lib/wtlink/link-configs.test.js +0 -612
- package/dist/lib/wtlink/link-configs.test.js.map +0 -1
- package/dist/lib/wtlink/main-menu.test.d.ts +0 -5
- package/dist/lib/wtlink/main-menu.test.d.ts.map +0 -1
- package/dist/lib/wtlink/main-menu.test.js +0 -126
- package/dist/lib/wtlink/main-menu.test.js.map +0 -1
- package/dist/lib/wtlink/manage-manifest.test.d.ts +0 -2
- package/dist/lib/wtlink/manage-manifest.test.d.ts.map +0 -1
- package/dist/lib/wtlink/manage-manifest.test.js +0 -714
- package/dist/lib/wtlink/manage-manifest.test.js.map +0 -1
- package/dist/lib/wtlink/validate-manifest.test.d.ts +0 -2
- package/dist/lib/wtlink/validate-manifest.test.d.ts.map +0 -1
- package/dist/lib/wtlink/validate-manifest.test.js +0 -220
- package/dist/lib/wtlink/validate-manifest.test.js.map +0 -1
- package/dist/lib/wtstate/analyze.test.d.ts +0 -5
- package/dist/lib/wtstate/analyze.test.d.ts.map +0 -1
- package/dist/lib/wtstate/analyze.test.js +0 -282
- package/dist/lib/wtstate/analyze.test.js.map +0 -1
- package/dist/lib/wtstate/args.test.d.ts +0 -5
- package/dist/lib/wtstate/args.test.d.ts.map +0 -1
- package/dist/lib/wtstate/args.test.js +0 -120
- package/dist/lib/wtstate/args.test.js.map +0 -1
- package/dist/mcp/server.test.d.ts +0 -9
- package/dist/mcp/server.test.d.ts.map +0 -1
- package/dist/mcp/server.test.js +0 -439
- package/dist/mcp/server.test.js.map +0 -1
package/dist/cli/wt/clean.js
CHANGED
|
@@ -1,9 +1,341 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* wt clean - Clean up merged/closed PR worktrees
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Direct library call handler - no subprocess spawning.
|
|
5
|
+
* Calls gatherPrWorktreeInfo, cleanWorktree, etc. in-process.
|
|
5
6
|
*/
|
|
6
|
-
import {
|
|
7
|
+
import { execSync } from 'child_process';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
import * as git from '../../lib/git.js';
|
|
10
|
+
import * as github from '../../lib/github.js';
|
|
11
|
+
import * as prompts from '../../lib/prompts.js';
|
|
12
|
+
import { withSpinner } from '../../lib/prompts.js';
|
|
13
|
+
import * as colors from '../../lib/colors.js';
|
|
14
|
+
import { logger } from '../../lib/logger.js';
|
|
15
|
+
import { loadConfig } from '../../lib/config.js';
|
|
16
|
+
import { gatherPrWorktreeInfo, createDefaultDeps, groupWorktreesByState, getCleanableWorktrees, findWorktreeByPrNumber, cleanWorktree, summarizeResults, } from '../../lib/cleanpr/index.js';
|
|
17
|
+
import { createSuccessResult, createErrorResult, formatJsonResult, ErrorCode, } from '../../lib/json-output.js';
|
|
18
|
+
import { printStatus, printHeader, printDim, printNextSteps, printError, setJsonMode, changeIndicator, } from '../../lib/ui/index.js';
|
|
19
|
+
/**
|
|
20
|
+
* Create cleanup dependencies using real git operations
|
|
21
|
+
*/
|
|
22
|
+
function createCleanupDeps(repoRoot) {
|
|
23
|
+
return {
|
|
24
|
+
removeWorktree: (wtPath, force) => {
|
|
25
|
+
git.removeWorktree(wtPath, { force });
|
|
26
|
+
},
|
|
27
|
+
deleteLocalBranch: (branch) => {
|
|
28
|
+
try {
|
|
29
|
+
execSync(`git branch -D "${branch}"`, {
|
|
30
|
+
cwd: repoRoot,
|
|
31
|
+
encoding: 'utf-8',
|
|
32
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
33
|
+
});
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
deleteRemoteBranch: (branch) => {
|
|
41
|
+
try {
|
|
42
|
+
execSync(`git push origin --delete "${branch}"`, {
|
|
43
|
+
cwd: repoRoot,
|
|
44
|
+
encoding: 'utf-8',
|
|
45
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
46
|
+
});
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
pruneWorktrees: () => {
|
|
54
|
+
git.pruneWorktrees();
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Print worktree with status indicator
|
|
60
|
+
*/
|
|
61
|
+
function printWorktree(w) {
|
|
62
|
+
const ci = changeIndicator(w.hasChanges);
|
|
63
|
+
console.log(` PR #${w.prNumber}: ${w.branch}${ci}`);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Convert cleanup result to JSON-friendly format
|
|
67
|
+
*/
|
|
68
|
+
function resultToCleanedInfo(result, worktree) {
|
|
69
|
+
return {
|
|
70
|
+
prNumber: result.prNumber,
|
|
71
|
+
branch: worktree.branch,
|
|
72
|
+
path: worktree.path,
|
|
73
|
+
prState: worktree.prState,
|
|
74
|
+
localBranchDeleted: result.localBranchDeleted,
|
|
75
|
+
remoteBranchDeleted: result.remoteBranchDeleted,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Output JSON result for cleanup operation
|
|
80
|
+
*/
|
|
81
|
+
function outputJsonResult(results, worktrees, dryRun) {
|
|
82
|
+
const worktreeMap = new Map(worktrees.map((w) => [w.prNumber, w]));
|
|
83
|
+
if (dryRun) {
|
|
84
|
+
const wouldCleanCount = results.filter((r) => r.success).length;
|
|
85
|
+
const data = {
|
|
86
|
+
wouldClean: results
|
|
87
|
+
.filter((r) => r.success)
|
|
88
|
+
.map((r) => {
|
|
89
|
+
const w = worktreeMap.get(r.prNumber);
|
|
90
|
+
return {
|
|
91
|
+
prNumber: r.prNumber,
|
|
92
|
+
branch: w.branch,
|
|
93
|
+
path: w.path,
|
|
94
|
+
prState: w.prState,
|
|
95
|
+
};
|
|
96
|
+
}),
|
|
97
|
+
totalWouldClean: wouldCleanCount,
|
|
98
|
+
message: wouldCleanCount === 0
|
|
99
|
+
? 'No PR worktrees would be cleaned.'
|
|
100
|
+
: `Would clean ${wouldCleanCount} PR worktree${wouldCleanCount === 1 ? '' : 's'}.`,
|
|
101
|
+
};
|
|
102
|
+
console.log(formatJsonResult(createSuccessResult('cleanpr', data)));
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
const cleaned = [];
|
|
106
|
+
const skipped = [];
|
|
107
|
+
for (const result of results) {
|
|
108
|
+
const w = worktreeMap.get(result.prNumber);
|
|
109
|
+
if (!w)
|
|
110
|
+
continue;
|
|
111
|
+
if (result.success) {
|
|
112
|
+
cleaned.push(resultToCleanedInfo(result, w));
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
skipped.push({ prNumber: result.prNumber, reason: result.message });
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const data = {
|
|
119
|
+
cleaned,
|
|
120
|
+
skipped,
|
|
121
|
+
totalCleaned: cleaned.length,
|
|
122
|
+
totalSkipped: skipped.length,
|
|
123
|
+
message: cleaned.length === 0 && skipped.length === 0
|
|
124
|
+
? 'No PR worktrees were cleaned.'
|
|
125
|
+
: `Cleaned ${cleaned.length} PR worktree${cleaned.length === 1 ? '' : 's'}${skipped.length > 0 ? `, skipped ${skipped.length}` : ''}.`,
|
|
126
|
+
};
|
|
127
|
+
console.log(formatJsonResult(createSuccessResult('cleanpr', data)));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Output JSON error
|
|
132
|
+
*/
|
|
133
|
+
function outputJsonError(code, message) {
|
|
134
|
+
console.log(formatJsonResult(createErrorResult('cleanpr', code, message)));
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Interactive mode - let user select worktrees to clean
|
|
138
|
+
*/
|
|
139
|
+
async function interactiveClean(worktrees, repoRoot, options) {
|
|
140
|
+
if (worktrees.length === 0) {
|
|
141
|
+
printStatus('info', 'No PR worktrees found.');
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const groups = groupWorktreesByState(worktrees);
|
|
145
|
+
printHeader('PR Worktrees:');
|
|
146
|
+
if (groups.merged.length > 0) {
|
|
147
|
+
console.log(colors.yellow(` Merged (${groups.merged.length}):`));
|
|
148
|
+
groups.merged.forEach(printWorktree);
|
|
149
|
+
}
|
|
150
|
+
if (groups.closed.length > 0) {
|
|
151
|
+
console.log(colors.red(` Closed (${groups.closed.length}):`));
|
|
152
|
+
groups.closed.forEach(printWorktree);
|
|
153
|
+
}
|
|
154
|
+
if (groups.open.length > 0) {
|
|
155
|
+
console.log(colors.green(` Open (${groups.open.length}):`));
|
|
156
|
+
groups.open.forEach(printWorktree);
|
|
157
|
+
}
|
|
158
|
+
if (groups.unknown.length > 0) {
|
|
159
|
+
console.log(colors.dim(` Unknown (${groups.unknown.length}):`));
|
|
160
|
+
groups.unknown.forEach(printWorktree);
|
|
161
|
+
}
|
|
162
|
+
console.log('');
|
|
163
|
+
const cleanable = getCleanableWorktrees(worktrees);
|
|
164
|
+
if (cleanable.length === 0) {
|
|
165
|
+
printStatus('info', 'No merged or closed PRs to clean up.');
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
const choices = [
|
|
169
|
+
{ label: `Clean all merged/closed (${cleanable.length})`, value: 'all' },
|
|
170
|
+
];
|
|
171
|
+
if (groups.merged.length > 0) {
|
|
172
|
+
choices.push({ label: `Clean merged only (${groups.merged.length})`, value: 'merged' });
|
|
173
|
+
}
|
|
174
|
+
choices.push({ label: 'Select individually', value: 'select' });
|
|
175
|
+
choices.push({ label: 'Cancel', value: 'cancel' });
|
|
176
|
+
const action = await prompts.promptChoice('What would you like to clean?', choices);
|
|
177
|
+
if (action === 'cancel') {
|
|
178
|
+
printStatus('info', 'Cancelled.');
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
let toClean = [];
|
|
182
|
+
if (action === 'all') {
|
|
183
|
+
toClean = cleanable;
|
|
184
|
+
}
|
|
185
|
+
else if (action === 'merged') {
|
|
186
|
+
toClean = groups.merged;
|
|
187
|
+
}
|
|
188
|
+
else if (action === 'select') {
|
|
189
|
+
for (const w of cleanable) {
|
|
190
|
+
const stateLabel = w.prState.toLowerCase();
|
|
191
|
+
const changesLabel = w.hasChanges ? ' [has changes]' : '';
|
|
192
|
+
const confirm = await prompts.promptConfirm(`Clean PR #${w.prNumber} (${stateLabel})${changesLabel}?`);
|
|
193
|
+
if (confirm) {
|
|
194
|
+
toClean.push(w);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
if (toClean.length === 0) {
|
|
199
|
+
printStatus('info', 'Nothing to clean.');
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
// Ask about remote deletion
|
|
203
|
+
if (!options.deleteRemote) {
|
|
204
|
+
options.deleteRemote = await prompts.promptConfirm('Also delete remote branches?');
|
|
205
|
+
}
|
|
206
|
+
console.log('');
|
|
207
|
+
const deps = createCleanupDeps(repoRoot);
|
|
208
|
+
const results = toClean.map((w) => {
|
|
209
|
+
const result = cleanWorktree(w, options, deps);
|
|
210
|
+
if (result.success) {
|
|
211
|
+
printStatus('success', result.message);
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
printStatus('warning', result.message);
|
|
215
|
+
}
|
|
216
|
+
return result;
|
|
217
|
+
});
|
|
218
|
+
const summary = summarizeResults(results);
|
|
219
|
+
console.log('');
|
|
220
|
+
printStatus('success', `Cleaned ${summary.cleaned} of ${summary.total} worktrees.`);
|
|
221
|
+
if (summary.cleaned > 0) {
|
|
222
|
+
printNextSteps([
|
|
223
|
+
{ command: 'wt list', description: 'List remaining worktrees' },
|
|
224
|
+
{ command: 'wt new "feature description"', description: 'Create a new PR' },
|
|
225
|
+
]);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Clean all merged/closed PRs automatically
|
|
230
|
+
*/
|
|
231
|
+
async function cleanAll(worktrees, repoRoot, options) {
|
|
232
|
+
const cleanable = getCleanableWorktrees(worktrees);
|
|
233
|
+
if (cleanable.length === 0) {
|
|
234
|
+
if (options.json) {
|
|
235
|
+
const data = {
|
|
236
|
+
cleaned: [],
|
|
237
|
+
skipped: [],
|
|
238
|
+
totalCleaned: 0,
|
|
239
|
+
totalSkipped: 0,
|
|
240
|
+
message: 'No merged or closed PR worktrees to clean.',
|
|
241
|
+
};
|
|
242
|
+
console.log(formatJsonResult(createSuccessResult('cleanpr', data)));
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
printStatus('info', 'No merged or closed PR worktrees to clean.');
|
|
246
|
+
}
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
if (!options.json) {
|
|
250
|
+
printStatus('info', `Found ${cleanable.length} merged/closed PR worktrees.`);
|
|
251
|
+
console.log('');
|
|
252
|
+
}
|
|
253
|
+
const deps = createCleanupDeps(repoRoot);
|
|
254
|
+
const results = cleanable.map((w) => {
|
|
255
|
+
const result = cleanWorktree(w, options, deps);
|
|
256
|
+
if (!options.json) {
|
|
257
|
+
if (result.success) {
|
|
258
|
+
printStatus('success', result.message);
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
printStatus('warning', result.message);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
return result;
|
|
265
|
+
});
|
|
266
|
+
if (options.json) {
|
|
267
|
+
outputJsonResult(results, cleanable, options.dryRun);
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
const summary = summarizeResults(results);
|
|
271
|
+
console.log('');
|
|
272
|
+
if (options.dryRun) {
|
|
273
|
+
printStatus('info', `Would clean ${summary.cleaned} of ${summary.total} worktrees.`);
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
printStatus('success', `Cleaned ${summary.cleaned} of ${summary.total} worktrees.`);
|
|
277
|
+
if (summary.cleaned > 0) {
|
|
278
|
+
printNextSteps([
|
|
279
|
+
{ command: 'wt list', description: 'List remaining worktrees' },
|
|
280
|
+
{ command: 'wt new "feature description"', description: 'Create a new PR' },
|
|
281
|
+
]);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Clean a specific PR worktree
|
|
288
|
+
*/
|
|
289
|
+
async function cleanSpecific(prNumber, worktrees, repoRoot, config, options) {
|
|
290
|
+
const target = findWorktreeByPrNumber(worktrees, prNumber);
|
|
291
|
+
if (!target) {
|
|
292
|
+
const pattern = config.worktreePattern
|
|
293
|
+
.replace('{repo}', path.basename(repoRoot))
|
|
294
|
+
.replace('{number}', String(prNumber));
|
|
295
|
+
const expectedPath = path.join(path.dirname(repoRoot), pattern);
|
|
296
|
+
if (options.json) {
|
|
297
|
+
outputJsonError(ErrorCode.PR_NOT_FOUND, `No worktree found for PR #${prNumber}`);
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
printError({
|
|
301
|
+
title: `No worktree found for PR #${prNumber}`,
|
|
302
|
+
detail: `Expected at: ${expectedPath}`,
|
|
303
|
+
hint: 'Run "wt list" to see available worktrees.',
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
process.exit(1);
|
|
307
|
+
}
|
|
308
|
+
if (!options.json) {
|
|
309
|
+
printStatus('info', `Cleaning PR #${prNumber} worktree...`);
|
|
310
|
+
printDim(` Path: ${target.path}`);
|
|
311
|
+
printDim(` Branch: ${target.branch}`);
|
|
312
|
+
printDim(` State: ${target.prState}`);
|
|
313
|
+
console.log('');
|
|
314
|
+
}
|
|
315
|
+
const deps = createCleanupDeps(repoRoot);
|
|
316
|
+
const result = cleanWorktree(target, options, deps);
|
|
317
|
+
if (options.json) {
|
|
318
|
+
outputJsonResult([result], [target], options.dryRun);
|
|
319
|
+
}
|
|
320
|
+
else if (result.success) {
|
|
321
|
+
console.log('');
|
|
322
|
+
if (options.dryRun) {
|
|
323
|
+
printStatus('info', result.message);
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
printStatus('success', `PR #${prNumber} worktree cleaned up successfully.`);
|
|
327
|
+
printNextSteps([
|
|
328
|
+
{ command: 'wt list', description: 'List remaining worktrees' },
|
|
329
|
+
{ command: 'wt clean --all', description: 'Clean all merged/closed PRs' },
|
|
330
|
+
{ command: 'wt new "feature description"', description: 'Create a new PR' },
|
|
331
|
+
]);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
printStatus('warning', result.message);
|
|
336
|
+
process.exit(1);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
7
339
|
export const cleanCommand = {
|
|
8
340
|
command: ['clean [pr-number]', 'c'],
|
|
9
341
|
describe: 'Clean up merged/closed PR worktrees',
|
|
@@ -31,10 +363,10 @@ export const cleanCommand = {
|
|
|
31
363
|
description: 'Force cleanup even with uncommitted changes',
|
|
32
364
|
default: false,
|
|
33
365
|
})
|
|
34
|
-
.option('remote', {
|
|
366
|
+
.option('delete-remote', {
|
|
35
367
|
alias: 'r',
|
|
36
368
|
type: 'boolean',
|
|
37
|
-
description: '
|
|
369
|
+
description: 'Delete remote branches after cleaning worktree',
|
|
38
370
|
default: false,
|
|
39
371
|
})
|
|
40
372
|
.option('json', {
|
|
@@ -45,30 +377,79 @@ export const cleanCommand = {
|
|
|
45
377
|
.example('$0 clean', 'Interactive cleanup')
|
|
46
378
|
.example('$0 c --all', 'Clean all merged/closed PRs')
|
|
47
379
|
.example('$0 clean 42', 'Clean worktree for PR #42')
|
|
48
|
-
.example('$0 clean 42 --remote', 'Also delete remote branch')
|
|
380
|
+
.example('$0 clean 42 --delete-remote', 'Also delete remote branch')
|
|
49
381
|
.example('$0 clean --dry-run', 'Preview what would be cleaned');
|
|
50
382
|
},
|
|
51
|
-
handler: (argv) => {
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
383
|
+
handler: async (argv) => {
|
|
384
|
+
const options = {
|
|
385
|
+
all: !!argv.all,
|
|
386
|
+
dryRun: !!argv['dry-run'],
|
|
387
|
+
force: !!argv.force,
|
|
388
|
+
deleteRemote: !!argv['delete-remote'],
|
|
389
|
+
json: !!argv.json,
|
|
390
|
+
interactive: !argv.all && argv.prNumber === undefined,
|
|
391
|
+
verbose: !!argv.verbose,
|
|
392
|
+
quiet: !!argv.quiet,
|
|
393
|
+
noColor: !!argv.noColor,
|
|
394
|
+
};
|
|
395
|
+
setJsonMode(options.json);
|
|
396
|
+
// Check prerequisites
|
|
397
|
+
if (!github.isGhInstalled()) {
|
|
398
|
+
if (options.json) {
|
|
399
|
+
outputJsonError(ErrorCode.GH_NOT_INSTALLED, 'GitHub CLI (gh) is required for PR status checking');
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
printError({
|
|
403
|
+
title: 'GitHub CLI (gh) is required for PR status checking.',
|
|
404
|
+
hint: 'Install: https://cli.github.com/',
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
process.exit(1);
|
|
55
408
|
}
|
|
56
|
-
|
|
57
|
-
|
|
409
|
+
// Find repo root
|
|
410
|
+
const repoRoot = git.getRepoRoot();
|
|
411
|
+
if (!repoRoot) {
|
|
412
|
+
if (options.json) {
|
|
413
|
+
outputJsonError(ErrorCode.NOT_GIT_REPO, 'Not in a git repository');
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
printError({
|
|
417
|
+
title: 'Not in a git repository.',
|
|
418
|
+
hint: 'Run this command from within a git repository.',
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
process.exit(1);
|
|
58
422
|
}
|
|
59
|
-
|
|
60
|
-
|
|
423
|
+
// Load configuration
|
|
424
|
+
const config = loadConfig(repoRoot);
|
|
425
|
+
logger.debug('Scanning worktrees', { repoRoot, pattern: config.worktreePattern });
|
|
426
|
+
// Gather worktree info
|
|
427
|
+
const gatherDeps = createDefaultDeps();
|
|
428
|
+
let worktrees;
|
|
429
|
+
if (options.json) {
|
|
430
|
+
worktrees = await gatherPrWorktreeInfo(repoRoot, config.worktreePattern, gatherDeps);
|
|
61
431
|
}
|
|
62
|
-
|
|
63
|
-
|
|
432
|
+
else {
|
|
433
|
+
console.log('');
|
|
434
|
+
worktrees = await withSpinner('Scanning worktrees...', async () => {
|
|
435
|
+
return await gatherPrWorktreeInfo(repoRoot, config.worktreePattern, gatherDeps);
|
|
436
|
+
});
|
|
437
|
+
}
|
|
438
|
+
logger.debug('Found worktrees', { count: worktrees.length });
|
|
439
|
+
if (argv.prNumber !== undefined) {
|
|
440
|
+
await cleanSpecific(argv.prNumber, worktrees, repoRoot, config, options);
|
|
64
441
|
}
|
|
65
|
-
if (
|
|
66
|
-
|
|
442
|
+
else if (options.all) {
|
|
443
|
+
await cleanAll(worktrees, repoRoot, options);
|
|
67
444
|
}
|
|
68
|
-
|
|
69
|
-
|
|
445
|
+
else {
|
|
446
|
+
// Interactive mode with JSON not supported
|
|
447
|
+
if (options.json) {
|
|
448
|
+
outputJsonError(ErrorCode.INVALID_ARGUMENT, 'Interactive mode not supported with --json. Use --all or specify a PR number.');
|
|
449
|
+
process.exit(1);
|
|
450
|
+
}
|
|
451
|
+
await interactiveClean(worktrees, repoRoot, options);
|
|
70
452
|
}
|
|
71
|
-
runSubcommand('cleanpr', args);
|
|
72
453
|
},
|
|
73
454
|
};
|
|
74
455
|
//# sourceMappingURL=clean.js.map
|
package/dist/cli/wt/clean.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clean.js","sourceRoot":"","sources":["../../../src/cli/wt/clean.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAWjD,MAAM,CAAC,MAAM,YAAY,GAAqC;IAC5D,OAAO,EAAE,CAAC,mBAAmB,EAAE,GAAG,CAAC;IACnC,QAAQ,EAAE,qCAAqC;IAC/C,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACjB,OAAO,KAAK;aACT,UAAU,CAAC,WAAW,EAAE;YACvB,QAAQ,EAAE,6BAA6B;YACvC,IAAI,EAAE,QAAQ;SACf,CAAC;aACD,MAAM,CAAC,KAAK,EAAE;YACb,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,qDAAqD;YAClE,OAAO,EAAE,KAAK;SACf,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,mDAAmD;YAChE,OAAO,EAAE,KAAK;SACf,CAAC;aACD,MAAM,CAAC,OAAO,EAAE;YACf,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,6CAA6C;YAC1D,OAAO,EAAE,KAAK;SACf,CAAC;aACD,MAAM,CAAC,QAAQ,EAAE;YAChB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,+BAA+B;YAC5C,OAAO,EAAE,KAAK;SACf,CAAC;aACD,MAAM,CAAC,MAAM,EAAE;YACd,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,uBAAuB;YACpC,OAAO,EAAE,KAAK;SACf,CAAC;aACD,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC;aAC1C,OAAO,CAAC,YAAY,EAAE,6BAA6B,CAAC;aACpD,OAAO,CAAC,aAAa,EAAE,2BAA2B,CAAC;aACnD,OAAO,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;aAC5D,OAAO,CAAC,oBAAoB,EAAE,+BAA+B,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;QAED,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"clean.js","sourceRoot":"","sources":["../../../src/cli/wt/clean.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,9 @@ import type { CommandModule } from 'yargs';
|
|
|
7
7
|
interface CompletionArgs {
|
|
8
8
|
shell?: string;
|
|
9
9
|
}
|
|
10
|
+
export declare const BASH_COMPLETION = "###-begin-wt-completions-###\n#\n# wt bash completion script\n#\n# Installation:\n# wt completion bash >> ~/.bashrc\n# source ~/.bashrc\n#\n_wt_yargs_completions()\n{\n local cur_word args type_list\n\n cur_word=\"${COMP_WORDS[COMP_CWORD]}\"\n args=(\"${COMP_WORDS[@]}\")\n\n # ask yargs to generate completions\n type_list=$(wt --get-yargs-completions \"${args[@]}\")\n\n COMPREPLY=( $(compgen -W \"${type_list}\" -- ${cur_word}) )\n\n # if no match was found, fall back to filename completion\n if [ ${#COMPREPLY[@]} -eq 0 ]; then\n COMPREPLY=()\n fi\n\n return 0\n}\ncomplete -o bashdefault -o default -F _wt_yargs_completions wt\n###-end-wt-completions-###";
|
|
11
|
+
export declare const ZSH_COMPLETION = "#compdef wt\n###-begin-wt-completions-###\n#\n# wt zsh completion script\n#\n# Installation:\n# wt completion zsh > ~/.zsh/completions/_wt\n# # Add to .zshrc: fpath=(~/.zsh/completions $fpath)\n# autoload -Uz compinit && compinit\n#\n\n_wt() {\n local -a commands\n commands=(\n 'new:Create a new PR with a dedicated worktree'\n 'n:Create a new PR with a dedicated worktree'\n 'list:List worktrees with PR status'\n 'ls:List worktrees with PR status'\n 'clean:Clean up merged/closed PR worktrees'\n 'c:Clean up merged/closed PR worktrees'\n 'link:Manage gitignored files via hard links'\n 'l:Manage gitignored files via hard links'\n 'state:Query git worktree state'\n 's:Query git worktree state'\n 'config:Configuration management'\n 'cfg:Configuration management'\n 'prs:Browse repository pull requests'\n 'init:Initialize configuration'\n 'completion:Generate shell completion scripts'\n )\n\n _arguments -C \\\n '1: :->command' \\\n '*::arg:->args'\n\n case \"$state\" in\n command)\n _describe -t commands 'wt command' commands\n ;;\n args)\n case $words[1] in\n new|n)\n _arguments \\\n '1:description:' \\\n '--pr[Existing PR number]:number:' \\\n '--draft[Create as draft PR]' \\\n '--json[Output result as JSON]' \\\n '--non-interactive[Run without prompts]' \\\n '--action[Action to take]:action:(empty_commit commit_staged commit_all stash_and_empty use_commits push_then_branch use_commits_and_commit_all use_commits_and_stash create_pr_for_branch pr_for_branch_commit_all pr_for_branch_stash branch_from_detached)' \\\n '--no-wtlink[Skip wtlink config sync]' \\\n '--no-hooks[Disable lifecycle hooks]' \\\n '--confirm-hooks[Prompt before running hooks]' \\\n '--plan[Generate AI plan document]' \\\n '--no-plan[Skip plan generation]' \\\n '--ready[Create PR as ready for review]' \\\n '--install[Install dependencies after setup]' \\\n '--code[Open editor to the new worktree]' \\\n '--base[Base branch for PR]:branch:'\n ;;\n list|ls)\n _arguments \\\n '--verbose[Show full paths and commit hashes]' \\\n '--json[Output as JSON]' \\\n '--no-status[Skip GitHub PR status lookup]' \\\n '--no-interactive[Disable interactive mode]' \\\n '--filter[Filter worktrees by type]:filter:(pr main feature)' \\\n '--refresh[Force refresh PR status from GitHub]'\n ;;\n clean|c)\n _arguments \\\n '1:pr-number:' \\\n '--all[Clean all merged/closed worktrees]' \\\n '--dry-run[Show what would be cleaned]' \\\n '--force[Force cleanup even with uncommitted changes]' \\\n '--delete-remote[Delete remote branches after cleaning]' \\\n '--json[Output result as JSON]'\n ;;\n link|l)\n _arguments \\\n '1:command:(link manage validate)' \\\n '--help[Show help]'\n ;;\n state|s)\n _arguments \\\n '--json[Output as JSON]' \\\n '--verbose[Show detailed state information]' \\\n '--base-branch[Base branch to compare against]:branch:' \\\n '--quiet[Only output state name]'\n ;;\n config|cfg)\n _arguments \\\n '1:command:(interactive init show set get edit validate migrate schema)' \\\n '--json[Output as JSON]' \\\n '--help[Show help]'\n ;;\n prs)\n _arguments \\\n '--state[Filter by PR state]:state:(open closed merged all)' \\\n '--author[Filter by author]:author:' \\\n '--label[Filter by label]:label:' \\\n '--draft[Show only draft PRs]' \\\n '--no-draft[Exclude draft PRs]' \\\n '--with-worktree[Show only PRs with local worktrees]' \\\n '--limit[Maximum PRs to fetch]:number:' \\\n '--json[Output as JSON]' \\\n '--no-interactive[Disable interactive mode]' \\\n '--refresh[Force refresh from GitHub]'\n ;;\n init)\n _arguments \\\n '--local[Create local config]' \\\n '--global[Create global config]' \\\n '--force[Overwrite existing config]'\n ;;\n completion)\n _arguments \\\n '1:shell:(bash zsh fish)'\n ;;\n esac\n ;;\n esac\n}\n\n_wt \"$@\"\n###-end-wt-completions-###";
|
|
12
|
+
export declare const FISH_COMPLETION = "# wt fish completion script\n#\n# Installation:\n# wt completion fish > ~/.config/fish/completions/wt.fish\n#\n\n# Disable file completions for the wt command\ncomplete -c wt -f\n\n# Main commands\ncomplete -c wt -n '__fish_use_subcommand' -a 'new' -d 'Create a new PR with a dedicated worktree'\ncomplete -c wt -n '__fish_use_subcommand' -a 'n' -d 'Create a new PR (alias)'\ncomplete -c wt -n '__fish_use_subcommand' -a 'list' -d 'List worktrees with PR status'\ncomplete -c wt -n '__fish_use_subcommand' -a 'ls' -d 'List worktrees (alias)'\ncomplete -c wt -n '__fish_use_subcommand' -a 'clean' -d 'Clean up merged/closed PR worktrees'\ncomplete -c wt -n '__fish_use_subcommand' -a 'c' -d 'Clean worktrees (alias)'\ncomplete -c wt -n '__fish_use_subcommand' -a 'link' -d 'Manage gitignored files via hard links'\ncomplete -c wt -n '__fish_use_subcommand' -a 'l' -d 'Link files (alias)'\ncomplete -c wt -n '__fish_use_subcommand' -a 'state' -d 'Query git worktree state'\ncomplete -c wt -n '__fish_use_subcommand' -a 's' -d 'Query state (alias)'\ncomplete -c wt -n '__fish_use_subcommand' -a 'config' -d 'Configuration management'\ncomplete -c wt -n '__fish_use_subcommand' -a 'cfg' -d 'Config (alias)'\ncomplete -c wt -n '__fish_use_subcommand' -a 'prs' -d 'Browse repository pull requests'\ncomplete -c wt -n '__fish_use_subcommand' -a 'init' -d 'Initialize configuration'\ncomplete -c wt -n '__fish_use_subcommand' -a 'completion' -d 'Generate shell completion scripts'\n\n# new/n options\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l pr -s p -d 'Existing PR number' -r\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l branch -s B -d 'Create PR for existing branch' -r\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l base -s b -d 'Base branch for PR' -r\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l draft -s d -d 'Create as draft PR'\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l ready -s r -d 'Create PR as ready for review'\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l install -s i -d 'Install dependencies after setup'\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l code -s c -d 'Open editor to the new worktree'\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l no-wtlink -d 'Skip wtlink config sync'\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l no-hooks -d 'Disable lifecycle hooks'\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l confirm-hooks -d 'Prompt before running hooks'\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l plan -d 'Generate AI plan document'\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l no-plan -d 'Skip plan generation'\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l json -d 'Output result as JSON'\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l non-interactive -s n -d 'Run without prompts'\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l yes -s y -d 'Run without prompts'\ncomplete -c wt -n '__fish_seen_subcommand_from new n' -l action -s a -d 'Action to take' -ra 'empty_commit commit_staged commit_all stash_and_empty use_commits push_then_branch use_commits_and_commit_all use_commits_and_stash create_pr_for_branch pr_for_branch_commit_all pr_for_branch_stash branch_from_detached'\n\n# list/ls options\ncomplete -c wt -n '__fish_seen_subcommand_from list ls' -l verbose -s v -d 'Show full paths'\ncomplete -c wt -n '__fish_seen_subcommand_from list ls' -l json -d 'Output as JSON'\ncomplete -c wt -n '__fish_seen_subcommand_from list ls' -l no-status -s s -d 'Skip GitHub PR status'\ncomplete -c wt -n '__fish_seen_subcommand_from list ls' -l no-interactive -s n -d 'Disable interactive mode'\ncomplete -c wt -n '__fish_seen_subcommand_from list ls' -l filter -s f -d 'Filter by type' -ra 'pr main feature'\ncomplete -c wt -n '__fish_seen_subcommand_from list ls' -l refresh -d 'Force refresh PR status from GitHub'\n\n# clean/c options\ncomplete -c wt -n '__fish_seen_subcommand_from clean c' -l all -s a -d 'Clean all merged/closed'\ncomplete -c wt -n '__fish_seen_subcommand_from clean c' -l dry-run -s d -d 'Preview only'\ncomplete -c wt -n '__fish_seen_subcommand_from clean c' -l force -s f -d 'Force cleanup'\ncomplete -c wt -n '__fish_seen_subcommand_from clean c' -l delete-remote -s r -d 'Delete remote branches'\ncomplete -c wt -n '__fish_seen_subcommand_from clean c' -l json -d 'Output as JSON'\n\n# prs options\ncomplete -c wt -n '__fish_seen_subcommand_from prs' -l state -s s -d 'Filter by PR state' -ra 'open closed merged all'\ncomplete -c wt -n '__fish_seen_subcommand_from prs' -l author -s a -d 'Filter by author' -r\ncomplete -c wt -n '__fish_seen_subcommand_from prs' -l label -s l -d 'Filter by label' -r\ncomplete -c wt -n '__fish_seen_subcommand_from prs' -l draft -d 'Show only draft PRs'\ncomplete -c wt -n '__fish_seen_subcommand_from prs' -l no-draft -d 'Exclude draft PRs'\ncomplete -c wt -n '__fish_seen_subcommand_from prs' -l with-worktree -d 'Only PRs with local worktrees'\ncomplete -c wt -n '__fish_seen_subcommand_from prs' -l limit -s n -d 'Maximum PRs to fetch' -r\ncomplete -c wt -n '__fish_seen_subcommand_from prs' -l json -s j -d 'Output as JSON'\ncomplete -c wt -n '__fish_seen_subcommand_from prs' -l no-interactive -d 'Disable interactive mode'\ncomplete -c wt -n '__fish_seen_subcommand_from prs' -l refresh -s r -d 'Force refresh from GitHub'\n\n# init options\ncomplete -c wt -n '__fish_seen_subcommand_from init' -l local -s l -d 'Create local config'\ncomplete -c wt -n '__fish_seen_subcommand_from init' -l global -s g -d 'Create global config'\ncomplete -c wt -n '__fish_seen_subcommand_from init' -l force -s f -d 'Overwrite existing config'\n\n# link/l subcommands\ncomplete -c wt -n '__fish_seen_subcommand_from link l' -a 'link' -d 'Create hard links'\ncomplete -c wt -n '__fish_seen_subcommand_from link l' -a 'manage' -d 'Manage manifest'\ncomplete -c wt -n '__fish_seen_subcommand_from link l' -a 'validate' -d 'Validate manifest'\n\n# state/s options\ncomplete -c wt -n '__fish_seen_subcommand_from state s' -l json -d 'Output as JSON'\ncomplete -c wt -n '__fish_seen_subcommand_from state s' -l verbose -s v -d 'Show detailed state'\ncomplete -c wt -n '__fish_seen_subcommand_from state s' -l base-branch -s b -d 'Base branch to compare against' -r\ncomplete -c wt -n '__fish_seen_subcommand_from state s' -l quiet -s q -d 'Only output state name'\n\n# config/cfg subcommands\ncomplete -c wt -n '__fish_seen_subcommand_from config cfg' -a 'show' -d 'Show config'\ncomplete -c wt -n '__fish_seen_subcommand_from config cfg' -a 'init' -d 'Initialize config'\ncomplete -c wt -n '__fish_seen_subcommand_from config cfg' -a 'set' -d 'Set config value'\ncomplete -c wt -n '__fish_seen_subcommand_from config cfg' -a 'get' -d 'Get config value'\ncomplete -c wt -n '__fish_seen_subcommand_from config cfg' -a 'edit' -d 'Edit config'\ncomplete -c wt -n '__fish_seen_subcommand_from config cfg' -a 'validate' -d 'Validate config'\ncomplete -c wt -n '__fish_seen_subcommand_from config cfg' -a 'migrate' -d 'Migrate legacy config'\n\n# completion shells\ncomplete -c wt -n '__fish_seen_subcommand_from completion' -a 'bash' -d 'Bash completion'\ncomplete -c wt -n '__fish_seen_subcommand_from completion' -a 'zsh' -d 'Zsh completion'\ncomplete -c wt -n '__fish_seen_subcommand_from completion' -a 'fish' -d 'Fish completion'\n";
|
|
10
13
|
export declare const completionCommand: CommandModule<object, CompletionArgs>;
|
|
11
14
|
export {};
|
|
12
15
|
//# sourceMappingURL=completion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../src/cli/wt/completion.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../src/cli/wt/completion.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,eAAe,gsBA4BD,CAAC;AAE5B,eAAO,MAAM,cAAc,6iJA4HA,CAAC;AAE5B,eAAO,MAAM,eAAe,4tOAoG3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,MAAM,EAAE,cAAc,CA2DnE,CAAC"}
|