@ranger-testing/ranger-cli 1.0.12 → 1.0.14

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 (72) hide show
  1. package/README.md +28 -65
  2. package/build/cli.js +105 -102
  3. package/build/cli.js.map +1 -1
  4. package/build/commands/addEnv.js +1 -1
  5. package/build/commands/addEnv.js.map +1 -1
  6. package/build/commands/authEncrypt.js +7 -6
  7. package/build/commands/authEncrypt.js.map +1 -1
  8. package/build/commands/clean.js +1 -1
  9. package/build/commands/clean.js.map +1 -1
  10. package/build/commands/config.js +5 -4
  11. package/build/commands/config.js.map +1 -1
  12. package/build/commands/dataMcpServer.js +1 -1
  13. package/build/commands/dataMcpServer.js.map +1 -1
  14. package/build/commands/env.js +17 -10
  15. package/build/commands/env.js.map +1 -1
  16. package/build/commands/feature.js +208 -273
  17. package/build/commands/feature.js.map +1 -1
  18. package/build/commands/index.js +3 -0
  19. package/build/commands/index.js.map +1 -1
  20. package/build/commands/postEditHook.js +25 -0
  21. package/build/commands/postEditHook.js.map +1 -0
  22. package/build/commands/preCompactHook.js +85 -0
  23. package/build/commands/preCompactHook.js.map +1 -0
  24. package/build/commands/sessionStartHook.js +64 -0
  25. package/build/commands/sessionStartHook.js.map +1 -0
  26. package/build/commands/skillup.js +21 -21
  27. package/build/commands/skillup.js.map +1 -1
  28. package/build/commands/start.js +1 -1
  29. package/build/commands/start.js.map +1 -1
  30. package/build/commands/status.js +30 -44
  31. package/build/commands/status.js.map +1 -1
  32. package/build/commands/update.js +32 -40
  33. package/build/commands/update.js.map +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/updateEnv.js.map +1 -1
  36. package/build/commands/useEnv.js +1 -1
  37. package/build/commands/useEnv.js.map +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/browserSessionsApi.js.map +1 -1
  40. package/build/commands/utils/cliSecret.js +1 -1
  41. package/build/commands/utils/environment.js +0 -6
  42. package/build/commands/utils/environment.js.map +1 -1
  43. package/build/commands/utils/featureApi.js +68 -24
  44. package/build/commands/utils/featureApi.js.map +1 -1
  45. package/build/commands/utils/featureReportGenerator.js +37 -3
  46. package/build/commands/utils/featureReportGenerator.js.map +1 -1
  47. package/build/commands/utils/keychain.js +1 -1
  48. package/build/commands/utils/keychain.js.map +1 -1
  49. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  50. package/build/commands/utils/mcpConfig.js +1 -1
  51. package/build/commands/utils/rangerRoot.js +30 -0
  52. package/build/commands/utils/rangerRoot.js.map +1 -0
  53. package/build/commands/utils/settings.js +7 -5
  54. package/build/commands/utils/settings.js.map +1 -1
  55. package/build/commands/utils/skillContent.js +28 -0
  56. package/build/commands/utils/skillContent.js.map +1 -0
  57. package/build/commands/utils/skills.js +1 -1
  58. package/build/commands/utils/skills.js.map +1 -1
  59. package/build/commands/utils/userApi.js +32 -0
  60. package/build/commands/utils/userApi.js.map +1 -0
  61. package/build/commands/verifyFeature.js +429 -104
  62. package/build/commands/verifyFeature.js.map +1 -1
  63. package/build/commands/verifyInBrowser.js +1 -1
  64. package/build/commands/verifyInBrowser.js.map +1 -1
  65. package/build/skills/bug-bash.md +31 -10
  66. package/build/skills/feature-tracker/SKILL.md +8 -30
  67. package/build/skills/feature-tracker/create.md +47 -38
  68. package/build/skills/feature-tracker/start.md +4 -4
  69. package/build/skills/feature-tracker/verify.md +10 -14
  70. package/package.json +5 -3
  71. package/scripts/postinstall.js +18 -0
  72. package/build/skills/feature-tracker/manage.md +0 -145
package/README.md CHANGED
@@ -10,34 +10,29 @@ npm install -g @ranger-testing/ranger-cli
10
10
 
11
11
  ## Quick Start
12
12
 
