worktree-add 1.3.12 → 2.0.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 CHANGED
@@ -24,7 +24,7 @@ Running `worktree-add <branch>` from inside a repo:
24
24
  8. Detects your package manager and installs dependencies with lockfile‑safe flags
25
25
  (`npm ci`, `pnpm install --frozen-lockfile`, `yarn install --immutable`, etc.).
26
26
  9. If the project uses Next.js and supports it, runs `next typegen`.
27
- 10. Opens the new worktree in your requested apps (if any).
27
+ 10. Opens the new worktree if you passed `--app` or `--open`.
28
28
 
29
29
  Your original checkout is left untouched.
30
30
 
@@ -72,6 +72,7 @@ Common options:
72
72
 
73
73
  ```text
74
74
  -a, --app <name> Open the worktree in an app (repeatable)
75
+ -o, --open Open the worktree after creating it
75
76
  --offline Create from HEAD when origin can't be reached
76
77
  -y, --yes Skip confirmation and replace existing destination
77
78
  --interactive Allow confirmation prompts (requires a TTY)
@@ -111,10 +112,13 @@ App names are executed on your machine, so only use values you trust. Validation
111
112
  Arguments are not parsed: values like `code -w` are treated as part of the app name and will likely fail.
112
113
 
113
114
  1. `--app <name>` flag (repeatable): `worktree-add feature/foo --app ghostty --app code`
114
- 2. `WORKTREE_ADD_APP` env var (comma-separated): `WORKTREE_ADD_APP=ghostty,code worktree-add feature/foo`
115
+ 2. `-o, --open`: `worktree-add feature/foo --open`
116
+ 3. `WORKTREE_ADD_APP` env var (comma-separated): the app list used by `--open`
115
117
 
116
- CLI flags take priority over the env var.
117
- To explicitly open nothing even when `WORKTREE_ADD_APP` is set, pass `--app ""`.
118
+ `--app` takes priority over `--open` / `WORKTREE_ADD_APP`.
119
+ `WORKTREE_ADD_APP` does not open anything on its own; pass `--open` to use it.
120
+ If `--open` is set and no apps are configured, the destination is opened with the OS default handler.
121
+ To explicitly open nothing even when `--open` is set, pass `--app ""`.
118
122
  Whitespace-only values like `--app " "` are treated as absent and do not override `WORKTREE_ADD_APP`.
119
123
 
120
124
  If launching an app fails to start, the worktree still stays created and ready.
@@ -123,10 +127,12 @@ Platform note: on macOS the app value is passed to `open -a`, so use an applicat
123
127
 
124
128
  Terminal-based editors (vim/nvim/nano) are not supported via `--app` — apps are launched detached from the current terminal.
125
129
 
126
- Tip: add a shell helper with your preferred apps in your shell profile:
130
+ Tip: set default apps for `--open` in your shell profile, then pass `-o` when you want them:
127
131
 
128
132
  ```bash
129
133
  worktree-add() { WORKTREE_ADD_APP=ghostty,code command worktree-add "$@" }
