玉澜 and Cursor
b6851e641e
fix(skill): back up skill dirs before removal and satisfy coverage gate
...
Address the two P1 review findings and the coverage-gate CI failures:
- Every install/upgrade path that removes a skill dir (opposite-mode
leftovers, stale dingtalk-* / dws-shared, and same-name refreshes) now
moves the directory to ~/.dws/skill-backups/<stamp>/ first across
install.sh, install-skills.sh, install.ps1, install.js, `dws skill
setup`, and `dws upgrade`. A backup failure preserves the original
directory and never removes it.
- Remove --yes from every copyable `dws skill setup` example and document
what the command may remove; add regression tests that declining the
confirmation performs no removal and that the confirmation previews
every directory slated for backup+removal.
- Rename the skill-mode tests to the TestCrossPlatformCoverage* prefix so
the platform coverage gate selects them, and add edge tests for the
backup/prune/cleanup fallback branches, restoring changed-code coverage
to 100%.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-10 20:23:35 +08:00
..
2026-08-04 13:52:26 +08:00
2026-07-20 12:17:04 +08:00
2026-07-17 00:56:57 +08:00
2026-07-20 12:17:04 +08:00
2026-07-29 13:56:25 +08:00
2026-07-30 14:34:22 +08:00
2026-07-30 14:34:22 +08:00
2026-07-30 14:34:22 +08:00
2026-04-27 15:11:12 +08:00
2026-07-15 12:08:39 +08:00
2026-08-06 13:02:39 +08:00
2026-08-03 23:30:54 +08:00
2026-07-14 14:22:13 +08:00
2026-08-03 12:10:54 +08:00
2026-07-30 16:25:56 +08:00
2026-07-17 13:44:18 +08:00
2026-07-14 14:35:29 +08:00
2026-07-14 14:22:13 +08:00
2026-07-23 13:20:43 +08:00
2026-07-23 13:20:43 +08:00
2026-07-23 12:21:58 +08:00
2026-07-23 00:01:09 +08:00
2026-07-23 12:21:58 +08:00
2026-07-16 10:58:56 +08:00
2026-07-20 14:22:18 +08:00
2026-07-20 13:37:18 +08:00
2026-07-21 11:33:03 +08:00
2026-07-23 00:01:09 +08:00
2026-07-29 17:33:44 +08:00
2026-08-06 13:02:39 +08:00
2026-08-06 13:02:39 +08:00
2026-08-03 21:15:20 +08:00
2026-08-06 17:53:57 +08:00
2026-08-06 17:53:57 +08:00
2026-03-27 17:55:57 +08:00
2026-04-12 14:23:11 +08:00
2026-04-12 14:23:11 +08:00
2026-07-15 22:19:49 +08:00
2026-07-15 12:08:39 +08:00
2026-08-10 20:23:35 +08:00
2026-08-06 13:02:39 +08:00
2026-08-03 02:42:39 +08:00
2026-08-03 23:30:54 +08:00
2026-05-12 11:48:31 +08:00
2026-08-06 10:28:20 +08:00
2026-08-06 10:28:20 +08:00
2026-07-16 10:58:56 +08:00
2026-07-29 09:46:00 +08:00
2026-07-20 12:17:04 +08:00
2026-07-10 17:54:43 +08:00
2026-08-05 11:24:58 +08:00
2026-07-20 22:35:15 +08:00
2026-08-04 14:24:49 +08:00
2026-08-05 11:24:58 +08:00
2026-07-30 16:08:19 +08:00
2026-07-30 16:08:19 +08:00
2026-08-03 12:10:54 +08:00
2026-07-21 22:28:54 +08:00
2026-07-20 22:35:15 +08:00
2026-07-30 13:49:08 +08:00
2026-07-24 15:40:37 +08:00
2026-07-30 16:08:19 +08:00
2026-07-24 14:26:34 +08:00
2026-07-10 17:54:43 +08:00
2026-07-23 13:01:10 +08:00
2026-08-04 14:24:49 +08:00
2026-07-23 12:21:58 +08:00
2026-08-01 09:25:40 +08:00
2026-07-10 17:54:43 +08:00
2026-07-29 17:33:44 +08:00
2026-07-17 00:56:57 +08:00
2026-07-20 13:37:18 +08:00
2026-08-04 08:36:12 +08:00
2026-04-08 20:03:56 +08:00
2026-08-04 23:42:05 +08:00
2026-07-23 11:31:12 +08:00
2026-08-03 12:10:54 +08:00
2026-07-23 00:01:09 +08:00
2026-08-05 22:30:08 +08:00
2026-08-10 11:03:33 +08:00
2026-08-07 17:19:36 +08:00
2026-08-06 17:53:57 +08:00
2026-08-07 17:19:36 +08:00
2026-07-29 10:02:27 +08:00
2026-07-20 12:17:04 +08:00
2026-07-30 14:34:22 +08:00
2026-07-30 14:34:22 +08:00
2026-07-30 14:34:22 +08:00
2026-03-27 17:55:57 +08:00
2026-07-15 12:08:39 +08:00
2026-07-16 10:58:56 +08:00
2026-07-21 11:33:03 +08:00
2026-08-03 20:00:47 +08:00
2026-07-21 11:33:03 +08:00
2026-07-21 11:33:03 +08:00
2026-07-21 11:33:03 +08:00
2026-07-21 11:33:03 +08:00
2026-08-03 20:00:47 +08:00
2026-07-21 11:33:03 +08:00
2026-07-21 11:33:03 +08:00
2026-08-06 17:53:57 +08:00
2026-06-29 18:27:25 +08:00
2026-07-17 02:11:45 +08:00
2026-07-23 00:01:09 +08:00
2026-07-17 00:56:57 +08:00
2026-08-06 12:22:04 +08:00
2026-08-06 12:22:04 +08:00
2026-08-06 11:48:31 +08:00
2026-07-16 10:58:56 +08:00
2026-08-01 09:25:40 +08:00
2026-08-05 20:23:37 +08:00
2026-08-06 13:02:39 +08:00
2026-08-05 01:22:45 +08:00
2026-08-06 17:11:17 +08:00
2026-08-04 08:36:12 +08:00
2026-08-05 11:24:58 +08:00
2026-08-02 13:59:37 +08:00
2026-08-02 13:59:37 +08:00
2026-08-02 13:59:37 +08:00
2026-07-14 01:56:03 +08:00
2026-08-02 14:11:23 +08:00
2026-08-02 14:11:23 +08:00
2026-08-03 19:22:53 +08:00
2026-08-03 17:58:38 +08:00
2026-08-09 17:47:50 +08:00
2026-07-13 19:49:40 +08:00
2026-07-17 11:57:27 +08:00
2026-07-13 19:49:40 +08:00
2026-07-14 08:11:27 +08:00
2026-08-04 20:52:53 +08:00
2026-08-02 10:07:19 +08:00
2026-07-14 08:11:27 +08:00
2026-08-01 13:46:54 +08:00
2026-07-14 08:11:27 +08:00
2026-08-07 12:01:33 +08:00
2026-08-02 12:26:25 +08:00
2026-08-02 09:08:17 +08:00
2026-08-05 01:49:37 +08:00
2026-08-02 13:59:37 +08:00
2026-08-04 14:24:49 +08:00
2026-08-04 11:06:35 +08:00
2026-08-04 08:36:12 +08:00
2026-07-20 12:17:04 +08:00
2026-07-20 12:17:04 +08:00
2026-08-10 20:23:35 +08:00
2026-08-05 22:30:08 +08:00
2026-07-15 12:08:39 +08:00
2026-08-10 20:23:35 +08:00
2026-08-10 20:23:35 +08:00
2026-08-10 20:23:35 +08:00
2026-04-16 09:34:46 +08:00
2026-07-15 12:08:39 +08:00
2026-07-16 12:12:26 +08:00
2026-07-20 14:33:17 +08:00
2026-07-15 23:02:20 +08:00
2026-07-15 12:08:39 +08:00
2026-07-17 00:56:57 +08:00
2026-07-28 18:59:04 +08:00
2026-06-17 15:06:14 +08:00
2026-08-04 08:36:12 +08:00
2026-08-10 20:23:35 +08:00
2026-08-04 17:59:59 +08:00
2026-08-05 14:13:45 +08:00
2026-07-29 09:46:00 +08:00
2026-07-28 18:59:04 +08:00
2026-04-01 21:05:35 +08:00