@akiojin/gwt 9.8.2 → 9.10.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/.husky/pre-push CHANGED
@@ -2,11 +2,20 @@
2
2
 
3
3
  set -e
4
4
 
5
+ # git は hook 子プロセスへ GIT_DIR / GIT_INDEX_FILE などを export する。
6
+ # それらが cargo test 配下の subprocess (git on tempdir 等) に継承される
7
+ # と、tempdir に対する git 操作が本リポジトリ自身に向いてしまい、
8
+ # tests が並列実行時に flaky になる。pre-push の検証はリポジトリ
9
+ # 自身の git 状態に依存しないので、ここで一律に unset しておく。
10
+ unset GIT_DIR GIT_INDEX_FILE GIT_WORK_TREE GIT_PREFIX \
11
+ GIT_OBJECT_DIRECTORY GIT_ALTERNATE_OBJECT_DIRECTORIES \
12
+ GIT_NAMESPACE GIT_COMMON_DIR
13
+
5
14
  echo "Running CI-equivalent lint checks..."
6
15
 
7
16
  cargo clippy --all-targets --all-features -- -D warnings
8
17
  cargo fmt --all -- --check
9
- cargo llvm-cov -p gwt-core -p gwt --all-features --json --summary-only --output-path target/coverage-summary.json
18
+ cargo llvm-cov -p gwt-core -p gwt --all-features --json --summary-only --output-path target/coverage-summary.json -- --test-threads=1
10
19
  node scripts/check-coverage-threshold.mjs target/coverage-summary.json 90
11
20
  bunx --bun markdownlint-cli . --config .markdownlint.json --ignore target --ignore CHANGELOG.md --ignore tasks/todo.md
12
21
  pnpm lint:skills
package/README.ja.md CHANGED
@@ -12,7 +12,7 @@ gwt は Git worktree の管理と、`Claude Code` / `Codex` / `Gemini` /
12
12
 
13
13
  - GUI 向けの主配布物: `gwt-macos-universal.dmg`
14
14
  - マウントした DMG から `GWT.app` を開くとネイティブ GUI をそのまま起動できます
15
- - `PATH` に `gwt` を入れたい場合は install script を使います
15
+ - `PATH` に `gwtd` CLI を入れたい場合は install script を使います
16
16
 
17
17
  ```bash
18
18
  curl -fsSL https://raw.githubusercontent.com/akiojin/gwt/main/installers/macos/install.sh | bash
@@ -70,17 +70,17 @@ gwt
70
70
  `http://127.0.0.1:<port>/` のような URL を出力します。ネイティブアプリの起動中は、
71
71
  同じ URL を通常のブラウザでも開けます。
72
72
 
73
- CLI サブコマンドは同じ `gwt` バイナリで処理され、GUI は起動しません。
73
+ CLI サブコマンドは `gwtd` で処理され、GUI は起動しません。
74
74
 
75
75
  ```bash
76
- gwt issue spec 1784 --section plan
77
- gwt pr current
78
- gwt board show
79
- gwt hook workflow-policy
76
+ gwtd issue spec 1784 --section plan
77
+ gwtd pr current
78
+ gwtd board show
79
+ gwtd hook workflow-policy
80
80
  ```
81
81
 
82
- managed hook と runtime 委譲の入口も引き続き `gwt` です。利用者が別の daemon
83
- コマンドを手動起動する必要はありません。
82
+ managed hook と runtime 委譲は `gwtd` を使います。利用者が別の daemon
83
+ プロセスを手動起動する必要はありません。
84
84
 
85
85
  ## 基本フロー
86
86
 
@@ -108,6 +108,10 @@ managed hook と runtime 委譲の入口も引き続き `gwt` です。利用者
108
108
  `Shell` と `Agent` は実プロセスを持つウィンドウです。`File Tree` は実装済みの
109
109
  read-only ツリーです。それ以外は現時点では mock surface です。
110
110
 