134
+ # worktree-add feature/foo # create only
135
+ # worktree-add feature/foo -o # create and open in Ghostty + VS Code
130
136
  ```
131
137
 
132
138
  Add it to your shell profile:
@@ -0,0 +1,16 @@
1
+ interface ResolveOpenTargetInput {
2
+ optionApps: string[] | undefined;
3
+ environmentApps: string | undefined;
4
+ open: boolean;
5
+ }
6
+ export type OpenTarget = {
7
+ type: "none";
8
+ } | {
9
+ type: "default";
10
+ } | {
11
+ type: "apps";
12
+ apps: string[];
13
+ };
14
+ export declare function resolveOpenTarget({ optionApps, environmentApps, open, }: ResolveOpenTargetInput): OpenTarget;
15
+ export {};
16
+ //# sourceMappingURL=resolve-open-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-open-target.d.ts","sourceRoot":"","sources":["../../src/app/resolve-open-target.ts"],"names":[],"mappings":"AAAA,UAAU,sBAAsB;IAC9B,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAwBnG,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,eAAe,EACf,IAAI,GACL,EAAE,sBAAsB,GAAG,UAAU,CA2BrC"}
@@ -10,24 +10,33 @@ function dedupePreserveOrder(apps) {
10
10
  }
11
11
  return deduped;
12
12
  }
13
- export function resolveApps({ optionApps, environmentApps }) {
13
+ function parseAppList(value) {
14
+ return dedupePreserveOrder(value
15
+ .split(",")
16
+ .map((app) => app.trim())
17
+ .filter(Boolean));
18
+ }
19
+ export function resolveOpenTarget({ optionApps, environmentApps, open, }) {
14
20
  const hasExplicitEmptyOption = optionApps?.includes("") ?? false;
15
21
  const normalizedOptionApps = optionApps?.map((app) => app.trim()).filter(Boolean) ?? [];
16
22
  if (optionApps !== undefined) {
17
23
  if (normalizedOptionApps.length > 0) {
18
- return dedupePreserveOrder(normalizedOptionApps);
24
+ return { type: "apps", apps: dedupePreserveOrder(normalizedOptionApps) };
19
25
  }
20
26
  if (hasExplicitEmptyOption) {
21
- return [];
27
+ return { type: "none" };
22
28
  }
23
29
  }
30
+ if (!open) {
31
+ return { type: "none" };
32
+ }
24
33
  const normalized = environmentApps?.trim();
25
34
  if (normalized) {
26
- return dedupePreserveOrder(normalized
27
- .split(",")
28
- .map((app) => app.trim())
29
- .filter(Boolean));
35
+ const apps = parseAppList(normalized);
36
+ if (apps.length > 0) {
37
+ return { type: "apps", apps };
38
+ }
30
39
  }
31
- return [];
40
+ return { type: "default" };
32
41
  }
33
- //# sourceMappingURL=resolve-apps.js.map
42
+ //# sourceMappingURL=resolve-open-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-open-target.js","sourceRoot":"","sources":["../../src/app/resolve-open-target.ts"],"names":[],"mappings":"AAQA,SAAS,mBAAmB,CAAC,IAAc;IACzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,mBAAmB,CACxB,KAAK;SACF,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACxB,MAAM,CAAC,OAAO,CAAC,CACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,UAAU,EACV,eAAe,EACf,IAAI,GACmB;IACvB,MAAM,sBAAsB,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;IACjE,MAAM,oBAAoB,GAAG,UAAU,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAExF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC3E,CAAC;QAED,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { StatusLogger } from "../output/create-status-logger.js";
2
- export declare function openWorktreeApps(destinationDirectory: string, apps: string[], options?: {
2
+ import type { OpenTarget } from "../app/resolve-open-target.js";
3
+ export declare function openWorktreeApps(destinationDirectory: string, target: OpenTarget, options?: {
3
4
  dryRun?: boolean;
4
5
  logger?: StatusLogger;
5
6
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"open-worktree-apps.d.ts","sourceRoot":"","sources":["../../src/cli/open-worktree-apps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAItE,wBAAsB,gBAAgB,CACpC,oBAAoB,EAAE,MAAM,EAC5B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAA;CAAO,GACxD,OAAO,CAAC,IAAI,CAAC,CAiCf"}
1
+ {"version":3,"file":"open-worktree-apps.d.ts","sourceRoot":"","sources":["../../src/cli/open-worktree-apps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,wBAAsB,gBAAgB,CACpC,oBAAoB,EAAE,MAAM,EAC5B,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAA;CAAO,GACxD,OAAO,CAAC,IAAI,CAAC,CAqDf"}
@@ -1,10 +1,28 @@
1
1
  import open from "open";
2
2
  import { fallbackStatusLogger } from "../output/create-status-logger.js";
3
3
  import { getUnsafeAppNameReason } from "../app/get-unsafe-app-name-reason.js";
4
- export async function openWorktreeApps(destinationDirectory, apps, options = {}) {
4
+ export async function openWorktreeApps(destinationDirectory, target, options = {}) {
5
5
  const logger = options.logger ?? fallbackStatusLogger;
6
6
  const dryRun = options.dryRun ?? false;
7
- await Promise.all(apps.map(async (app) => {
7
+ if (target.type === "none") {
8
+ return;
9
+ }
10
+ if (target.type === "default") {
11
+ if (dryRun) {
12
+ logger.step(`Would open ${JSON.stringify(destinationDirectory)}`);
13
+ return;
14
+ }
15
+ logger.step(`Opening ${JSON.stringify(destinationDirectory)} …`);
16
+ try {
17
+ await open(destinationDirectory, { wait: false });
18
+ }
19
+ catch (error) {
20
+ const message = error instanceof Error ? error.message : String(error);
21
+ logger.warn(`Failed to open ${JSON.stringify(destinationDirectory)}: ${message}.`);
22
+ }
23
+ return;
24
+ }
25
+ await Promise.all(target.apps.map(async (app) => {
8
26
  const unsafeReason = getUnsafeAppNameReason(app);
9
27
  if (unsafeReason) {
10
28
  logger.warn(`Skipping app ${JSON.stringify(app)}: ${unsafeReason}.`);
@@ -1 +1 @@
1
- {"version":3,"file":"open-worktree-apps.js","sourceRoot":"","sources":["../../src/cli/open-worktree-apps.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,oBAA4B,EAC5B,IAAc,EACd,OAAO,GAAgD,EAAE;IAEzD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,oBAAoB,CAAC;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IAEvC,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,YAAY,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5F,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,oBAAoB,EAAE;gBAC/B,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE;gBACpB,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,kBAAkB;gBACrC,CAAC,CAAC,gIAAgI;gBAClI,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"open-worktree-apps.js","sourceRoot":"","sources":["../../src/cli/open-worktree-apps.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export interface CliOptions {
2
2
  readonly app?: string[];
3
+ readonly open?: boolean;
3
4
  readonly offline?: boolean;
4
5
  readonly yes?: boolean;
5
6
  readonly interactive?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"run-worktree-add.d.ts","sourceRoot":"","sources":["../../src/cli/run-worktree-add.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAuG1F"}
1
+ {"version":3,"file":"run-worktree-add.d.ts","sourceRoot":"","sources":["../../src/cli/run-worktree-add.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwG1F"}
@@ -1,5 +1,5 @@
1
1
  import { createStatusLogger } from "../output/create-status-logger.js";
2
- import { resolveApps } from "../app/resolve-apps.js";
2
+ import { resolveOpenTarget } from "../app/resolve-open-target.js";
3
3
  import { handleExistingDirectory } from "../worktree/destination-directory.js";
4
4
  import { copyUntrackedFiles } from "../worktree/untracked-file-copy.js";
5
5
  import { setupProject } from "../project/setup.js";
@@ -87,11 +87,12 @@ export async function runWorktreeAdd(branchRaw, options) {
87
87
  logger,
88
88
  });
89
89
  await setupProject(context.destinationDirectory, { dryRun, logger });
90
- const apps = resolveApps({
90
+ const target = resolveOpenTarget({
91
91
  optionApps: options.app,
92
92
  environmentApps: process.env.WORKTREE_ADD_APP,
93
+ open: options.open ?? false,
93
94
  });
94
- await openWorktreeApps(context.destinationDirectory, apps, {
95
+ await openWorktreeApps(context.destinationDirectory, target, {
95
96
  dryRun,
96
97
  logger,
97
98
  });
@@ -1 +1 @@
1
- {"version":3,"file":"run-worktree-add.js","sourceRoot":"","sources":["../../src/cli/run-worktree-add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-worktree-add.js","sourceRoot":"","sources":["../../src/cli/run-worktree-add.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -11,6 +11,7 @@ const program = new Command()
11
11
  .version(packageJson.version)
12
12
  .argument("<branch>", "branch name for the worktree")
13
13
  .option("-a, --app <name>", "Open the worktree in an app (repeatable)", collectApp)
14
+ .option("-o, --open", "Open the worktree after creating it (uses WORKTREE_ADD_APP, or the OS default handler)")
14
15
  .option("--offline", "Allow creating a new local branch from HEAD when origin cannot be reached and the branch does not exist locally")
15
16
  .option("-y, --yes", "Skip confirmation and replace existing destination")
16
17
  .option("--dry-run", "Show what would happen without making changes")
@@ -22,14 +23,15 @@ const program = new Command()
22
23
  Examples:
23
24
  $ worktree-add feature/login-form
24
25
  $ worktree-add feature/api --app code
25
- $ WORKTREE_ADD_APP=ghostty,code worktree-add feature/new-branch
26
+ $ worktree-add feature/new-branch --open
27
+ $ WORKTREE_ADD_APP=ghostty,code worktree-add feature/new-branch --open
26
28
  $ git branch --format="%(refname:short)" | head -n1 | xargs worktree-add
27
29
 
28
30
  App notes:
29
31
  - App names are executed on your machine; only use values you trust.
30
32
  - Arguments are not parsed; pass only the app name (e.g., "code", not "code --wait").
31
- - WORKTREE_ADD_APP is a comma-separated list of apps (alternative to repeating --app).
32
- - To explicitly open nothing when WORKTREE_ADD_APP is set, pass --app "".
33
+ - WORKTREE_ADD_APP is a comma-separated list of apps used by --open (it does not open on its own).
34
+ - To explicitly open nothing when --open is set, pass --app "".
33
35
 
34
36
  Dependencies:
35
37
  - git (with worktree support)
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,SAAS,UAAU,CAAC,GAAW,EAAE,QAA8B;IAC7D,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;KACtB,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC;KACpC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,QAAQ,CAAC,UAAU,EAAE,8BAA8B,CAAC;KACpD,MAAM,CAAC,kBAAkB,EAAE,0CAA0C,EAAE,UAAU,CAAC;KAClF,MAAM,CACL,WAAW,EACX,iHAAiH,CAClH;KACA,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;KACzE,MAAM,CAAC,WAAW,EAAE,+CAA+C,CAAC;KACpE,MAAM,CAAC,eAAe,EAAE,6CAA6C,CAAC;KACtE,MAAM,CAAC,WAAW,EAAE,kCAAkC,CAAC;KACvD,kBAAkB,CAAC,yCAAyC,CAAC;KAC7D,wBAAwB,EAAE;KAC1B,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;CAgBH,CACE;KACA,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAmB,EAAE,EAAE;IACpD,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;IACxB,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,SAAS,UAAU,CAAC,GAAW,EAAE,QAA8B;IAC7D,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;KACtB,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC;KACpC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,QAAQ,CAAC,UAAU,EAAE,8BAA8B,CAAC;KACpD,MAAM,CAAC,kBAAkB,EAAE,0CAA0C,EAAE,UAAU,CAAC;KAClF,MAAM,CACL,YAAY,EACZ,wFAAwF,CACzF;KACA,MAAM,CACL,WAAW,EACX,iHAAiH,CAClH;KACA,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;KACzE,MAAM,CAAC,WAAW,EAAE,+CAA+C,CAAC;KACpE,MAAM,CAAC,eAAe,EAAE,6CAA6C,CAAC;KACtE,MAAM,CAAC,WAAW,EAAE,kCAAkC,CAAC;KACvD,kBAAkB,CAAC,yCAAyC,CAAC;KAC7D,wBAAwB,EAAE;KAC1B,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;CAiBH,CACE;KACA,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAmB,EAAE,EAAE;IACpD,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;IACxB,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;AAC7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "worktree-add",
3
- "version": "1.3.12",
3
+ "version": "2.0.0",
4
4
  "description": "Create a Git worktree next to your current repo for a branch, copy useful local files, install deps, and open it in your apps.",
5
5
  "keywords": [
6
6
  "cli",
@@ -62,6 +62,7 @@
62
62
  "@total-typescript/ts-reset": "^0.6.1",
63
63
  "@types/node": "^25.9.3",
64
64
  "@vitest/coverage-v8": "^4.1.8",
65
+ "conventional-changelog-conventionalcommits": "^9.3.1",
65
66
  "fta-check": "^1.5.4",
66
67
  "fta-cli": "^3.0.0",
67
68
  "knip": "^6.16.1",
@@ -75,5 +76,5 @@
75
76
  "engines": {
76
77
  "node": ">=24.2.0"
77
78
  },
78
- "packageManager": "pnpm@11.8.0"
79
+ "packageManager": "pnpm@11.22.0"
79
80
  }
@@ -1,7 +0,0 @@
1
- interface ResolveAppsInput {
2
- optionApps?: string[];
3
- environmentApps?: string;
4
- }
5
- export declare function resolveApps({ optionApps, environmentApps }: ResolveAppsInput): string[];
6
- export {};
7
- //# sourceMappingURL=resolve-apps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-apps.d.ts","sourceRoot":"","sources":["../../src/app/resolve-apps.ts"],"names":[],"mappings":"AAAA,UAAU,gBAAgB;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAeD,wBAAgB,WAAW,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAyBvF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-apps.js","sourceRoot":"","sources":["../../src/app/resolve-apps.ts"],"names":[],"mappings":"AAKA,SAAS,mBAAmB,CAAC,IAAc;IACzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAE,UAAU,EAAE,eAAe,EAAoB;IAC3E,MAAM,sBAAsB,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;IACjE,MAAM,oBAAoB,GAAG,UAAU,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAExF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,mBAAmB,CACxB,UAAU;aACP,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;aACxB,MAAM,CAAC,OAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}