13
- 1. Get your API token from [dashboard.ranger.net/settings](https://dashboard.ranger.net/settings)
13
+ Go to [dashboard.ranger.net/cli](https://dashboard.ranger.net/cli) to get started.
14
14
 
15
- 2. Initialize Ranger in your project:
16
- ```bash
17
- ranger start <your-api-token>
18
- ```
15
+ ## Claude Code Plugin
19
16
 
20
- 3. Add an environment (e.g., local, staging, prod):
21
- ```bash
22
- ranger add env local
23
- ```
17
+ For the best experience with Claude Code, install the Ranger plugin. Run these commands **inside Claude Code**:
24
18
 
25
- 4. Install skills for Claude Code (run this in the directory where you want to use Ranger):
26
- ```bash
27
- ranger skillup
28
19
  ```
29
-
30
- 5. Start using Ranger skills in Claude Code! For example:
31
- ```
32
- /bug-bash test the new feature on this branch
33
- /e2e-test-recommender recommend tests for this new feature
20
+ /plugin marketplace add ranger-testing/trailhead
21
+ /plugin install ranger@trailhead
34
22
  ```
35
23
 
24
+ The plugin provides:
25
+ - **Auto-firing hooks** - Automatically loads Ranger context at session start
26
+ - **MCP tools** - Access to Ranger's test management and browser verification tools
27
+ - **Feature tracking** - Track feature development with verifiable checklist items
28
+
29
+ > **Note:** The plugin requires the CLI to be configured. Run `ranger start <token>` in a regular terminal first.
30
+
36
31
  ## Commands
37
32
 
38
33
  ### `ranger start <token>`
39
34
 
40
- Initialize Ranger in your project. Get your token from [dashboard.ranger.net/settings](https://dashboard.ranger.net/settings).
35
+ Initialize Ranger in your project. Get your token from [dashboard.ranger.net/cli](https://dashboard.ranger.net/cli).
41
36
 
42
37
  This command:
43
38
  - Validates your API token
@@ -86,12 +81,12 @@ Switch to a different environment.
86
81
  ranger use staging
87
82
  ```
88
83
 
89
- ### `ranger update env <env-name>`
84
+ ### `ranger env update <env-name>`
90
85
 
91
86
  Update authentication for an existing environment (re-capture cookies/storage).
92
87
 
93
88
  ```bash
94
- ranger update env staging
89
+ ranger env update staging
95
90
  ```
96
91
 
97
92
  ### `ranger update`
@@ -177,16 +172,17 @@ Create a new feature with a checklist. Automatically captures git context (repo
177
172
  ```bash
178
173
  ranger feature create "User Authentication" \
179
174
  --description "Login, signup, and password reset flows" \
180
- --checklist "Login works,Signup creates account,Password reset sends email"
175
+ -c "Login works" \
176
+ -c "Signup creates account" \
177
+ -c "Password reset sends email"
181
178
  ```
182
179
 
183
180
  #### `ranger feature list`
184
181
 
185
- List all features with status.
182
+ List all features with session status.
186
183
 
187
184
  ```bash
188
185
  ranger feature list # All features
189
- ranger feature list --status in_progress
190
186
  ranger feature list --current-branch # Features for current git branch
191
187
  ```
192
188
 
@@ -207,48 +203,15 @@ Set the active feature.
207
203
  ranger feature use feat_abc123
208
204
  ```
209
205
 
210
- #### `ranger feature resume`
211
-
212
- Find and use a feature matching the current git context (repo + branch).
213
-
214
- ```bash
215
- ranger feature resume
216
- ```
206
+ #### `ranger feature resume [id]`
217
207
 
218
- #### `ranger feature block [id]`
208
+ Find and use a feature matching the current git context (repo + branch). If multiple features match, prompts for selection.
219
209
 
220
- Mark a feature as blocked.
210
+ Optionally pass a feature ID to resume directly (bypasses search/prompt - useful for automation).
221
211
 
222
212
  ```bash
223
- ranger feature block --reason "Waiting for API changes"
224
- ```
225
-
226
- #### `ranger feature manage`
227
-
228
- Manage checklist items. Can be used interactively (for humans) or with flags (for agents/automation).
229
-
230
- **Interactive mode** (no flags):
231
- ```bash
232
- ranger feature manage
233
- # Shows menu to add, edit, block, cancel, or reset items
234
- ```
235
-
236
- **Non-interactive mode** (with flags - agent-friendly):
237
- ```bash
238
- # Add a new checklist item
239
- ranger feature manage --add "New checklist item description"
240
-
241
- # Edit an item's description (1-based index)
242
- ranger feature manage --edit 1 --description "Updated description"
243
-
244
- # Block an item with reason
245
- ranger feature manage --block 2 --reason "Bug found in login flow"
246
-
247
- # Cancel an item with reason
248
- ranger feature manage --cancel 3 --reason "Descoped to v2"
249
-
250
- # Reset an item to pending
251
- ranger feature manage --reset 2
213
+ ranger feature resume # Search by git context
214
+ ranger feature resume feat_abc123 # Resume specific feature directly
252
215
  ```
253
216
 
254
217
  #### `ranger feature report [id]`
@@ -267,15 +230,15 @@ Verify a checklist item in the browser. Requires an active feature.
267
230
 
268
231
  ```bash
269
232
  ranger verify-feature \
270
- --url "http://localhost:3000/login" \
271
233
  --task "Log in with valid credentials and verify redirect to dashboard"
272
234
  ```
273
235
 
236
+ The URL is derived from your active environment's `baseUrl` setting.
237
+
274
238
  Options:
275
- - `--url` (required): URL to navigate to
239
+ - `--env`: Environment to use (defaults to active environment)
276
240
  - `--task`: Task description (defaults to checklist item description)
277
241
  - `--item <index>`: Verify specific item by index (1-based)
278
- - `--new-item <description>`: Create and verify a new item
279
242
 
280
243
  ### `ranger clean`
281
244
 
@@ -429,4 +392,4 @@ Run `ranger add env <name>` to configure browser access for an environment.
429
392
 
430
393
  ### Authentication expired
431
394
 
432
- Run `ranger update env <env-name>` to refresh authentication cookies/storage.
395
+ Run `ranger env update <env-name>` to refresh authentication cookies/storage.
package/build/cli.js CHANGED
@@ -1,16 +1,32 @@
1
1
  #!/usr/bin/env node
2
+ import dotenv from 'dotenv';
3
+ import { dirname, join, parse } from 'path';
4
+ import { existsSync } from 'fs';
5
+ // Find project root by walking up from cwd looking for .ranger or .env
6
+ function findProjectRoot() {
7
+ let current = process.cwd();
8
+ const root = parse(current).root;
9
+ while (current !== root) {
10
+ if (existsSync(join(current, '.ranger')) ||
11
+ existsSync(join(current, '.env'))) {
12
+ return current;
13
+ }
14
+ current = dirname(current);
15
+ }
16
+ return process.cwd();
17
+ }
18
+ // Load .env from project root (not just cwd)
19
+ dotenv.config({ path: join(findProjectRoot(), '.env') });
2
20
  import yargs from 'yargs/yargs';
3
- import { addEnv, clean, start, useEnv, updateEnv, update, skillup, envList, } from './commands/index.js';
21
+ import { addEnv, clean, start, useEnv, updateEnv, update, skillup, envList, sessionStartHook, preCompactHook, postEditHook, } from './commands/index.js';
4
22
  import { authEncrypt } from './commands/authEncrypt.js';
5
23
  import { status } from './commands/status.js';
6
24
  import { configSet, configGet, configList, configUnset, } from './commands/config.js';
7
25
  import { dataMcpServer } from './commands/dataMcpServer.js';
8
26
  import { verifyInBrowser } from './commands/verifyInBrowser.js';
9
27
  import { verifyFeature } from './commands/verifyFeature.js';
10
- import { featureCreate, featureList, featureShow, featureUse, featureResume, featureBlock, featureManage, featureReport, } from './commands/feature.js';
28
+ import { featureCreate, featureList, featureShow, featureUse, featureResume, featureReport, featureSessions, featureConcludeSession, } from './commands/feature.js';
11
29
  import { generateMarkdownReport, collectScreenshots, } from './commands/utils/reportGenerator.js';
12
- import dotenv from 'dotenv';
13
- dotenv.config();
14
30
  // Setup yargs CLI
15
31
  yargs(process.argv.slice(2))
16
32
  .version('1.0.0')
@@ -31,15 +47,6 @@ yargs(process.argv.slice(2))
31
47
  });
32
48
  }, async (argv) => {
33
49
  await useEnv(argv['env-name']);
34
- })
35
- .command('update env <env-name>', 'Update authentication for an existing environment', (yargs) => {
36
- return yargs.positional('env-name', {
37
- type: 'string',
38
- description: 'Name of the environment to update',
39
- demandOption: true,
40
- });
41
- }, async (argv) => {
42
- await updateEnv(argv['env-name']);
43
50
  })
