sdd-skills 1.1.8 → 1.1.9

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.
Files changed (3) hide show
  1. package/install.js +28 -6
  2. package/package.json +1 -1
  3. package/uninstall.js +28 -6
package/install.js CHANGED
@@ -72,10 +72,21 @@ async function promptInstallation() {
72
72
  // Removed default to force user selection
73
73
  },
74
74
  {
75
- type: 'confirm',
75
+ type: 'input',
76
76
  name: 'configureDingTalk',
77
- message: 'Would you like to configure DingTalk notifications?',
78
- default: false,
77
+ message: 'Would you like to configure DingTalk notifications? (y/n)',
78
+ default: 'n',
79
+ validate: (input) => {
80
+ const normalized = input.toLowerCase().trim();
81
+ if (['y', 'n', 'yes', 'no', ''].includes(normalized)) {
82
+ return true;
83
+ }
84
+ return 'Please enter y or n';
85
+ },
86
+ filter: (input) => {
87
+ const normalized = input.toLowerCase().trim();
88
+ return normalized === 'y' || normalized === 'yes';
89
+ },
79
90
  },
80
91
  ]);
81
92
 
@@ -243,10 +254,21 @@ async function install() {
243
254
 
244
255
  const { confirmInstall } = await inquirer.prompt([
245
256
  {
246
- type: 'confirm',
257
+ type: 'input',
247
258
  name: 'confirmInstall',
248
- message: 'Proceed with installation?',
249
- default: true,
259
+ message: 'Proceed with installation? (y/n)',
260
+ default: 'y',
261
+ validate: (input) => {
262
+ const normalized = input.toLowerCase().trim();
263
+ if (['y', 'n', 'yes', 'no', ''].includes(normalized)) {
264
+ return true;
265
+ }
266
+ return 'Please enter y or n';
267
+ },
268
+ filter: (input) => {
269
+ const normalized = input.toLowerCase().trim();
270
+ return normalized === '' || normalized === 'y' || normalized === 'yes';
271
+ },
250
272
  },
251
273
  ]);
252
274
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sdd-skills",
3
- "version": "1.1.8",
3
+ "version": "1.1.9",
4
4
  "description": "Spec-Driven Development Skills for Claude Code - SAE/ADE workflow automation",
5
5
  "type": "module",
6
6
  "main": "install.js",
package/uninstall.js CHANGED
@@ -90,26 +90,48 @@ async function promptUninstallation() {
90
90
  choices: locationChoices,
91
91
  },
92
92
  {
93
- type: 'confirm',
93
+ type: 'input',
94
94
  name: 'removeConfig',
95
- message: 'Also remove DingTalk configuration?',
96
- default: true,
95
+ message: 'Also remove DingTalk configuration? (y/n)',
96
+ default: 'y',
97
97
  when: (answers) => {
98
98
  const configPath = answers.location === 'global' ? GLOBAL_CONFIG : LOCAL_CONFIG;
99
99
  return existsSync(configPath);
100
100
  },
101
+ validate: (input) => {
102
+ const normalized = input.toLowerCase().trim();
103
+ if (['y', 'n', 'yes', 'no', ''].includes(normalized)) {
104
+ return true;
105
+ }
106
+ return 'Please enter y or n';
107
+ },
108
+ filter: (input) => {
109
+ const normalized = input.toLowerCase().trim();
110
+ return normalized === '' || normalized === 'y' || normalized === 'yes';
111
+ },
101
112
  },
102
113
  {
103
- type: 'confirm',
114
+ type: 'input',
104
115
  name: 'confirm',
105
116
  message: (answers) => {
106
117
  const location = answers.location;
107
118
  const skillsCount = location === 'global'
108
119
  ? globalInstallation.skills.length
109
120
  : localInstallation.skills.length;
110
- return `${chalk.red('Are you sure you want to remove')} ${chalk.bold.red(skillsCount)} ${chalk.red('Skills?')}`;
121
+ return `${chalk.red('Are you sure you want to remove')} ${chalk.bold.red(skillsCount)} ${chalk.red('Skills?')} (y/n)`;
122
+ },
123
+ default: 'n',
124
+ validate: (input) => {
125
+ const normalized = input.toLowerCase().trim();
126
+ if (['y', 'n', 'yes', 'no', ''].includes(normalized)) {
127
+ return true;
128
+ }
129
+ return 'Please enter y or n';
130
+ },
131
+ filter: (input) => {
132
+ const normalized = input.toLowerCase().trim();
133
+ return normalized === 'y' || normalized === 'yes';
111
134
  },
112
- default: false,
113
135
  },
114
136
  ]);
115
137