claude-settings-cli 1.0.1 → 1.1.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.
Files changed (76) hide show
  1. package/dist/commands/backup.d.ts.map +1 -1
  2. package/dist/commands/backup.js +8 -7
  3. package/dist/commands/backup.js.map +1 -1
  4. package/dist/commands/config.d.ts.map +1 -1
  5. package/dist/commands/config.js +10 -9
  6. package/dist/commands/config.js.map +1 -1
  7. package/dist/commands/create.d.ts +4 -0
  8. package/dist/commands/create.d.ts.map +1 -0
  9. package/dist/commands/create.js +229 -0
  10. package/dist/commands/create.js.map +1 -0
  11. package/dist/commands/edit.d.ts +4 -0
  12. package/dist/commands/edit.d.ts.map +1 -0
  13. package/dist/commands/edit.js +248 -0
  14. package/dist/commands/edit.js.map +1 -0
  15. package/dist/commands/interactive.d.ts.map +1 -1
  16. package/dist/commands/interactive.js +60 -59
  17. package/dist/commands/interactive.js.map +1 -1
  18. package/dist/commands/io.d.ts.map +1 -1
  19. package/dist/commands/io.js +11 -10
  20. package/dist/commands/io.js.map +1 -1
  21. package/dist/commands/plugin.d.ts.map +1 -1
  22. package/dist/commands/plugin.js +13 -12
  23. package/dist/commands/plugin.js.map +1 -1
  24. package/dist/commands/preset.d.ts.map +1 -1
  25. package/dist/commands/preset.js +21 -20
  26. package/dist/commands/preset.js.map +1 -1
  27. package/dist/commands/project.d.ts.map +1 -1
  28. package/dist/commands/project.js +7 -6
  29. package/dist/commands/project.js.map +1 -1
  30. package/dist/commands/repl.d.ts +2 -0
  31. package/dist/commands/repl.d.ts.map +1 -0
  32. package/dist/commands/repl.js +296 -0
  33. package/dist/commands/repl.js.map +1 -0
  34. package/dist/commands/template.d.ts +3 -0
  35. package/dist/commands/template.d.ts.map +1 -0
  36. package/dist/commands/template.js +228 -0
  37. package/dist/commands/template.js.map +1 -0
  38. package/dist/core/diff.d.ts.map +1 -1
  39. package/dist/core/diff.js +3 -2
  40. package/dist/core/diff.js.map +1 -1
  41. package/dist/core/paths.d.ts +5 -0
  42. package/dist/core/paths.d.ts.map +1 -1
  43. package/dist/core/paths.js +25 -6
  44. package/dist/core/paths.js.map +1 -1
  45. package/dist/core/switcher.d.ts.map +1 -1
  46. package/dist/core/switcher.js +2 -1
  47. package/dist/core/switcher.js.map +1 -1
  48. package/dist/core/templates.d.ts +14 -0
  49. package/dist/core/templates.d.ts.map +1 -0
  50. package/dist/core/templates.js +180 -0
  51. package/dist/core/templates.js.map +1 -0
  52. package/dist/core/writer.d.ts.map +1 -1
  53. package/dist/core/writer.js +7 -3
  54. package/dist/core/writer.js.map +1 -1
  55. package/dist/i18n.d.ts +5 -0
  56. package/dist/i18n.d.ts.map +1 -0
  57. package/dist/i18n.js +1104 -0
  58. package/dist/i18n.js.map +1 -0
  59. package/dist/index.js +19 -12
  60. package/dist/index.js.map +1 -1
  61. package/dist/types/index.d.ts +14 -0
  62. package/dist/types/index.d.ts.map +1 -1
  63. package/dist/utils/backup.d.ts.map +1 -1
  64. package/dist/utils/backup.js +2 -1
  65. package/dist/utils/backup.js.map +1 -1
  66. package/dist/utils/errors.d.ts.map +1 -1
  67. package/dist/utils/errors.js +8 -7
  68. package/dist/utils/errors.js.map +1 -1
  69. package/dist/utils/prompt.d.ts +11 -0
  70. package/dist/utils/prompt.d.ts.map +1 -0
  71. package/dist/utils/prompt.js +50 -0
  72. package/dist/utils/prompt.js.map +1 -0
  73. package/dist/utils/safe-json.d.ts.map +1 -1
  74. package/dist/utils/safe-json.js +3 -2
  75. package/dist/utils/safe-json.js.map +1 -1
  76. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,aAAa,SACM,CAAC"}