44
51
  .command('start <token>', 'Initialize Ranger in your project', (yargs) => {
45
52
  return yargs.positional('token', {
@@ -152,13 +159,24 @@ Examples:
152
159
  return yargs
153
160
  .command('ls', 'List all environments', () => { }, async () => {
154
161
  await envList();
162
+ })
163
+ .command('update <env-name>', 'Update authentication for an existing environment', (yargs) => {
164
+ return yargs.positional('env-name', {
165
+ type: 'string',
166
+ description: 'Name of the environment to update',
167
+ demandOption: true,
168
+ });
169
+ }, async (argv) => {
170
+ await updateEnv(argv['env-name']);
155
171
  })
156
172
  .demandCommand(1, 'You must specify an env subcommand')
157
173
  .epilogue(`Commands:
158
- ls List all environments
174
+ ls List all environments
175
+ update <env> Update authentication for an environment
159
176
 
160
177
  Examples:
161
- ranger env ls # List all environments`);
178
+ ranger env ls # List all environments
179
+ ranger env update local # Update auth for local environment`);
162
180
  })
163
181
  .command('data-mcp-server', 'Run MCP proxy server (reads credentials from OS Keychain)', async () => {
164
182
  await dataMcpServer();
@@ -244,9 +262,9 @@ Examples:
244
262
  description: 'Feature description',
245
263
  })
246
264
  .option('checklist', {
247
- type: 'string',
265
+ type: 'array',
248
266
  alias: 'c',
249
- description: 'Comma-separated list of checklist items',
267
+ description: 'Checklist items (use multiple -c flags for multiple items)',
250
268
  });
251
269
  }, async (argv) => {
252
270
  await featureCreate(argv.name, {
@@ -255,18 +273,12 @@ Examples:
255
273
  });
256
274
  })
257
275
  .command('list', 'List all features', (yargs) => {
258
- return yargs
259
- .option('status', {
260
- type: 'string',
261
- description: 'Filter by status (in_progress, completed, blocked)',
262
- })
263
- .option('current-branch', {
276
+ return yargs.option('current-branch', {
264
277
  type: 'boolean',
265
278
  description: 'Filter to features for current git branch',
266
279
  });
267
280
  }, async (argv) => {
268
281
  await featureList({
269
- status: argv.status,
270
282
  currentBranch: argv['current-branch'],
271
283
  });
272
284
  })
@@ -287,66 +299,13 @@ Examples:
287
299
  }, async (argv) => {
288
300
  await featureUse(argv.id);
289
301
  })