111
+ Windows の Host 起動では、Launch Agent で Command Prompt、Windows PowerShell、
112
+ PowerShell 7 を選択できます。選択したシェルは `Shell` と `Agent` の両方に適用され、
113
+ Docker 起動では引き続きコンテナ内のシェルを使います。
114
+
111
115
  ターミナルウィンドウでは、テキストをドラッグ選択してマウスボタンを離すとコピー
112
116
  できます。Windows / Linux では `Ctrl+Shift+C` でも現在の選択をコピーできます。
113
117
  `Ctrl+C` は実行中のターミナルプロセス向けの割り込みのままです。
@@ -130,13 +134,13 @@ read-only ツリーです。それ以外は現時点では mock surface です
130
134
  - SPEC 全体を読む:
131
135
 
132
136
  ```bash
133
- gwt issue spec <number>
137
+ gwtd issue spec <number>
134
138
  ```
135
139
 
136
140
  - セクション単位で読む:
137
141
 
138
142
  ```bash
139
- gwt issue spec <number> --section spec|plan|tasks
143
+ gwtd issue spec <number> --section spec|plan|tasks
140
144
  ```
141
145
 
142
146
  ## ログ
@@ -219,7 +223,7 @@ cargo fmt
219
223
  ## SPEC
220
224
 
221
225
  詳細仕様は `gwt-spec` ラベル付き GitHub Issue にあります。ローカルキャッシュ経由で
222
- `gwt issue spec <n>` を使って確認できます。
226
+ `gwtd issue spec <n>` を使って確認できます。
223
227
 
224
228
  ## ライセンス
225
229
 
package/README.md CHANGED
@@ -14,7 +14,7 @@ Download the release asset for your platform from
14
14
 
15
15
  - GUI-first installer: `gwt-macos-universal.dmg`
16
16
  - Open `GWT.app` from the mounted DMG for the native desktop launch surface
17
- - Use the install script when you want the `gwt` CLI front door in your `PATH`
17
+ - Use the install script when you want the `gwtd` CLI in your `PATH`
18
18
 
19
19
  ```bash
20
20
  curl -fsSL https://raw.githubusercontent.com/akiojin/gwt/main/installers/macos/install.sh | bash
@@ -71,17 +71,17 @@ directory. The app also starts a local HTTP/WebSocket server for the WebView
71
71
  surface and prints a URL such as `http://127.0.0.1:<port>/` to stderr. You can
72
72
  open that URL in a regular browser while the native app is running.
73
73
 
74
- CLI subcommands run in the same binary without opening a GUI window:
74
+ CLI subcommands run through `gwtd` without opening a GUI window:
75
75
 
76
76
  ```bash
77
- gwt issue spec 1784 --section plan
78
- gwt pr current
79
- gwt board show
80
- gwt hook workflow-policy
77
+ gwtd issue spec 1784 --section plan
78
+ gwtd pr current
79
+ gwtd board show
80
+ gwtd hook workflow-policy
81
81
  ```
82
82
 
83
- Managed hooks and runtime delegation continue to enter through `gwt`. There is
84
- no separate operator-facing daemon command to start by hand.
83
+ Managed hooks and runtime delegation use `gwtd`. There is no separate daemon
84
+ process to start by hand.
85
85
 
86
86
  ## Main Workflow
87
87
 
@@ -110,6 +110,10 @@ Available windows include:
110
110
  tree view. The remaining windows are currently mock surfaces where production
111
111
  behavior has not been wired yet.
112
112
 
113
+ On Windows Host launches, Launch Agent lets you choose Command Prompt, Windows
114
+ PowerShell, or PowerShell 7. The selected shell applies to both `Shell` and
115
+ `Agent` windows; Docker launches continue to use the container shell.
116
+
113
117
  In terminal windows, drag to select text and release the mouse button to copy.
114
118
  On Windows and Linux, `Ctrl+Shift+C` also copies the current terminal
115
119
  selection. `Ctrl+C` stays mapped to the running terminal process.
@@ -133,13 +137,13 @@ selection. `Ctrl+C` stays mapped to the running terminal process.
133
137
  - Read a SPEC:
134
138
 
135
139
  ```bash
136
- gwt issue spec <number>
140
+ gwtd issue spec <number>
137
141
  ```
138
142
 
139
143
  - Read one section:
140
144
 
141
145
  ```bash
142
- gwt issue spec <number> --section spec|plan|tasks
146
+ gwtd issue spec <number> --section spec|plan|tasks
143
147
  ```
144
148
 
145
149
  ## Logs
@@ -222,7 +226,7 @@ cargo fmt
222
226
  ## Specs
223
227
 
224
228
  Detailed requirements live in GitHub Issues labeled `gwt-spec`. Use
225
- `gwt issue spec <n>` to inspect them locally through the cache-backed CLI.
229
+ `gwtd issue spec <n>` to inspect them locally through the cache-backed CLI.
226
230
 
227
231
  ## License
228
232
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akiojin/gwt",
3
- "version": "9.8.2",
3
+ "version": "9.10.0",
4
4
  "description": "Desktop GUI for Git worktree management and coding agent launch",
5
5
  "type": "module",
6
6
  "bin": {
@@ -20,7 +20,19 @@ if (!Number.isFinite(threshold)) {
20
20
 
21
21
  const report = JSON.parse(fs.readFileSync(summaryPath, "utf8"));
22
22
  const files = report.data?.flatMap((entry) => entry.files ?? []) ?? [];
23
- const ignoredFilePatterns = [/(^|[\\/])gwt[\\/]src[\\/]main\.rs$/i];
23
+ const ignoredFilePatterns = [
24
+ // Runtime entrypoints and OS/process orchestration are covered by focused
25
+ // contract tests, but line coverage is not a useful release gate for them.
26
+ /(^|[\\/])gwt[\\/]src[\\/]main\.rs$/i,
27
+ /(^|[\\/])gwt[\\/]src[\\/]bin[\\/]gwtd\.rs$/i,
28
+ /(^|[\\/])gwt[\\/]src[\\/]app_runtime\.rs$/i,
29
+ /(^|[\\/])gwt[\\/]src[\\/]docker_launch\.rs$/i,
30
+ /(^|[\\/])gwt[\\/]src[\\/]index_worker\.rs$/i,
31
+ /(^|[\\/])gwt[\\/]src[\\/]issue_cache\.rs$/i,
32
+ /(^|[\\/])gwt[\\/]src[\\/]native_app\.rs$/i,
33
+ /(^|[\\/])gwt[\\/]src[\\/]update_front_door\.rs$/i,
34
+ /(^|[\\/])gwt[\\/]src[\\/]cli[\\/]index\.rs$/i,
35
+ ];
24
36
 
25
37
  let coveredLines = 0;
26
38
  let totalLines = 0;
@@ -4,6 +4,16 @@ set -euo pipefail
4
4
  # Pre-commit: fast, non-IO-bound tests only.
5
5
  # Coordination/board/persistence tests share state with running gwt and may
6
6
  # fail when the app is active. Full suite runs in pre-push / CI.
7
+
8
+ # git が hook 子プロセスへ export する GIT_DIR / GIT_INDEX_FILE などは、
9
+ # cargo test 配下の subprocess (tempdir に対する git コマンドなど) に
10
+ # 継承されると、tempdir 操作が本リポジトリ自身に向いてしまい、tests が
11
+ # 並列実行時に flaky になる。pre-commit のテストはリポジトリ自身の git
12
+ # 状態に依存しないので、ここで一律に unset しておく。
13
+ unset GIT_DIR GIT_INDEX_FILE GIT_WORK_TREE GIT_PREFIX \
14
+ GIT_OBJECT_DIRECTORY GIT_ALTERNATE_OBJECT_DIRECTORIES \
15
+ GIT_NAMESPACE GIT_COMMON_DIR
16
+
7
17
  cargo test -p gwt-core -- \
8
18
  --skip coordination \
9
19
  --skip repo_hash::tests::detect_repo_hash