1
+ {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,aAAa,SACM,CAAC"}
@@ -5,16 +5,17 @@ import { BackupManager } from '../utils/backup.js';
5
5
  import { SETTINGS_FILE } from '../core/paths.js';
6
6
  import { success } from '../utils/logger.js';
7
7
  import { handleError } from '../utils/errors.js';
8
+ import { t } from '../i18n.js';
8
9
  export const backupCommand = new Command('backup')
9
- .description('Manage backups');
10
+ .description(t('backup_desc'));
10
11
  backupCommand
11
12
  .command('list')
12
- .description('List available backups')
13
+ .description(t('backup_list_desc'))
13
14
  .action(() => {
14
15
  const backups = BackupManager.listBackups();
15
16
  console.log('');
16
17
  if (backups.length === 0) {
17
- console.log(chalk.dim(' No backups found.'));
18
+ console.log(chalk.dim(t('backup_no_backups')));
18
19
  }
19
20
  else {
20
21
  for (const b of backups) {
@@ -25,12 +26,12 @@ backupCommand
25
26
  });
26
27
  backupCommand
27
28
  .command('restore [name]')
28
- .description('Restore a backup (interactive if no name provided)')
29
+ .description(t('backup_restore_desc'))
29
30
  .action(async (name) => {
30
31
  try {
31
32
  const backups = BackupManager.listBackups();
32
33
  if (backups.length === 0) {
33
- console.log(chalk.dim(' No backups found.'));
34
+ console.log(chalk.dim(t('backup_no_backups')));
34
35
  return;
35
36
  }
36
37
  let selected = name;
@@ -39,14 +40,14 @@ backupCommand
39
40
  {
40
41
  type: 'list',
41
42
  name: 'backup',
42
- message: 'Select a backup to restore:',
43
+ message: t('backup_select_prompt'),
43
44
  choices: backups,
44
45
  },
45
46
  ]);
46
47
  selected = answer.backup;
47
48
  }
48
49
  await BackupManager.restoreBackup(selected, SETTINGS_FILE);
49
- success(`Restored backup "${selected}"`);
50
+ success(t('backup_restored', { name: selected }));
50
51
  }
51
52
  catch (err) {
52
53
  handleError(err);
@@ -1 +1 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,gBAAgB,CAAC,CAAC;AAEjC,aAAa;KACV,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEL,aAAa;KACV,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;IAC9B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACnC;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,6BAA6B;oBACtC,OAAO,EAAE,OAAO;iBACjB;aACF,CAAC,CAAC;YACH,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,CAAC;QAED,MAAM,aAAa,CAAC,aAAa,CAAC,QAAS,EAAE,aAAa,CAAC,CAAC;QAC5D,OAAO,CAAC,oBAAoB,QAAQ,GAAG,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AAEjC,aAAa;KACV,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;KAClC,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEL,aAAa;KACV,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;KACrC,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;IAC9B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACnC;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC,CAAC,sBAAsB,CAAC;oBAClC,OAAO,EAAE,OAAO;iBACjB;aACF,CAAC,CAAC;YACH,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,CAAC;QAED,MAAM,aAAa,CAAC,aAAa,CAAC,QAAS,EAAE,aAAa,CAAC,CAAC;QAC5D,OAAO,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAS,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,aAAa,SACyB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,aAAa,SACM,CAAC"}
@@ -5,12 +5,13 @@ import { ConfigWriter } from '../core/writer.js';
5
5
  import { maskValue } from '../schema/settings.js';
6
6
  import { success } from '../utils/logger.js';
7
7
  import { handleError } from '../utils/errors.js';
8
+ import { t } from '../i18n.js';
8
9
  export const configCommand = new Command('config')
9
- .description('Get/set/show configuration values');
10
+ .description(t('config_desc'));
10
11
  configCommand
11
12
  .command('show')
12
- .description('Show current configuration')
13
- .option('--full', 'Show sensitive values without masking')
13
+ .description(t('config_show_desc'))
14
+ .option('--full', t('config_full_desc'))
14
15
  .action((opts) => {
15
16
  try {
16
17
  const settings = ConfigReader.readSettings();
@@ -24,13 +25,13 @@ configCommand
24
25
  });
25
26
  configCommand
26
27
  .command('get <path>')
27
- .description('Get a configuration value (e.g., env.ANTHROPIC_BASE_URL)')
28
+ .description(t('config_get_desc'))
28
29
  .action((pathStr) => {
29
30
  try {
30
31
  const settings = ConfigReader.readSettings();
31
32
  const value = getNestedValue(settings, pathStr);
32
33
  if (value === undefined) {
33
- console.log(chalk.dim(` ${pathStr} is not set`));
34
+ console.log(chalk.dim(` ${t('config_not_set', { path: pathStr })}`));
34
35
  }
35
36
  else {
36
37
  console.log(JSON.stringify(value, null, 2));
@@ -42,14 +43,14 @@ configCommand
42
43
  });
43
44
  configCommand
44
45
  .command('set <path> <value>')
45
- .description('Set a configuration value')
46
+ .description(t('config_set_desc'))
46
47
  .action(async (pathStr, value) => {
47
48
  try {
48
49
  const settings = ConfigReader.readSettings();
49
50
  const parsed = inferType(value);
50
51
  setNestedValue(settings, pathStr, parsed);
51
52
  await ConfigWriter.writeSettings(settings);
52
- success(`Set ${pathStr} = ${JSON.stringify(parsed)}`);
53
+ success(t('config_set_success', { path: pathStr, value: JSON.stringify(parsed) }));
53
54
  }
54
55
  catch (err) {
55
56
  handleError(err);
@@ -57,13 +58,13 @@ configCommand
57
58
  });
58
59
  configCommand
59
60
  .command('unset <path>')
60
- .description('Remove a configuration value')
61
+ .description(t('config_unset_desc'))
61
62
  .action(async (pathStr) => {
62
63
  try {
63
64
  const settings = ConfigReader.readSettings();
64
65
  unsetNestedValue(settings, pathStr);
65
66
  await ConfigWriter.writeSettings(settings);
66
- success(`Removed ${pathStr}`);
67
+ success(t('config_unset_success', { path: pathStr }));
67
68
  }
68
69
  catch (err) {
69
70
  handleError(err);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Command } from 'commander';
2
+ export declare function runCreate(): Promise<void>;
3
+ export declare const createCommand: Command;
4
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA8M/C;AAED,eAAO,MAAM,aAAa,SAWtB,CAAC"}
@@ -0,0 +1,229 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import inquirer from 'inquirer';
4
+ import { ConfigReader } from '../core/reader.js';
5
+ import { ConfigWriter } from '../core/writer.js';
6
+ import { success } from '../utils/logger.js';
7
+ import { promptWithAbort, AbortError } from '../utils/prompt.js';
8
+ import { t } from '../i18n.js';
9
+ const SKIP = '__SKIP__';
10
+ export async function runCreate() {
11
+ const presets = ConfigReader.listPresets();
12
+ // Step 0: Preset name
13
+ const { name } = await promptWithAbort([
14
+ {
15
+ type: 'input',
16
+ name: 'name',
17
+ message: t('create_preset_name_prompt'),
18
+ validate: (v) => {
19
+ if (!v.trim())
20
+ return t('create_name_required');
21
+ if (presets.includes(v.trim()))
22
+ return t('create_name_exists', { name: v.trim() });
23
+ return true;
24
+ },
25
+ },
26
+ ]);
27
+ const presetName = name.trim();
28
+ // Build settings step by step
29
+ const settings = { env: {} };
30
+ // Step 1: ANTHROPIC_API_KEY (required)
31
+ const { apiKey } = await promptWithAbort([
32
+ {
33
+ type: 'password',
34
+ name: 'apiKey',
35
+ message: fieldPrompt('ANTHROPIC_API_KEY', t('create_api_key_desc'), t('create_api_key_example')),
36
+ validate: (v) => (v.trim() ? true : t('template_var_required', { key: 'ANTHROPIC_API_KEY' })),
37
+ },
38
+ ]);
39
+ settings.env.ANTHROPIC_API_KEY = apiKey.trim();
40
+ // Step 2: ANTHROPIC_AUTH_TOKEN (optional)
41
+ const { authToken } = await promptWithAbort([
42
+ {
43
+ type: 'password',
44
+ name: 'authToken',
45
+ message: fieldPrompt('ANTHROPIC_AUTH_TOKEN', t('create_auth_token_desc'), t('create_auth_token_example'), true),
46
+ },
47
+ ]);
48
+ if (authToken.trim()) {
49
+ settings.env.ANTHROPIC_AUTH_TOKEN = authToken.trim();
50
+ }
51
+ // Step 3: ANTHROPIC_BASE_URL (optional)
52
+ const { baseUrl } = await promptWithAbort([
53
+ {
54
+ type: 'input',
55
+ name: 'baseUrl',
56
+ message: fieldPrompt('ANTHROPIC_BASE_URL', t('create_base_url_desc'), t('create_base_url_example'), true),
57
+ },
58
+ ]);
59
+ if (baseUrl.trim()) {
60
+ settings.env.ANTHROPIC_BASE_URL = baseUrl.trim();
61
+ }
62
+ // Step 4: SONNET_MODEL (optional, default provided)
63
+ const { sonnetModel } = await promptWithAbort([
64
+ {
65
+ type: 'input',
66
+ name: 'sonnetModel',
67
+ message: fieldPrompt('ANTHROPIC_DEFAULT_SONNET_MODEL', t('create_sonnet_model_desc'), '', false, 'claude-sonnet-4-20250514'),
68
+ default: 'claude-sonnet-4-20250514',
69
+ },
70
+ ]);
71
+ if (sonnetModel.trim()) {
72
+ settings.env.ANTHROPIC_DEFAULT_SONNET_MODEL = sonnetModel.trim();
73
+ }
74
+ // Step 5: OPUS_MODEL (optional, default provided)
75
+ const { opusModel } = await promptWithAbort([
76
+ {
77
+ type: 'input',
78
+ name: 'opusModel',
79
+ message: fieldPrompt('ANTHROPIC_DEFAULT_OPUS_MODEL', t('create_opus_model_desc'), '', false, 'claude-opus-4-20250514'),
80
+ default: 'claude-opus-4-20250514',
81
+ },
82
+ ]);
83
+ if (opusModel.trim()) {
84
+ settings.env.ANTHROPIC_DEFAULT_OPUS_MODEL = opusModel.trim();
85
+ }
86
+ // Step 6: HAIKU_MODEL (optional, default provided)
87
+ const { haikuModel } = await promptWithAbort([
88
+ {
89
+ type: 'input',
90
+ name: 'haikuModel',
91
+ message: fieldPrompt('ANTHROPIC_DEFAULT_HAIKU_MODEL', t('create_haiku_model_desc'), '', false, 'claude-haiku-35-20241022'),
92
+ default: 'claude-haiku-35-20241022',
93
+ },
94
+ ]);
95
+ if (haikuModel.trim()) {
96
+ settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL = haikuModel.trim();
97
+ }
98
+ // Step 7: permissions.defaultMode (list + Skip)
99
+ const { permMode } = await promptWithAbort([
100
+ {
101
+ type: 'list',
102
+ name: 'permMode',
103
+ message: `permissions.defaultMode\n ${t('create_permissions_desc')}\n ${t('create_optional_hint')}`,
104
+ choices: [
105
+ { name: 'default', value: 'default' },
106
+ { name: 'bypassPermissions', value: 'bypassPermissions' },
107
+ { name: 'acceptEdits', value: 'acceptEdits' },
108
+ new inquirer.Separator(),
109
+ { name: t('create_skip_option'), value: SKIP },
110
+ ],
111
+ },
112
+ ]);
113
+ if (permMode !== SKIP) {
114
+ settings.permissions = { defaultMode: permMode };
115
+ }
116
+ // Step 8: language (list + Skip)
117
+ const { langChoice } = await promptWithAbort([
118
+ {
119
+ type: 'list',
120
+ name: 'langChoice',
121
+ message: `language\n ${t('create_language_desc')}\n ${t('create_optional_hint')}`,
122
+ choices: [
123
+ { name: 'zh', value: 'zh' },
124
+ { name: 'en', value: 'en' },
125
+ new inquirer.Separator(),
126
+ { name: t('create_skip_option'), value: SKIP },
127
+ ],
128
+ },
129
+ ]);
130
+ if (langChoice !== SKIP) {
131
+ settings.language = langChoice;
132
+ }
133
+ // Step 9: alwaysThinkingEnabled (list + Skip)
134
+ const { thinking } = await promptWithAbort([
135
+ {
136
+ type: 'list',
137
+ name: 'thinking',
138
+ message: `alwaysThinkingEnabled\n ${t('create_thinking_desc')}\n ${t('create_optional_hint')}`,
139
+ choices: [
140
+ { name: 'true', value: 'true' },
141
+ { name: 'false', value: 'false' },
142
+ new inquirer.Separator(),
143
+ { name: t('create_skip_option'), value: SKIP },
144
+ ],
145
+ },
146
+ ]);
147
+ if (thinking !== SKIP) {
148
+ settings.alwaysThinkingEnabled = thinking === 'true';
149
+ }
150
+ // Step 10: skipDangerousModePermissionPrompt (list + Skip)
151
+ const { dangerous } = await promptWithAbort([
152
+ {
153
+ type: 'list',
154
+ name: 'dangerous',
155
+ message: `skipDangerousModePermissionPrompt\n ${t('create_dangerous_desc')}\n ${t('create_optional_hint')}`,
156
+ choices: [
157
+ { name: 'true', value: 'true' },
158
+ { name: 'false', value: 'false' },
159
+ new inquirer.Separator(),
160
+ { name: t('create_skip_option'), value: SKIP },
161
+ ],
162
+ },
163
+ ]);
164
+ if (dangerous !== SKIP) {
165
+ settings.skipDangerousModePermissionPrompt = dangerous === 'true';
166
+ }
167
+ // Step 11: Summary and confirm
168
+ console.log('');
169
+ console.log(chalk.cyan.bold(t('create_summary_header')));
170
+ console.log(chalk.white(` name: ${presetName}`));
171
+ for (const [k, v] of Object.entries(settings.env)) {
172
+ console.log(` env.${k}: ${v}`);
173
+ }
174
+ if (settings.permissions) {
175
+ console.log(` permissions: ${JSON.stringify(settings.permissions)}`);
176
+ }
177
+ if (settings.language !== undefined) {
178
+ console.log(` language: ${settings.language}`);
179
+ }
180
+ if (settings.alwaysThinkingEnabled !== undefined) {
181
+ console.log(` alwaysThinkingEnabled: ${settings.alwaysThinkingEnabled}`);
182
+ }
183
+ if (settings.skipDangerousModePermissionPrompt !== undefined) {
184
+ console.log(` skipDangerousModePermissionPrompt: ${settings.skipDangerousModePermissionPrompt}`);
185
+ }
186
+ console.log('');
187
+ const { confirm } = await promptWithAbort([
188
+ {
189
+ type: 'confirm',
190
+ name: 'confirm',
191
+ message: t('create_confirm'),
192
+ default: true,
193
+ },
194
+ ]);
195
+ if (!confirm) {
196
+ console.log(chalk.dim(t('create_cancelled')));
197
+ return;
198
+ }
199
+ await ConfigWriter.savePreset(presetName, settings);
200
+ success(t('create_saved', { name: presetName }));
201
+ }
202
+ export const createCommand = new Command('create')
203
+ .description(t('create_desc'))
204
+ .action(async () => {
205
+ try {
206
+ await runCreate();
207
+ }
208
+ catch (err) {
209
+ if (err instanceof AbortError)
210
+ return;
211
+ if (err instanceof Error) {
212
+ console.log(chalk.red(t('interactive_error', { msg: err.message })));
213
+ }
214
+ }
215
+ });
216
+ function fieldPrompt(key, desc, example, optional = false, defaultValue) {
217
+ const lines = [`${key}`, ` ${desc}`];
218
+ if (example) {
219
+ lines.push(` ${t('create_field_example', { example })}`);
220
+ }
221
+ if (defaultValue) {
222
+ lines.push(` ${t('create_default_hint')}`);
223
+ }
224
+ if (optional) {
225
+ lines.push(` ${t('create_optional_hint')}`);
226
+ }
227
+ return lines.join('\n');
228
+ }
229
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AAG/B,MAAM,IAAI,GAAG,UAAU,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IAE3C,sBAAsB;IACtB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,eAAe,CAAmB;QACvD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,CAAC,2BAA2B,CAAC;YACvC,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE;gBACtB,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;oBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC;gBAChD,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAAE,OAAO,CAAC,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnF,OAAO,IAAI,CAAC;YACd,CAAC;SACF;KACF,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE/B,8BAA8B;IAC9B,MAAM,QAAQ,GAAa,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAEvC,uCAAuC;IACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAqB;QAC3D;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAC;YAChG,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC,CAAC;SACtG;KACF,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAE/C,0CAA0C;IAC1C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAwB;QACjE;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,WAAW,CAAC,sBAAsB,EAAE,CAAC,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,2BAA2B,CAAC,EAAE,IAAI,CAAC;SAChH;KACF,CAAC,CAAC;IACH,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACrB,QAAQ,CAAC,GAAG,CAAC,oBAAoB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,wCAAwC;IACxC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,eAAe,CAAsB;QAC7D;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,WAAW,CAAC,oBAAoB,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,yBAAyB,CAAC,EAAE,IAAI,CAAC;SAC1G;KACF,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,QAAQ,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACnD,CAAC;IAED,oDAAoD;IACpD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,eAAe,CAA0B;QACrE;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,WAAW,CAAC,gCAAgC,EAAE,CAAC,CAAC,0BAA0B,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,0BAA0B,CAAC;YAC5H,OAAO,EAAE,0BAA0B;SACpC;KACF,CAAC,CAAC;IACH,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACvB,QAAQ,CAAC,GAAG,CAAC,8BAA8B,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IACnE,CAAC;IAED,kDAAkD;IAClD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAwB;QACjE;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,WAAW,CAAC,8BAA8B,EAAE,CAAC,CAAC,wBAAwB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,wBAAwB,CAAC;YACtH,OAAO,EAAE,wBAAwB;SAClC;KACF,CAAC,CAAC;IACH,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACrB,QAAQ,CAAC,GAAG,CAAC,4BAA4B,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/D,CAAC;IAED,mDAAmD;IACnD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,eAAe,CAAyB;QACnE;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,WAAW,CAAC,+BAA+B,EAAE,CAAC,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,0BAA0B,CAAC;YAC1H,OAAO,EAAE,0BAA0B;SACpC;KACF,CAAC,CAAC;IACH,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACtB,QAAQ,CAAC,GAAG,CAAC,6BAA6B,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IACjE,CAAC;IAED,gDAAgD;IAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,eAAe,CAAuB;QAC/D;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,8BAA8B,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,EAAE;YACrG,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACrC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;gBACzD,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC7C,IAAI,QAAQ,CAAC,SAAS,EAAE;gBACxB,EAAE,IAAI,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;aAC/C;SACF;KACF,CAAC,CAAC;IACH,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,QAAQ,CAAC,WAAW,GAAG,EAAE,WAAW,EAAE,QAA2D,EAAE,CAAC;IACtG,CAAC;IAED,iCAAiC;IACjC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,eAAe,CAAyB;QACnE;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,eAAe,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,EAAE;YACnF,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;gBAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;gBAC3B,IAAI,QAAQ,CAAC,SAAS,EAAE;gBACxB,EAAE,IAAI,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;aAC/C;SACF;KACF,CAAC,CAAC;IACH,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,QAAQ,CAAC,QAAQ,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,8CAA8C;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,eAAe,CAAuB;QAC/D;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,4BAA4B,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,EAAE;YAChG,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACjC,IAAI,QAAQ,CAAC,SAAS,EAAE;gBACxB,EAAE,IAAI,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;aAC/C;SACF;KACF,CAAC,CAAC;IACH,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,KAAK,MAAM,CAAC;IACvD,CAAC;IAED,2DAA2D;IAC3D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAwB;QACjE;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,wCAAwC,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,EAAE;YAC7G,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACjC,IAAI,QAAQ,CAAC,SAAS,EAAE;gBACxB,EAAE,IAAI,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;aAC/C;SACF;KACF,CAAC,CAAC;IACH,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,QAAQ,CAAC,iCAAiC,GAAG,SAAS,KAAK,MAAM,CAAC;IACpE,CAAC;IAED,+BAA+B;IAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC,CAAC;IAClD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,QAAQ,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,4BAA4B,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,QAAQ,CAAC,iCAAiC,KAAK,SAAS,EAAE,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,wCAAwC,QAAQ,CAAC,iCAAiC,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,eAAe,CAAuB;QAC9D;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC,CAAC,gBAAgB,CAAC;YAC5B,OAAO,EAAE,IAAI;SACd;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,MAAM,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACpD,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;KAC7B,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,UAAU;YAAE,OAAO;QACtC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,SAAS,WAAW,CAClB,GAAW,EACX,IAAY,EACZ,OAAe,EACf,QAAQ,GAAG,KAAK,EAChB,YAAqB;IAErB,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACtC,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Command } from 'commander';
2
+ export declare function runEdit(presetName?: string): Promise<void>;
3
+ export declare const editCommand: Command;
4
+ //# sourceMappingURL=edit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/commands/edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAsB,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuIhE;AAED,eAAO,MAAM,WAAW,SAUpB,CAAC"}