290
- .command('resume', 'Find and use feature matching current git context', () => { }, async () => {
291
- await featureResume();
292
- })
293
- .command('block [id]', 'Mark feature as blocked', (yargs) => {
294
- return yargs
295
- .positional('id', {
296
- type: 'string',
297
- description: 'Feature ID (uses active feature if not provided)',
298
- })
299
- .option('reason', {
300
- type: 'string',
301
- alias: 'r',
302
- description: 'Blocking reason',
303
- demandOption: true,
304
- });
305
- }, async (argv) => {
306
- await featureBlock(argv.id, {
307
- reason: argv.reason,
308
- });
309
- })
310
- .command('manage', 'Manage checklist items (interactive or with flags)', (yargs) => {
311
- return yargs
312
- .option('add', {
313
- type: 'string',
314
- description: 'Add a new checklist item with this description',
315
- })
316
- .option('edit', {
317
- type: 'number',
318
- description: 'Edit item at this index (1-based)',
319
- })
320
- .option('description', {
321
- type: 'string',
322
- description: 'New description (used with --edit)',
323
- })
324
- .option('block', {
325
- type: 'number',
326
- description: 'Block item at this index (1-based)',
327
- })
328
- .option('cancel', {
329
- type: 'number',
330
- description: 'Cancel item at this index (1-based)',
331
- })
332
- .option('reset', {
333
- type: 'number',
334
- description: 'Reset item at this index to pending (1-based)',
335
- })
336
- .option('reason', {
302
+ .command('resume [id]', 'Find and use feature matching current git context', (yargs) => {
303
+ return yargs.positional('id', {
337
304
  type: 'string',
338
- description: 'Reason (used with --block or --cancel)',
305
+ description: 'Feature ID (optional - bypasses search/prompt)',
339
306
  });
340
307
  }, async (argv) => {
341
- await featureManage({
342
- add: argv.add,
343
- edit: argv.edit,
344
- description: argv.description,
345
- block: argv.block,
346
- cancel: argv.cancel,
347
- reset: argv.reset,
348
- reason: argv.reason,
349
- });
308
+ await featureResume(argv.id);
350
309
  })
351
310
  .command('report [id]', 'Generate feature report', (yargs) => {
352
311
  return yargs
@@ -358,36 +317,59 @@ Examples:
358
317
  type: 'string',
359
318
  alias: 'o',
360
319
  description: 'Output file path',
320
+ })
321
+ .option('style', {
322
+ type: 'string',
323
+ alias: 's',
324
+ description: 'Markdown style (github or slack)',
325
+ choices: ['github', 'slack'],
326
+ default: 'github',
361
327
  });
362
328
  }, async (argv) => {
363
329
  await featureReport(argv.id, {
364
330
  output: argv.output,
331
+ style: argv.style,
332
+ });
333
+ })
334
+ .command('sessions [id]', 'List sessions for a feature', (yargs) => {
335
+ return yargs.positional('id', {
336
+ type: 'string',
337
+ description: 'Feature ID (uses active feature if not provided)',
338
+ });
339
+ }, async (argv) => {
340
+ await featureSessions(argv.id);
341
+ })
342
+ .command('conclude-session [id]', 'End the current session (even with incomplete items)', (yargs) => {
343
+ return yargs.positional('id', {
344
+ type: 'string',
345
+ description: 'Feature ID (uses active feature if not provided)',
365
346
  });
347
+ }, async (argv) => {
348
+ await featureConcludeSession(argv.id);
366
349
  })
367
350
  .demandCommand(1, 'You must specify a feature subcommand')
368
351
  .epilogue(`Commands:
369
- create <name> Create a new feature with checklist
370
- list List all features
371
- show [id] Show feature details
372
- use <id> Set active feature
373
- resume Find and use feature matching current git context
374
- block [id] Mark feature as blocked
375
- manage Manage checklist items (interactive)
376
- report [id] Generate feature report
352
+ create <name> Create a new feature with checklist
353
+ list List all features
354
+ show [id] Show feature details
355
+ use <id> Set active feature
356
+ resume [id] Find and use feature matching current git context
357
+ report [id] Generate feature report
358
+ sessions [id] List sessions for a feature
359
+ conclude-session End the current session (even with incomplete items)
377
360
 
378
- Examples:
379
- ranger feature create "User auth" --checklist "Login works,Signup works"
380
- ranger feature list --current-branch
381
- ranger feature show
382
- ranger feature resume
383
- ranger feature manage`);
361
+ Examples:
362
+ ranger feature create "User auth" -c "Login works" -c "Signup works"
363
+ ranger feature list --current-branch
364
+ ranger feature show
365
+ ranger feature resume
366
+ ranger feature conclude-session`);
384
367
  })
385
368
  .command('verify-feature', 'Verify a checklist item in the browser (requires active feature)', (yargs) => {
386
369
  return yargs
387
- .option('url', {
370
+ .option('env', {
388
371
  type: 'string',
389
- description: 'URL to navigate to',
390
- demandOption: true,
372
+ description: 'Environment to use (defaults to active environment)',
391
373
  })
392
374
  .option('task', {
393
375
  type: 'string',
@@ -397,15 +379,23 @@ Examples:
397
379
  type: 'number',
398
380
  description: 'Checklist item index (1-based)',
399
381
  })
400
- .option('new-item', {
382
+ .option('debug-outcome', {
401
383
  type: 'string',
402
- description: 'Create and verify a new checklist item with this description',
384
+ hidden: true,
385
+ choices: [
386
+ 'verified',
387
+ 'partial',
388
+ 'blocked',
389
+ 'failed',
390
+ 'incomplete',
391
+ ],
403
392
  });
404
393
  }, async (argv) => {
405
- const result = await verifyFeature(argv.url, {
394
+ const result = await verifyFeature({
395
+ env: argv.env,
406
396
  task: argv.task,
407
397
  item: argv.item,
408
- newItem: argv['new-item'],
398
+ debugOutcome: argv['debug-outcome'],
409
399
  });
410
400
  console.log('\n' + '='.repeat(60));
411
401
  console.log(result.evaluation === 'verified'
@@ -429,6 +419,19 @@ Examples:
429
419
  console.log(`\nFull Trace: ${result.traceViewerUrl}`);
430
420
  }
431
421
  process.exit(result.evaluation === 'verified' ? 0 : 1);
422
+ })
423
+ // Plugin hook commands (hidden from help - invoked automatically by Claude Code plugin)
424
+ .command('session-start-hook', false, // Hidden from help
425
+ () => { }, async () => {
426
+ await sessionStartHook();
427
+ })
428
+ .command('pre-compact-hook', false, // Hidden from help
429
+ () => { }, async () => {
430
+ await preCompactHook();
431
+ })
432
+ .command('post-edit-hook', false, // Hidden from help
433
+ () => { }, async () => {
434
+ await postEditHook();
432
435
  })
433
436
  .demandCommand(1, 'You must specify a command')
434
437
  .strictCommands()
package/build/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- (function(_0x3533ef,_0x4c9eff){const _0x2419d7=_0x1296,_0x22cdc5=_0x3533ef();while(!![]){try{const _0x3ddb72=-parseInt(_0x2419d7(0x165))/0x1+-parseInt(_0x2419d7(0x16c))/0x2+-parseInt(_0x2419d7(0x16f))/0x3*(-parseInt(_0x2419d7(0x171))/0x4)+-parseInt(_0x2419d7(0x16d))/0x5*(parseInt(_0x2419d7(0x173))/0x6)+-parseInt(_0x2419d7(0x14f))/0x7*(-parseInt(_0x2419d7(0x14c))/0x8)+parseInt(_0x2419d7(0x15c))/0x9*(parseInt(_0x2419d7(0x149))/0xa)+-parseInt(_0x2419d7(0x14a))/0xb*(parseInt(_0x2419d7(0x17c))/0xc);if(_0x3ddb72===_0x4c9eff)break;else _0x22cdc5['push'](_0x22cdc5['shift']());}catch(_0x1e0717){_0x22cdc5['push'](_0x22cdc5['shift']());}}}(_0xa812,0x2e025));import{mkdir,writeFile,readFile,unlink}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x9344c from'inquirer';function _0xa812(){const _0x24f757=['69474wqNVDM','environmentDetails','xokgP','✓\x20Encrypted\x20auth\x20saved\x20to:\x20','yJhXx','✓\x20Auth\x20state\x20saved\x20to:\x20','qQLbX','CuiAf','\x20\x20Set\x20RANGER_API_TOKEN\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','28524RflWsv','VMJye','\x0a💡\x20Tip:\x20Run\x20\x22ranger\x20skillup\x22\x20to\x20install\x20the\x20bug-bash\x20skill\x20for\x20this\x20environment','\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','\x0aRanger\x20Tests\x20MCP\x20is\x20not\x20initialized.','1231860EvPfET','297iEwtaH','error','56wfnIfa','\x0a📋\x20Authentication\x20Setup','Saving\x20authentication\x20state...','30149URowWK','\x20\x20\x20To\x20initialize,\x20run:\x20ranger\x20start\x20<token>','sxndg','Aborted.','.enc','Encrypt\x20auth\x20state?\x20(Recommended\x20for\x20CI\x20-\x20allows\x20committing\x20to\x20git)','settings.json','log','\x20\x20\x20When\x20you\x20are\x20done\x20logging\x20in,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','prompt','gVovZ','active-env.txt','xgSyt','18eHLDcJ','\x20\x20\x20\x20\x20ranger\x20skillup','gWhaB','JRWGx','\x22\x20already\x20exists.\x20Overwrite?','baseUrl','overwrite','✓\x20Created\x20settings:\x20','close','58755OfwTlo','MyTds','EIIHv','phBOp','UKMAO','requiresAuth','Dwwtu','158532NbabaZ','50bwBcZc','env','6FZaEad','goto','459844OZjgDM','\x0a\x20\x20Environment\x20\x22'];_0xa812=function(){return _0x24f757;};return _0xa812();}import{chromium}from'playwright';import{hasRangerServer,loadMcpConfig}from'./utils/mcpConfig.js';function _0x1296(_0x8fee05,_0x11485c){_0x8fee05=_0x8fee05-0x149;const _0xa8125b=_0xa812();let _0x12964b=_0xa8125b[_0x8fee05];return _0x12964b;}import{saveSettings}from'./utils/settings.js';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';export async function addEnv(_0x3d04c9){const _0xfd0371=_0x1296,_0x513cfe={'TSrbu':_0xfd0371(0x14e),'gLkZQ':function(_0x29a8a0){return _0x29a8a0();},'QYtIt':'close','gVovZ':'.ranger','DoMws':'confirm','tZsuB':_0xfd0371(0x152),'Dwwtu':'input','JRWGx':'baseUrl','bzkQB':'What\x20is\x20the\x20URL\x20to\x20this\x20environment?\x20(e.g.\x20http://localhost:3000)','yJhXx':_0xfd0371(0x16a),'gWhaB':'Manually\x20authenticate\x20into\x20your\x20app\x20to\x20save\x20session?','MyTds':function(_0x58f749,_0x23e21f,_0x286422){return _0x58f749(_0x23e21f,_0x286422);},'aQbsV':'shouldEncrypt','wUTUe':_0xfd0371(0x154),'qQLbX':_0xfd0371(0x14d),'UKMAO':'\x20\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20to\x20the\x20environment\x20you\x20want\x20to\x20test\x20so\x20Ranger\x20can\x20access\x20it.','xokgP':_0xfd0371(0x157),'BClXc':function(_0xf8b6e0,_0x42f035){return _0xf8b6e0||_0x42f035;},'UGpCe':'about:blank','IjUzj':'utf-8','CuiAf':'\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found\x20in\x20keychain\x20or\x20RANGER_API_TOKEN\x20env\x20var','JsVGx':function(_0x1ed4c7,_0x1e3c52){return _0x1ed4c7+_0x1e3c52;},'EIIHv':function(_0x30c64d,_0x5c9b06){return _0x30c64d(_0x5c9b06);},'qRnKw':_0xfd0371(0x17b),'xgSyt':function(_0x28d368,_0x550be7,_0x3cdeb0){return _0x28d368(_0x550be7,_0x3cdeb0);},'YzrNf':_0xfd0371(0x150),'phBOp':function(_0x3672e5,_0x20d747,_0x2f2677,_0x4b07cd){return _0x3672e5(_0x20d747,_0x2f2677,_0x4b07cd);},'sxndg':_0xfd0371(0x15a),'VMJye':_0xfd0371(0x17e)},_0x1a60b2=join(process['cwd'](),_0x513cfe[_0xfd0371(0x159)],_0x3d04c9);if(existsSync(_0x1a60b2)){const {overwrite:_0x3cebaa}=await _0x9344c[_0xfd0371(0x158)]([{'type':_0x513cfe['DoMws'],'name':_0xfd0371(0x162),'message':'Environment\x20\x22'+_0x3d04c9+_0xfd0371(0x160),'default':![]}]);if(!_0x3cebaa){console['log'](_0x513cfe['tZsuB']);return;}}const {baseUrl:_0x5166c8}=await _0x9344c[_0xfd0371(0x158)]([{'type':_0x513cfe[_0xfd0371(0x16b)],'name':_0x513cfe[_0xfd0371(0x15f)],'message':_0x513cfe['bzkQB']}]),{requiresAuth:_0x18ee4b}=await _0x9344c[_0xfd0371(0x158)]([{'type':_0x513cfe['DoMws'],'name':_0x513cfe[_0xfd0371(0x177)],'message':_0x513cfe[_0xfd0371(0x15e)],'default':!![]}]);await _0x513cfe[_0xfd0371(0x166)](mkdir,_0x1a60b2,{'recursive':!![]});const _0x3684ed=join(_0x1a60b2,'auth.json');let _0x158429;if(_0x18ee4b){const {shouldEncrypt:_0x3ffea9}=await _0x9344c['prompt']([{'type':_0x513cfe['DoMws'],'name':_0x513cfe['aQbsV'],'message':_0x513cfe['wUTUe'],'default':![]}]);console[_0xfd0371(0x156)](_0x513cfe[_0xfd0371(0x179)]),console[_0xfd0371(0x156)](_0x513cfe[_0xfd0371(0x169)]),console['log'](_0x513cfe[_0xfd0371(0x175)]),await new Promise(_0x1e42a4=>setTimeout(_0x1e42a4,0xbb8));const _0x2880d1=await chromium['launch']({'headless':![]}),_0x286474=await _0x2880d1['newContext'](),_0x1aba03=await _0x286474['newPage']();await _0x1aba03[_0xfd0371(0x170)](_0x513cfe['BClXc'](_0x5166c8,_0x513cfe['UGpCe'])),await new Promise(_0x12d285=>{_0x1aba03['on'](_0x513cfe['QYtIt'],async()=>{const _0x1d0e9b=_0x1296;try{console[_0x1d0e9b(0x156)](_0x513cfe['TSrbu']),await _0x286474['storageState']({'path':_0x3684ed});}catch{}_0x513cfe['gLkZQ'](_0x12d285);});}),await _0x2880d1[_0xfd0371(0x164)]();const _0x2c61e0=await _0x9344c[_0xfd0371(0x158)]([{'type':_0x513cfe[_0xfd0371(0x16b)],'name':'environmentDetails','message':'What\x20is\x20this\x20environment\x20for?\x20(e.g.\x20this\x20is\x20our\x20internal\x20tools\x20app)'}]);_0x158429=_0x2c61e0['environmentDetails'];if(_0x3ffea9){const _0x4a32cf=await readFile(_0x3684ed,_0x513cfe['IjUzj']),_0x6dcf1d=process[_0xfd0371(0x16e)]['RANGER_API_TOKEN']||await getToken();if(!_0x6dcf1d)console[_0xfd0371(0x14b)](_0x513cfe[_0xfd0371(0x17a)]),console[_0xfd0371(0x156)](_0xfd0371(0x178)+_0x3684ed);else{const _0x1cf79a=encrypt(_0x4a32cf,_0x6dcf1d);await writeFile(_0x513cfe['JsVGx'](_0x3684ed,_0xfd0371(0x153)),_0x1cf79a),await _0x513cfe[_0xfd0371(0x167)](unlink,_0x3684ed),console['log'](_0xfd0371(0x176)+_0x3684ed+_0xfd0371(0x153)),console[_0xfd0371(0x156)](_0xfd0371(0x17f)),console[_0xfd0371(0x156)](_0x513cfe['qRnKw']);}}else console['log'](_0xfd0371(0x178)+_0x3684ed);}const _0x20156d={};_0x5166c8&&(_0x20156d[_0xfd0371(0x161)]=_0x5166c8);_0x18ee4b&&_0x158429&&(_0x20156d[_0xfd0371(0x174)]=_0x158429);await _0x513cfe[_0xfd0371(0x166)](saveSettings,_0x3d04c9,_0x20156d),console['log'](_0xfd0371(0x163)+_0x513cfe[_0xfd0371(0x15b)](join,_0x1a60b2,_0xfd0371(0x155)));const _0x5064ab=await loadMcpConfig();!_0x513cfe['EIIHv'](hasRangerServer,_0x5064ab)&&(console[_0xfd0371(0x14b)](_0xfd0371(0x180)),console['error'](_0x513cfe['YzrNf']),process['exit'](0x1));const _0x5593a3=_0x513cfe[_0xfd0371(0x168)](join,process['cwd'](),'.ranger',_0x513cfe[_0xfd0371(0x151)]);await writeFile(_0x5593a3,_0x3d04c9),console[_0xfd0371(0x156)]('\x20\x20Set\x20active\x20environment:\x20'+_0x3d04c9),console[_0xfd0371(0x156)](_0x513cfe[_0xfd0371(0x17d)]),console['log'](_0xfd0371(0x172)+_0x3d04c9+'\x22\x20configured'),console[_0xfd0371(0x156)]('\x0a\x20\x20Install\x20skills\x20for\x20Claude\x20Code:'),console[_0xfd0371(0x156)](_0xfd0371(0x15d));}
1
+ (function(_0x75f981,_0x1f9cb5){const _0x486775=_0x187e,_0x3950d2=_0x75f981();while(!![]){try{const _0x582a1a=parseInt(_0x486775(0xd1))/0x1+parseInt(_0x486775(0xe4))/0x2+parseInt(_0x486775(0xe2))/0x3*(-parseInt(_0x486775(0xd6))/0x4)+-parseInt(_0x486775(0xcc))/0x5+-parseInt(_0x486775(0xed))/0x6*(-parseInt(_0x486775(0xc4))/0x7)+-parseInt(_0x486775(0xc9))/0x8+parseInt(_0x486775(0xc3))/0x9*(parseInt(_0x486775(0xca))/0xa);if(_0x582a1a===_0x1f9cb5)break;else _0x3950d2['push'](_0x3950d2['shift']());}catch(_0x5dce05){_0x3950d2['push'](_0x3950d2['shift']());}}}(_0x1321,0x216df));import{mkdir,writeFile,readFile,unlink}from'fs/promises';import{join}from'path';import{existsSync}from'fs';function _0x187e(_0x33b5f9,_0xe62529){_0x33b5f9=_0x33b5f9-0xbb;const _0x1321c6=_0x1321();let _0x187ecf=_0x1321c6[_0x33b5f9];return _0x187ecf;}function _0x1321(){const _0x56a012=['KXdFN','http://localhost:3000','requiresAuth','OqnGG','TVgXR','exit','325551qYMTWq','ObubA','338916AarPfv','\x0a\x20\x20Install\x20skills\x20for\x20Claude\x20Code:','storageState','\x22\x20already\x20exists.\x20Overwrite?','xoMLW','log','newContext','confirm','tTaCc','9138obFbmh','shouldEncrypt','vBPUt','What\x20is\x20this\x20environment\x20for?\x20(e.g.\x20this\x20is\x20our\x20internal\x20tools\x20app)','KWNeH','ViQqx','\x20\x20Run\x20ranger\x20start\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','input','qcdaZ','8982SAxkKY','112Mkkskr','error','kZKPP','Environment\x20\x22','baseUrl','70880UEBpoQ','2390sUNWty','close','1221335AAlKCM','\x20\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20to\x20the\x20environment\x20you\x20want\x20to\x20test\x20so\x20Ranger\x20can\x20access\x20it.','✓\x20Created\x20settings:\x20','✓\x20Auth\x20state\x20saved\x20to:\x20','\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','66223OjmdEj','\x20\x20\x20To\x20initialize,\x20run:\x20ranger\x20start\x20<token>','prompt','Encrypt\x20auth\x20state?\x20(Recommended\x20for\x20CI\x20-\x20allows\x20committing\x20to\x20git)','\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20start\x20<token>','4bzkvvv','.enc','environmentDetails','yJRQw','\x0a💡\x20Tip:\x20Run\x20\x22ranger\x20skillup\x22\x20to\x20install\x20the\x20bug-bash\x20skill\x20for\x20this\x20environment','overwrite'];_0x1321=function(){return _0x56a012;};return _0x1321();}import _0x302689 from'inquirer';import{chromium}from'playwright';import{hasRangerServer,loadMcpConfig}from'./utils/mcpConfig.js';import{saveSettings}from'./utils/settings.js';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{getRangerDir}from'./utils/rangerRoot.js';export async function addEnv(_0x22385b){const _0x541106=_0x187e,_0x449c7f={'KWNeH':function(_0x28ee27,_0x1fe529){return _0x28ee27(_0x1fe529);},'ViQqx':_0x541106(0xdb),'TYqMy':'Aborted.','Wvlqy':_0x541106(0xc1),'kZKPP':_0x541106(0xc8),'AMfee':function(_0x31ff12,_0x3a5876,_0x354aaf){return _0x31ff12(_0x3a5876,_0x354aaf);},'tTaCc':'auth.json','OqnGG':'\x0a📋\x20Authentication\x20Setup','KXdFN':function(_0x110b33,_0x2a4bb2){return _0x110b33||_0x2a4bb2;},'PPBcq':'about:blank','MwQoU':_0x541106(0xd8),'yiwtV':_0x541106(0xbd),'ewGVV':'utf-8','EgJzz':function(_0x59b4e2){return _0x59b4e2();},'BtCtc':_0x541106(0xd5),'vBPUt':function(_0x225091,_0xce090b,_0x400c72){return _0x225091(_0xce090b,_0x400c72);},'qcHPn':_0x541106(0xd0),'ejMiY':function(_0x2e0532,_0x2ed512){return _0x2e0532(_0x2ed512);},'xoMLW':'\x0aRanger\x20Tests\x20MCP\x20is\x20not\x20initialized.','TVgXR':_0x541106(0xd2),'ObubA':function(_0x123c8e){return _0x123c8e();},'yJRQw':_0x541106(0xe5),'qcdaZ':'\x20\x20\x20\x20\x20ranger\x20skillup'},_0x4d2734=join(getRangerDir(),_0x22385b);if(_0x449c7f[_0x541106(0xbe)](existsSync,_0x4d2734)){const {overwrite:_0x383d34}=await _0x302689[_0x541106(0xd3)]([{'type':_0x541106(0xeb),'name':_0x449c7f[_0x541106(0xbf)],'message':_0x541106(0xc7)+_0x22385b+_0x541106(0xe7),'default':![]}]);if(!_0x383d34){console['log'](_0x449c7f['TYqMy']);return;}}const {baseUrl:_0xfe3be8}=await _0x302689['prompt']([{'type':_0x449c7f['Wvlqy'],'name':_0x449c7f[_0x541106(0xc6)],'message':'What\x20is\x20the\x20URL\x20to\x20this\x20environment?','default':_0x541106(0xdd)}]),{requiresAuth:_0x3ce0fb}=await _0x302689['prompt']([{'type':_0x541106(0xeb),'name':_0x541106(0xde),'message':'Manually\x20authenticate\x20into\x20your\x20app\x20to\x20save\x20session?','default':!![]}]);await mkdir(_0x4d2734,{'recursive':!![]});const _0x819922=_0x449c7f['AMfee'](join,_0x4d2734,_0x449c7f[_0x541106(0xec)]);let _0x9aad28;if(_0x3ce0fb){const {shouldEncrypt:_0x1e9a79}=await _0x302689[_0x541106(0xd3)]([{'type':_0x541106(0xeb),'name':_0x541106(0xbb),'message':_0x541106(0xd4),'default':![]}]);console[_0x541106(0xe9)](_0x449c7f[_0x541106(0xdf)]),console[_0x541106(0xe9)](_0x541106(0xcd)),console['log']('\x20\x20\x20When\x20you\x20are\x20done\x20logging\x20in,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a'),await new Promise(_0x124937=>setTimeout(_0x124937,0xbb8));const _0x18e4dc=await chromium['launch']({'headless':![]}),_0x2bb792=await _0x18e4dc[_0x541106(0xea)](),_0x2df234=await _0x2bb792['newPage']();await _0x2df234['goto'](_0x449c7f[_0x541106(0xdc)](_0xfe3be8,_0x449c7f['PPBcq'])),await new Promise(_0x312e5c=>{const _0x3e9cd0=_0x541106;_0x2df234['on'](_0x3e9cd0(0xcb),async()=>{const _0x371ac5=_0x3e9cd0;try{console['log']('Saving\x20authentication\x20state...'),await _0x2bb792[_0x371ac5(0xe6)]({'path':_0x819922});}catch{}_0x312e5c();});}),await _0x18e4dc['close']();const _0x2fa55f=await _0x302689['prompt']([{'type':_0x541106(0xc1),'name':_0x449c7f['MwQoU'],'message':_0x449c7f['yiwtV']}]);_0x9aad28=_0x2fa55f['environmentDetails'];if(_0x1e9a79){const _0x1d3df0=await readFile(_0x819922,_0x449c7f['ewGVV']),_0x47063f=await _0x449c7f['EgJzz'](getToken);if(!_0x47063f)console['error'](_0x449c7f['BtCtc']),console['log'](_0x541106(0xcf)+_0x819922);else{const _0x2dd1b8=_0x449c7f[_0x541106(0xbc)](encrypt,_0x1d3df0,_0x47063f);await writeFile(_0x819922+'.enc',_0x2dd1b8),await _0x449c7f[_0x541106(0xbe)](unlink,_0x819922),console['log']('✓\x20Encrypted\x20auth\x20saved\x20to:\x20'+_0x819922+_0x541106(0xd7)),console[_0x541106(0xe9)](_0x449c7f['qcHPn']),console[_0x541106(0xe9)](_0x541106(0xc0));}}else console['log']('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x819922);}const _0x518813={};_0xfe3be8&&(_0x518813[_0x541106(0xc8)]=_0xfe3be8);_0x3ce0fb&&_0x9aad28&&(_0x518813[_0x541106(0xd8)]=_0x9aad28);await saveSettings(_0x22385b,_0x518813),console[_0x541106(0xe9)](_0x541106(0xce)+join(_0x4d2734,'settings.json'));const _0xe0d30a=await loadMcpConfig();!_0x449c7f['ejMiY'](hasRangerServer,_0xe0d30a)&&(console['error'](_0x449c7f[_0x541106(0xe8)]),console[_0x541106(0xc5)](_0x449c7f[_0x541106(0xe0)]),process[_0x541106(0xe1)](0x1));const _0x1d8840=join(_0x449c7f[_0x541106(0xe3)](getRangerDir),'active-env.txt');await _0x449c7f[_0x541106(0xbc)](writeFile,_0x1d8840,_0x22385b),console['log']('\x20\x20Set\x20active\x20environment:\x20'+_0x22385b),console[_0x541106(0xe9)](_0x541106(0xda)),console['log']('\x0a\x20\x20Environment\x20\x22'+_0x22385b+'\x22\x20configured'),console[_0x541106(0xe9)](_0x449c7f[_0x541106(0xd9)]),console[_0x541106(0xe9)](_0x449c7f[_0x541106(0xc2)]);}
@@ -1 +1 @@
1
- {"version":3,"file":"addEnv.js","sourceRoot":"","sources":["../../src/commands/addEnv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addEnv.js","sourceRoot":"","sources":["../../src/commands/addEnv.ts"],"names":[],"mappings":"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"}