@ogpoyraz/wtx 0.8.9 → 0.9.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ogpoyraz/wtx",
3
- "version": "0.8.9",
3
+ "version": "0.9.1",
4
4
  "description": "Multi-repo git worktree manager",
5
5
  "type": "module",
6
6
  "bin": {
@@ -19,7 +19,8 @@
19
19
  "prepublishOnly": "bun run build:npm",
20
20
  "test": "vitest run",
21
21
  "test:watch": "vitest",
22
- "typecheck": "tsc --noEmit"
22
+ "typecheck": "tsc --noEmit",
23
+ "bench:session": "bun run bench/session-switch.ts"
23
24
  },
24
25
  "keywords": [
25
26
  "git",
package/skills/claude.md CHANGED
@@ -35,17 +35,35 @@ Shows pull request status for worktree branches across repositories. Requires th
35
35
  `wtx prune [--force]` removes worktrees whose branch has a merged PR. Dirty or locked worktrees are skipped without `--force`; repos with failed PR lookups are left untouched.
36
36
 
37
37
  ### `wtx pull <pr-link>`
38
- Fetches a GitHub PR by URL and creates its worktree. Requires the GitHub CLI (`gh`) to be installed and authenticated.
39
- - **Flags**: `-r, --repo <repo>`
40
- - Auto-detects the owning repo from the PR link, warns on merged or closed PRs, and skips existing branches or worktrees with a warning.
38
+ Fetches a GitHub PR by URL and creates its worktree.
39
+ - **Flags**: `-r, --repo <repo>`, `--force`
41
40
  - Supports fork PRs without adding persistent remotes.
42
41
 
43
- ### `wtx terminal`
44
- Opens an interactive full-screen dashboard for browsing and acting on worktrees across all configured repos. Requires Bun runtime and a TTY; exits with guidance under Node.js or non-interactive shells.
42
+ ### `wtx pull-branch <branch>`
43
+ Fetches a branch from origin and creates a worktree.
44
+ - **Flags**: `-r, --repo <repos...>`
45
45
 
46
- - Lists worktrees as two-line entries: branch with status badge (clean / dirty count / locked / missing / rebasing), then commit hash, divergence vs its base (`↑n ↓n`), PR number/state/checks, base branch, and owner tags.
47
- - Keys: `r` refresh · `j/k` navigate · `n` create · `b` rebase · `d` remove · `s` sync · `o` open in IDE · `c` edit config · `?` help · `q` quit.
48
- - Actions run as child processes with output streamed inside the dashboard; destructive actions confirm first (`y/n`). The config editor (`c`) persists through atomic config writes and refreshes the view automatically.
46
+ ### `wtx rename <branch> <new-name>`
47
+ Renames a worktree's branch and its directory.
48
+ - **Flags**: `-r, --repo <repos...>`
49
+
50
+ ### `wtx terminal`
51
+ Opens an interactive full-screen dashboard for browsing and acting on worktrees across all configured repos. Requires Bun runtime and a TTY.
52
+
53
+ - Lists worktrees with status badges (dirty, missing, rebasing, etc.), commit info, divergence, PR status, and owner tags.
54
+ - Navigation: `j/k` or arrows · `/` fuzzy-filter · `Space` multi-select.
55
+ - Actions: `n` create · `p` pull · `P` pull PR · `b` rebase · `d` remove · `s` sync · `i` install · `m` rename · `o` open · `r` refresh · `f` fetch.
56
+ - Layout: `c` config · `F` favorite repo · `W` workspace scope · `t` new terminal · `T` cycle theme · `s/Tab` cycle changes scope · `?` help.
57
+ - Destructive actions confirm before running; output streams inside the dashboard.
58
+
59
+ ### `wtx workspace`
60
+ Manage groups of worktrees as logical workspaces using symlinks.
61
+ - **`wtx workspace create <name> --branch <branch>`**: Creates worktrees across repos and links them.
62
+ - **`wtx workspace ls`**: Lists workspaces and their health status.
63
+ - **`wtx workspace add <name> <repo> <branch>`**: Links an existing worktree into a workspace.
64
+ - **`wtx workspace rm <name> <repo> <branch>`**: Unlinks a member from a workspace.
65
+ - **`wtx workspace remove <name>`**: Deletes the workspace directory (preserves member worktrees).
66
+ - **`wtx workspace verify <name>`**: Checks for broken member links.
49
67
 
50
68
  ### `wtx status`
51
69
  Shows git statuses for all worktrees.
@@ -58,6 +76,12 @@ Fetches the configured main branch for an independent worktree, or rebases onto
58
76
  Shows the recorded parent and descendant branches for a worktree.
59
77
  - **Flags**: `-r, --repo <repos...>`, `--json`
60
78
 
79
+ ### `wtx history`
80
+ Shows a log of recent wtx actions.
81
+
82
+ ### `wtx mcp`
83
+ Starts the wtx MCP server for integration with AI agents.
84
+
61
85
  ### `wtx sync <branch>`
62
86
  Re-copies `sync_files` from the main checkout to the worktree and runs `post_sync` hooks. Also checks for package lockfile differences if `node_modules` is symlinked.
63
87
  - **Flags**: `-r, --repo <repos...>`
@@ -81,21 +105,22 @@ Located at `~/.config/wtx/config.json`:
81
105
 
82
106
  ```json
83
107
  {
84
- "version": 1,
108
+ "version": 2,
85
109
  "root": "~/Repos",
86
110
  "postfix": "-wt",
87
111
  "ide": "cursor",
88
112
  "default_main_branch": "main",
89
- "user": null,
113
+ "user": "myhandle",
114
+ "favorites": ["my-frontend"],
115
+ "workspace_root": "~/Workspaces",
116
+ "tui": {
117
+ "theme": "tokyonight"
118
+ },
90
119
  "repos": {
91
120
  "my-frontend": {
92
121
  "main_branch": "auto",
93
122
  "sync_files": [".env", ".env.local"],
94
- "post_create": ["npm install", "npm run build"]
95
- },
96
- "my-backend": {
97
- "main_branch": "master",
98
- "post_sync": ["docker-compose restart"]
123
+ "post_create": ["npm install"]
99
124
  }
100
125
  }
101
126
  }
package/skills/cursor.md CHANGED
@@ -35,17 +35,35 @@ Shows pull request status for worktree branches across repositories. Requires th
35
35
  `wtx prune [--force]` removes worktrees whose branch has a merged PR. Dirty or locked worktrees are skipped without `--force`; repos with failed PR lookups are left untouched.
36
36
 
37
37
  ### `wtx pull <pr-link>`
38
- Fetches a GitHub PR by URL and creates its worktree. Requires the GitHub CLI (`gh`) to be installed and authenticated.
39
- - **Flags**: `-r, --repo <repo>`
40
- - Auto-detects the owning repo from the PR link, warns on merged or closed PRs, and skips existing branches or worktrees with a warning.
38
+ Fetches a GitHub PR by URL and creates its worktree.
39
+ - **Flags**: `-r, --repo <repo>`, `--force`
41
40
  - Supports fork PRs without adding persistent remotes.
42
41
 
43
- ### `wtx terminal`
44
- Opens an interactive full-screen dashboard for browsing and acting on worktrees across all configured repos. Requires Bun runtime and a TTY; exits with guidance under Node.js or non-interactive shells.
42
+ ### `wtx pull-branch <branch>`
43
+ Fetches a branch from origin and creates a worktree.
44
+ - **Flags**: `-r, --repo <repos...>`
45
45
 
46
- - Lists worktrees as two-line entries: branch with status badge (clean / dirty count / locked / missing / rebasing), then commit hash, divergence vs its base (`↑n ↓n`), PR number/state/checks, base branch, and owner tags.
47
- - Keys: `r` refresh · `j/k` navigate · `n` create · `b` rebase · `d` remove · `s` sync · `o` open in IDE · `c` edit config · `?` help · `q` quit.
48
- - Actions run as child processes with output streamed inside the dashboard; destructive actions confirm first (`y/n`). The config editor (`c`) persists through atomic config writes and refreshes the view automatically.
46
+ ### `wtx rename <branch> <new-name>`
47
+ Renames a worktree's branch and its directory.
48
+ - **Flags**: `-r, --repo <repos...>`
49
+
50
+ ### `wtx terminal`
51
+ Opens an interactive full-screen dashboard for browsing and acting on worktrees across all configured repos. Requires Bun runtime and a TTY.
52
+
53
+ - Lists worktrees with status badges (dirty, missing, rebasing, etc.), commit info, divergence, PR status, and owner tags.
54
+ - Navigation: `j/k` or arrows · `/` fuzzy-filter · `Space` multi-select.
55
+ - Actions: `n` create · `p` pull · `P` pull PR · `b` rebase · `d` remove · `s` sync · `i` install · `m` rename · `o` open · `r` refresh · `f` fetch.
56
+ - Layout: `c` config · `F` favorite repo · `W` workspace scope · `t` new terminal · `T` cycle theme · `s/Tab` cycle changes scope · `?` help.
57
+ - Destructive actions confirm before running; output streams inside the dashboard.
58
+
59
+ ### `wtx workspace`
60
+ Manage groups of worktrees as logical workspaces using symlinks.
61
+ - **`wtx workspace create <name> --branch <branch>`**: Creates worktrees across repos and links them.
62
+ - **`wtx workspace ls`**: Lists workspaces and their health status.
63
+ - **`wtx workspace add <name> <repo> <branch>`**: Links an existing worktree into a workspace.
64
+ - **`wtx workspace rm <name> <repo> <branch>`**: Unlinks a member from a workspace.
65
+ - **`wtx workspace remove <name>`**: Deletes the workspace directory (preserves member worktrees).
66
+ - **`wtx workspace verify <name>`**: Checks for broken member links.
49
67
 
50
68
  ### `wtx status`
51
69
  Shows git statuses for all worktrees.
@@ -58,6 +76,12 @@ Fetches the configured main branch for an independent worktree, or rebases onto
58
76
  Shows the recorded parent and descendant branches for a worktree.
59
77
  - **Flags**: `-r, --repo <repos...>`, `--json`
60
78
 
79
+ ### `wtx history`
80
+ Shows a log of recent wtx actions.
81
+
82
+ ### `wtx mcp`
83
+ Starts the wtx MCP server for integration with AI agents.
84
+
61
85
  ### `wtx sync <branch>`
62
86
  Re-copies `sync_files` from the main checkout to the worktree and runs `post_sync` hooks. Also checks for package lockfile differences if `node_modules` is symlinked.
63
87
  - **Flags**: `-r, --repo <repos...>`
@@ -81,21 +105,22 @@ Located at `~/.config/wtx/config.json`:
81
105
 
82
106
  ```json
83
107
  {
84
- "version": 1,
108
+ "version": 2,
85
109
  "root": "~/Repos",
86
110
  "postfix": "-wt",
87
111
  "ide": "cursor",
88
112
  "default_main_branch": "main",
89
- "user": null,
113
+ "user": "myhandle",
114
+ "favorites": ["my-frontend"],
115
+ "workspace_root": "~/Workspaces",
116
+ "tui": {
117
+ "theme": "tokyonight"
118
+ },
90
119
  "repos": {
91
120
  "my-frontend": {
92
121
  "main_branch": "auto",
93
122
  "sync_files": [".env", ".env.local"],
94
- "post_create": ["npm install", "npm run build"]
95
- },
96
- "my-backend": {
97
- "main_branch": "master",
98
- "post_sync": ["docker-compose restart"]
123
+ "post_create": ["npm install"]
99
124
  }
100
125
  }
101
126
  }
@@ -39,17 +39,35 @@ Shows pull request status for worktree branches across repositories. Requires th
39
39
  `wtx prune [--force]` removes worktrees whose branch has a merged PR. Dirty or locked worktrees are skipped without `--force`; repos with failed PR lookups are left untouched.
40
40
 
41
41
  ### `wtx pull <pr-link>`
42
- Fetches a GitHub PR by URL and creates its worktree. Requires the GitHub CLI (`gh`) to be installed and authenticated.
43
- - **Flags**: `-r, --repo <repo>`
44
- - Auto-detects the owning repo from the PR link, warns on merged or closed PRs, and skips existing branches or worktrees with a warning.
42
+ Fetches a GitHub PR by URL and creates its worktree.
43
+ - **Flags**: `-r, --repo <repo>`, `--force`
45
44
  - Supports fork PRs without adding persistent remotes.
46
45
 
47
- ### `wtx terminal`
48
- Opens an interactive full-screen dashboard for browsing and acting on worktrees across all configured repos. Requires Bun runtime and a TTY; exits with guidance under Node.js or non-interactive shells.
46
+ ### `wtx pull-branch <branch>`
47
+ Fetches a branch from origin and creates a worktree.
48
+ - **Flags**: `-r, --repo <repos...>`
49
49
 
50
- - Lists worktrees as two-line entries: branch with status badge (clean / dirty count / locked / missing / rebasing), then commit hash, divergence vs its base (`↑n ↓n`), PR number/state/checks, base branch, and owner tags.
51
- - Keys: `r` refresh · `j/k` navigate · `n` create · `b` rebase · `d` remove · `s` sync · `o` open in IDE · `c` edit config · `?` help · `q` quit.
52
- - Actions run as child processes with output streamed inside the dashboard; destructive actions confirm first (`y/n`). The config editor (`c`) persists through atomic config writes and refreshes the view automatically.
50
+ ### `wtx rename <branch> <new-name>`
51
+ Renames a worktree's branch and its directory.
52
+ - **Flags**: `-r, --repo <repos...>`
53
+
54
+ ### `wtx terminal`
55
+ Opens an interactive full-screen dashboard for browsing and acting on worktrees across all configured repos. Requires Bun runtime and a TTY.
56
+
57
+ - Lists worktrees with status badges (dirty, missing, rebasing, etc.), commit info, divergence, PR status, and owner tags.
58
+ - Navigation: `j/k` or arrows · `/` fuzzy-filter · `Space` multi-select.
59
+ - Actions: `n` create · `p` pull · `P` pull PR · `b` rebase · `d` remove · `s` sync · `i` install · `m` rename · `o` open · `r` refresh · `f` fetch.
60
+ - Layout: `c` config · `F` favorite repo · `W` workspace scope · `t` new terminal · `T` cycle theme · `s/Tab` cycle changes scope · `?` help.
61
+ - Destructive actions confirm before running; output streams inside the dashboard.
62
+
63
+ ### `wtx workspace`
64
+ Manage groups of worktrees as logical workspaces using symlinks.
65
+ - **`wtx workspace create <name> --branch <branch>`**: Creates worktrees across repos and links them.
66
+ - **`wtx workspace ls`**: Lists workspaces and their health status.
67
+ - **`wtx workspace add <name> <repo> <branch>`**: Links an existing worktree into a workspace.
68
+ - **`wtx workspace rm <name> <repo> <branch>`**: Unlinks a member from a workspace.
69
+ - **`wtx workspace remove <name>`**: Deletes the workspace directory (preserves member worktrees).
70
+ - **`wtx workspace verify <name>`**: Checks for broken member links.
53
71
 
54
72
  ### `wtx status`
55
73
  Shows git statuses for all worktrees.
@@ -62,6 +80,12 @@ Fetches the configured main branch for an independent worktree, or rebases onto
62
80
  Shows the recorded parent and descendant branches for a worktree.
63
81
  - **Flags**: `-r, --repo <repos...>`, `--json`
64
82
 
83
+ ### `wtx history`
84
+ Shows a log of recent wtx actions.
85
+
86
+ ### `wtx mcp`
87
+ Starts the wtx MCP server for integration with AI agents.
88
+
65
89
  ### `wtx sync <branch>`
66
90
  Re-copies `sync_files` from the main checkout to the worktree and runs `post_sync` hooks. Also checks for package lockfile differences if `node_modules` is symlinked.
67
91
  - **Flags**: `-r, --repo <repos...>`
@@ -85,21 +109,22 @@ Located at `~/.config/wtx/config.json`:
85
109
 
86
110
  ```json
87
111
  {
88
- "version": 1,
112
+ "version": 2,
89
113
  "root": "~/Repos",
90
114
  "postfix": "-wt",
91
115
  "ide": "cursor",
92
116
  "default_main_branch": "main",
93
- "user": null,
117
+ "user": "myhandle",
118
+ "favorites": ["my-frontend"],
119
+ "workspace_root": "~/Workspaces",
120
+ "tui": {
121
+ "theme": "tokyonight"
122
+ },
94
123
  "repos": {
95
124
  "my-frontend": {
96
125
  "main_branch": "auto",
97
126
  "sync_files": [".env", ".env.local"],
98
- "post_create": ["npm install", "npm run build"]
99
- },
100
- "my-backend": {
101
- "main_branch": "master",
102
- "post_sync": ["docker-compose restart"]
127
+ "post_create": ["npm install"]
103
128
  }
104
129
  }
105
130
  }