@ranger-testing/ranger-cli 1.0.13 → 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 (101) hide show
  1. package/README.md +72 -183
  2. package/build/cli.js +219 -278
  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 +277 -285
  17. package/build/commands/feature.js.map +1 -1
  18. package/build/commands/hook.js +27 -0
  19. package/build/commands/hook.js.map +1 -0
  20. package/build/commands/hooks/disable.js +25 -0
  21. package/build/commands/hooks/disable.js.map +1 -0
  22. package/build/commands/hooks/enable.js +44 -0
  23. package/build/commands/hooks/enable.js.map +1 -0
  24. package/build/commands/hooks/exitPlanMode.js +35 -0
  25. package/build/commands/hooks/exitPlanMode.js.map +1 -0
  26. package/build/commands/hooks/index.js +10 -0
  27. package/build/commands/hooks/index.js.map +1 -0
  28. package/build/commands/hooks/output.js +53 -0
  29. package/build/commands/hooks/output.js.map +1 -0
  30. package/build/commands/hooks/planReminder.js +46 -0
  31. package/build/commands/hooks/planReminder.js.map +1 -0
  32. package/build/commands/hooks/planStart.js +30 -0
  33. package/build/commands/hooks/planStart.js.map +1 -0
  34. package/build/commands/hooks/postEdit.js +41 -0
  35. package/build/commands/hooks/postEdit.js.map +1 -0
  36. package/build/commands/hooks/preCompact.js +30 -0
  37. package/build/commands/hooks/preCompact.js.map +1 -0
  38. package/build/commands/hooks/sessionStart.js +35 -0
  39. package/build/commands/hooks/sessionStart.js.map +1 -0
  40. package/build/commands/hooks/stopHook.js +54 -0
  41. package/build/commands/hooks/stopHook.js.map +1 -0
  42. package/build/commands/index.js +1 -0
  43. package/build/commands/index.js.map +1 -1
  44. package/build/commands/skillup.js +41 -77
  45. package/build/commands/skillup.js.map +1 -1
  46. package/build/commands/start.js +1 -1
  47. package/build/commands/start.js.map +1 -1
  48. package/build/commands/status.js +47 -65
  49. package/build/commands/status.js.map +1 -1
  50. package/build/commands/update.js +32 -40
  51. package/build/commands/update.js.map +1 -1
  52. package/build/commands/updateEnv.js +1 -1
  53. package/build/commands/updateEnv.js.map +1 -1
  54. package/build/commands/useEnv.js +1 -1
  55. package/build/commands/useEnv.js.map +1 -1
  56. package/build/commands/utils/browserSessionsApi.js +1 -1
  57. package/build/commands/utils/browserSessionsApi.js.map +1 -1
  58. package/build/commands/utils/claudePlugin.js +85 -0
  59. package/build/commands/utils/claudePlugin.js.map +1 -0
  60. package/build/commands/utils/cliSecret.js +1 -1
  61. package/build/commands/utils/environment.js +0 -6
  62. package/build/commands/utils/environment.js.map +1 -1
  63. package/build/commands/utils/featureApi.js +82 -15
  64. package/build/commands/utils/featureApi.js.map +1 -1
  65. package/build/commands/utils/featureReportGenerator.js +37 -3
  66. package/build/commands/utils/featureReportGenerator.js.map +1 -1
  67. package/build/commands/utils/git.js +44 -0
  68. package/build/commands/utils/git.js.map +1 -0
  69. package/build/commands/utils/keychain.js +1 -1
  70. package/build/commands/utils/keychain.js.map +1 -1
  71. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  72. package/build/commands/utils/rangerRoot.js +30 -0
  73. package/build/commands/utils/rangerRoot.js.map +1 -0
  74. package/build/commands/utils/sessionCache.js +133 -0
  75. package/build/commands/utils/sessionCache.js.map +1 -0
  76. package/build/commands/utils/settings.js +7 -5
  77. package/build/commands/utils/settings.js.map +1 -1
  78. package/build/commands/utils/skillContent.js +28 -0
  79. package/build/commands/utils/skillContent.js.map +1 -0
  80. package/build/commands/utils/skills.js +1 -1
  81. package/build/commands/utils/skills.js.map +1 -1
  82. package/build/commands/utils/userApi.js +32 -0
  83. package/build/commands/utils/userApi.js.map +1 -0
  84. package/build/commands/verifyFeature.js +450 -105
  85. package/build/commands/verifyFeature.js.map +1 -1
  86. package/build/commands/verifyInBrowser.js +1 -1
  87. package/build/commands/verifyInBrowser.js.map +1 -1
  88. package/build/skills/bug-bash.md +31 -10
  89. package/build/skills/ranger/SKILL.md +164 -0
  90. package/build/skills/ranger/create.md +151 -0
  91. package/build/skills/ranger/start.md +122 -0
  92. package/build/skills/{feature-tracker → ranger}/verify.md +43 -17
  93. package/package.json +5 -3
  94. package/scripts/postinstall.js +18 -0
  95. package/build/commands/utils/mcpConfig.js +0 -1
  96. package/build/commands/utils/mcpConfig.js.map +0 -1
  97. package/build/skills/feature-tracker/SKILL.md +0 -185
  98. package/build/skills/feature-tracker/create.md +0 -105
  99. package/build/skills/feature-tracker/manage.md +0 -145
  100. package/build/skills/feature-tracker/report.md +0 -159
  101. package/build/skills/feature-tracker/start.md +0 -93
@@ -4,10 +4,9 @@ import { existsSync } from 'fs';
4
4
  import inquirer from 'inquirer';
5
5
  import { getToken } from './utils/keychain.js';
6
6
  import { installSkill } from './utils/skills.js';
7
- import { loadMcpConfig, saveMcpConfig, hasRangerServer, setRangerServer, } from './utils/mcpConfig.js';
8
7
  import { getCurrentVersion } from './utils/version.js';
9
- import { getClaudeConfigDir, getProjectRoot, loadClaudeSettings, saveClaudeSettings, hasRangerServerInSettings, setRangerServerInSettings, } from './utils/claudeConfig.js';
10
- import { getCurrentEnvironment } from './utils/environment.js';
8
+ import { getClaudeConfigDir, getProjectRoot, } from './utils/claudeConfig.js';
9
+ import { getRangerDir } from './utils/rangerRoot.js';
11
10
  /**
12
11
  * Get list of available environment names from .ranger directory
13
12
  */
@@ -29,13 +28,13 @@ export async function skillup() {
29
28
  if (!token) {
30
29
  console.log('❌ No Ranger API token found in keychain.\n');
31
30
  console.log('To get started:');
32
- console.log(' 1. Get your API token from https://dashboard.ranger.net/settings');
31
+ console.log(' 1. Get your API token from https://dashboard.ranger.net/cli');
33
32
  console.log(' 2. Run: ranger start <your-api-token>');
34
33
  console.log(' 3. Run: ranger skillup\n');
35
34
  return;
36
35
  }
37
36
  console.log('✓ Found API token in keychain');
38
- const rangerDir = join(process.cwd(), '.ranger');
37
+ const rangerDir = getRangerDir();
39
38
  const activeEnvPath = join(rangerDir, 'active-env.txt');
40
39
  const hasActiveEnv = existsSync(activeEnvPath);
41
40
  let activeEnv = null;
@@ -50,43 +49,41 @@ export async function skillup() {
50
49
  }
51
50
  const projectRoot = getProjectRoot();
52
51
  const projectName = basename(projectRoot);
53
- const { installLevel } = await inquirer.prompt([
54
- {
55
- type: 'list',
56
- name: 'installLevel',
57
- message: 'Where should skills be installed?',
58
- choices: [
59
- {
60
- name: `All projects (${getClaudeConfigDir()}/skills/)`,
61
- value: 'user',
62
- },
63
- {
64
- name: `This project only (${projectName}/.claude/skills/)`,
65
- value: 'project',
66
- },
67
- ],
68
- },
69
- ]);
52
+ // Determine install level - use 'user' as default for non-TTY mode
53
+ const isInteractive = process.stdin.isTTY && process.stdout.isTTY;
54
+ let installLevel;
55
+ if (isInteractive) {
56
+ const response = await inquirer.prompt([
57
+ {
58
+ type: 'list',
59
+ name: 'installLevel',
60
+ message: 'Where should skills be installed?',
61
+ choices: [
62
+ {
63
+ name: `All projects (${getClaudeConfigDir()}/skills/)`,
64
+ value: 'user',
65
+ },
66
+ {
67
+ name: `This project only (${projectName}/.claude/skills/)`,
68
+ value: 'project',
69
+ },
70
+ ],
71
+ },
72
+ ]);
73
+ installLevel = response.installLevel;
74
+ }
75
+ else {
76
+ // Non-interactive mode: default to project-level installation
77
+ installLevel = 'project';
78
+ console.log(`Non-interactive mode: Installing skills at project level (${projectName}/.claude/skills/)`);
79
+ }
70
80
  let installedCount = 0;
71
81
  const cliVersion = getCurrentVersion();
72
82
  console.log('\n📦 Installing skills...\n');
73
- try {
74
- const installed = await installSkill('e2e-test-recommender', {
75
- level: installLevel,
76
- cliVersion,
77
- });
78
- if (installed) {
79
- installedCount++;
80
- await configureMcpServer(installLevel);
81
- }
82
- }
83
- catch (error) {
84
- console.warn(' Failed to install e2e-test-recommender skill:', error instanceof Error ? error.message : error);
85
- }
86
- // Install feature-tracker ONLY for non-prod environments
87
- if (getCurrentEnvironment() !== 'prod') {
83
+ // Install ranger (requires API token AND active environment)
84
+ if (activeEnv) {
88
85
  try {
89
- const featureTrackerInstalled = await installSkill('feature-tracker', {
86
+ const featureTrackerInstalled = await installSkill('ranger', {
90
87
  cliVersion,
91
88
  level: installLevel,
92
89
  });
@@ -95,27 +92,12 @@ export async function skillup() {
95
92
  }
96
93
  }
97
94
  catch (error) {
98
- console.warn(' Failed to install feature-tracker skill:', error instanceof Error ? error.message : error);
99
- }
100
- }
101
- // Install bug-bash (requires API token AND active environment)
102
- if (activeEnv) {
103
- try {
104
- const installed = await installSkill('bug-bash', {
105
- level: installLevel,
106
- cliVersion,
107
- });
108
- if (installed) {
109
- installedCount++;
110
- }
111
- }
112
- catch (error) {
113
- console.warn(' Failed to install bug-bash skill:', error instanceof Error ? error.message : error);
95
+ console.warn(' Failed to install ranger skill:', error instanceof Error ? error.message : error);
114
96
  }
115
97
  }
116
98
  else {
117
- console.log('\n⚠️ Bug Bash skill not installed (requires active environment)\n');
118
- console.log('To install Bug Bash skill:');
99
+ console.log('\n⚠️ Ranger skill not installed (requires active environment)\n');
100
+ console.log('To install Ranger skill:');
119
101
  // Provide context-aware guidance based on whether .ranger directory exists
120
102
  const hasRangerDir = existsSync(rangerDir);
121
103
  if (!hasRangerDir) {
@@ -137,30 +119,12 @@ export async function skillup() {
137
119
  if (installedCount > 0) {
138
120
  const levelDesc = installLevel === 'user' ? 'user-level' : 'project-level';
139
121
  console.log(`\n✅ Installed ${installedCount} ${levelDesc} skill${installedCount > 1 ? 's' : ''} successfully!\n`);
140
- console.log('To use skills in Claude Code:');
141
- console.log(' - Type / and select a skill from the menu');
142
- console.log(' - Or ask Claude to help with testing or bug hunting\n');
122
+ console.log('To use skills:');
123
+ console.log(` - Use '/ranger' to track and verify feature implementations`);
124
+ console.log(' - Or ask your agent to use Ranger to verify features in the browser\n');
143
125
  }
144
126
  else {
145
127
  console.log('\n⚠️ No skills were installed.\n');
146
128
  }
147
129
  }
148
- async function configureMcpServer(level) {
149
- if (level === 'user') {
150
- const settings = await loadClaudeSettings();
151
- if (!hasRangerServerInSettings(settings)) {
152
- setRangerServerInSettings(settings);
153
- await saveClaudeSettings(settings);
154
- console.log(` ✓ Added ranger data-mcp-server to ${getClaudeConfigDir()}/settings.json`);
155
- }
156
- }
157
- else {
158
- const mcpConfig = await loadMcpConfig();
159
- if (!hasRangerServer(mcpConfig)) {
160
- setRangerServer(mcpConfig);
161
- await saveMcpConfig(mcpConfig);
162
- console.log(' ✓ Added ranger data-mcp-server to .mcp.json');
163
- }
164
- }
165
- }
166
130
  //# sourceMappingURL=skillup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skillup.js","sourceRoot":"","sources":["../../src/commands/skillup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skillup.js","sourceRoot":"","sources":["../../src/commands/skillup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- function _0x20bc(){const _0x49c4d1=['\x0a✅\x20Ranger\x20setup\x20complete!\x0a','1330ZhvAzL','cwd','version','Next\x20steps:','56KiLBTn','8aEJTBg','\x20\x20npx\x20playwright\x20install\x20chromium','PiEmu','\x20install\x20chromium','close','error','exit','✓\x20Stored\x20credentials\x20in\x20OS\x20Keychain','\x20\x202.\x20Install\x20skills\x20for\x20Claude\x20Code:','\x20\x20\x20\x20\x20ranger\x20add\x20env\x20local','Onwkp','Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','\x20\x20npx\x20playwright@','216621sNRjCF','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','log','Installation\x20failed\x20with\x20exit\x20code\x20','hliTe','NrqcQ','PKSnu','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','\x0a💡\x20Tip:\x20Run\x20\x22ranger\x20skillup\x22\x20after\x20setup\x20to\x20install\x20the\x20e2e-test-recommender\x20skill','Cyyqk','358620eWpTIG','FrfHp','\x20\x20\x20\x20\x20ranger\x20skillup\x0a','Required\x20Playwright\x20Chromium\x20browser\x20is\x20missing.\x20Install\x20it\x20now?','✓\x20Created/updated\x20.mcp.json\x20with\x20Ranger\x20MCP\x20proxy','✓\x20Created\x20.ranger/\x20directory','Bearer\x20','\x0a❌\x20Authentication\x20failed:\x20','\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0a\x0aactive-env.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a','xBSUQ','✓\x20Created\x20.ranger/.gitignore','confirm','77dBOesf','pUKNa','\x20\x201.\x20Add\x20an\x20environment:','chromium','SDODC','install','yRsmV','2208966uzUUyG','CMFSC','pkXZA','✓\x20API\x20token\x20validated\x20successfully','message','8544sHmPSt','✓\x20.ranger/\x20directory\x20already\x20exists','statusText','Validating\x20API\x20token...','4fGtqTO','vvtwR','inherit','\x0a🚀\x20Ranger\x20Setup\x0a','1703919EMUpRo','518930oNtcZX','yZTcq','aNTmn','6039wdbAPv','KeOtC'];_0x20bc=function(){return _0x49c4d1;};return _0x20bc();}function _0x461c(_0x2b3b6a,_0xc277e5){_0x2b3b6a=_0x2b3b6a-0xc9;const _0x20bce4=_0x20bc();let _0x461cd3=_0x20bce4[_0x2b3b6a];return _0x461cd3;}(function(_0x272ff,_0x295230){const _0x5adbf2=_0x461c,_0x12c709=_0x272ff();while(!![]){try{const _0x33242b=parseInt(_0x5adbf2(0xd8))/0x1+parseInt(_0x5adbf2(0xc9))/0x2*(parseInt(_0x5adbf2(0xfa))/0x3)+parseInt(_0x5adbf2(0xfe))/0x4*(-parseInt(_0x5adbf2(0x103))/0x5)+-parseInt(_0x5adbf2(0xf5))/0x6+-parseInt(_0x5adbf2(0x102))/0x7*(-parseInt(_0x5adbf2(0xca))/0x8)+parseInt(_0x5adbf2(0x106))/0x9*(-parseInt(_0x5adbf2(0x109))/0xa)+-parseInt(_0x5adbf2(0xee))/0xb*(-parseInt(_0x5adbf2(0xe2))/0xc);if(_0x33242b===_0x295230)break;else _0x12c709['push'](_0x12c709['shift']());}catch(_0x181021){_0x12c709['push'](_0x12c709['shift']());}}}(_0x20bc,0x2dd8b));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x340b36 from'inquirer';import{loadMcpConfig,saveMcpConfig,setRangerServer}from'./utils/mcpConfig.js';import{storeToken,storeServerUrl}from'./utils/keychain.js';import{getMcpServerUrl}from'./utils/environment.js';import{chromium}from'playwright';const require=createRequire(import.meta.url);function getPlaywrightVersion(){const _0x15f2c4=_0x461c,_0x1f8d91={'pUKNa':'playwright/package.json'};try{const _0x282c32=require['resolve'](_0x1f8d91[_0x15f2c4(0xef)]),_0x18c072=require(_0x282c32);return _0x18c072[_0x15f2c4(0x10b)];}catch{return null;}}function installChromium(_0x401f09){const _0x12f340=_0x461c,_0x4de32c={'qIIcQ':function(_0x3090ca,_0x2b5268){return _0x3090ca(_0x2b5268);},'Onwkp':function(_0x5a250f){return _0x5a250f();},'xinwx':'chromium','BIsOh':_0x12f340(0x100),'NrqcQ':_0x12f340(0xce),'rRcTI':_0x12f340(0xcf)};return new Promise((_0x763a19,_0x36df2f)=>{const _0x329c31=_0x12f340,_0x157696={'bEpBa':function(_0x8e8cfe){const _0x36e0bc=_0x461c;return _0x4de32c[_0x36e0bc(0xd4)](_0x8e8cfe);}},_0x2ca154=_0x401f09?['playwright@'+_0x401f09,'install',_0x329c31(0xf1)]:['playwright',_0x329c31(0xf3),_0x4de32c['xinwx']],_0x475d88=spawn('npx',_0x2ca154,{'stdio':_0x4de32c['BIsOh'],'shell':!![]});_0x475d88['on'](_0x4de32c[_0x329c31(0xdd)],_0x83eac2=>{const _0x1ebf54=_0x329c31;_0x83eac2===0x0?_0x157696['bEpBa'](_0x763a19):_0x36df2f(new Error(_0x1ebf54(0xdb)+_0x83eac2));}),_0x475d88['on'](_0x4de32c['rRcTI'],_0x5e5086=>{_0x4de32c['qIIcQ'](_0x36df2f,_0x5e5086);});});}export async function start(_0x474108){const _0x36828c=_0x461c,_0x226b31={'vvtwR':_0x36828c(0x101),'iafLF':'GET','PiEmu':'\x0a❌\x20Failed\x20to\x20connect\x20to\x20MCP\x20server:','yZTcq':_0x36828c(0xd5),'xBSUQ':function(_0x153157){return _0x153157();},'SDODC':function(_0x58fdd7,_0x12acbd){return _0x58fdd7(_0x12acbd);},'sFYsk':_0x36828c(0xfb),'QvKQb':'✓\x20Playwright\x20Chromium\x20browser\x20found','aNTmn':function(_0x55e2ac){return _0x55e2ac();},'PKSnu':_0x36828c(0xed),'FrfHp':_0x36828c(0xe5),'Cyyqk':_0x36828c(0xdf),'hliTe':_0x36828c(0xd9),'yRsmV':'You\x20can\x20install\x20it\x20manually\x20by\x20running:','icXQG':_0x36828c(0xcb),'KeOtC':_0x36828c(0xd6),'CMFSC':_0x36828c(0xe0),'TwABr':'.gitignore','RHCGv':_0x36828c(0xf0),'pkXZA':_0x36828c(0xe4)};console[_0x36828c(0xda)](_0x226b31[_0x36828c(0xff)]);const _0x2e83e0=getMcpServerUrl();console['log'](_0x36828c(0xfd));try{const _0x1442be=await fetch(_0x2e83e0+'/me',{'method':_0x226b31['iafLF'],'headers':{'Authorization':_0x36828c(0xe8)+_0x474108}});!_0x1442be['ok']&&(console[_0x36828c(0xcf)](_0x36828c(0xe9)+_0x1442be['status']+'\x20'+_0x1442be[_0x36828c(0xfc)]),console[_0x36828c(0xcf)]('Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.'),process[_0x36828c(0xd0)](0x1)),console['log'](_0x36828c(0xf8));}catch(_0x3e5133){console['error'](_0x226b31[_0x36828c(0xcc)],_0x3e5133 instanceof Error?_0x3e5133[_0x36828c(0xf9)]:_0x3e5133),console[_0x36828c(0xcf)](_0x226b31[_0x36828c(0x104)]),process[_0x36828c(0xd0)](0x1);}await storeToken(_0x474108),await storeServerUrl(_0x2e83e0),console[_0x36828c(0xda)](_0x36828c(0xd1));const _0x4c0f9c=await _0x226b31[_0x36828c(0xeb)](loadMcpConfig);setRangerServer(_0x4c0f9c),await saveMcpConfig(_0x4c0f9c),console['log'](_0x36828c(0xe6));const _0x4c6cb3=join(process[_0x36828c(0x10a)](),'.ranger');!_0x226b31['SDODC'](existsSync,_0x4c6cb3)?(await mkdir(_0x4c6cb3,{'recursive':!![]}),console[_0x36828c(0xda)](_0x36828c(0xe7))):console[_0x36828c(0xda)](_0x226b31['sFYsk']);let _0x353832=![];try{const _0x52af5b=chromium['executablePath']();_0x353832=_0x226b31[_0x36828c(0xf2)](existsSync,_0x52af5b);}catch{_0x353832=![];}if(_0x353832)console['log'](_0x226b31['QvKQb']);else{const _0x5de857=_0x226b31[_0x36828c(0x105)](getPlaywrightVersion),{install:_0x2bfc9a}=await _0x340b36['prompt']([{'type':_0x226b31[_0x36828c(0xde)],'name':_0x36828c(0xf3),'message':_0x226b31[_0x36828c(0xe3)],'default':!![]}]);if(_0x2bfc9a){console[_0x36828c(0xda)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromium(_0x5de857),console[_0x36828c(0xda)](_0x226b31[_0x36828c(0xe1)]);}catch(_0x36e5fb){console['error'](_0x226b31[_0x36828c(0xdc)],_0x36e5fb instanceof Error?_0x36e5fb['message']:_0x36e5fb),console['log'](_0x226b31[_0x36828c(0xf4)]),_0x5de857?console['log'](_0x36828c(0xd7)+_0x5de857+_0x36828c(0xcd)):console['log'](_0x226b31['icXQG']);}}else console['log']('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console[_0x36828c(0xda)](_0x226b31[_0x36828c(0x107)]),_0x5de857?console['log']('\x20\x20npx\x20playwright@'+_0x5de857+'\x20install\x20chromium'):console['log'](_0x36828c(0xcb));}console['log'](_0x226b31[_0x36828c(0xf6)]);const _0x405ed1=join(_0x4c6cb3,_0x226b31['TwABr']),_0x21398e=_0x36828c(0xea);await writeFile(_0x405ed1,_0x21398e),console[_0x36828c(0xda)](_0x36828c(0xec)),console['log'](_0x36828c(0x108)),console['log'](_0x36828c(0x10c)),console['log'](_0x226b31['RHCGv']),console['log'](_0x36828c(0xd3)),console[_0x36828c(0xda)](_0x36828c(0xd2)),console[_0x36828c(0xda)](_0x226b31[_0x36828c(0xf7)]);}
1
+ (function(_0x5e7639,_0x343e5c){const _0x336192=_0x3807,_0x21d7d2=_0x5e7639();while(!![]){try{const _0x3ccf67=parseInt(_0x336192(0x13f))/0x1+parseInt(_0x336192(0x13c))/0x2*(parseInt(_0x336192(0x136))/0x3)+parseInt(_0x336192(0x121))/0x4+parseInt(_0x336192(0xf3))/0x5*(parseInt(_0x336192(0xf0))/0x6)+-parseInt(_0x336192(0x12c))/0x7+parseInt(_0x336192(0xfd))/0x8+-parseInt(_0x336192(0x11b))/0x9;if(_0x3ccf67===_0x343e5c)break;else _0x21d7d2['push'](_0x21d7d2['shift']());}catch(_0x276c30){_0x21d7d2['push'](_0x21d7d2['shift']());}}}(_0x8cf4,0xefebf));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x22cc75 from'inquirer';import{storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';function _0x3807(_0x16aeb0,_0x1b6a2a){_0x16aeb0=_0x16aeb0-0xf0;const _0x8cf49a=_0x8cf4();let _0x3807e4=_0x8cf49a[_0x16aeb0];return _0x3807e4;}const require=createRequire(import.meta.url);function _0x8cf4(){const _0x43f117=['Do\x20you\x20want\x20to\x20add\x20an\x20environment\x20now?','wantsSkillup','1093905tPfyuD','cWAsW','✓\x20.ranger/\x20directory\x20already\x20exists','OcPZD','success','✓\x20Created\x20.ranger/\x20directory','KUNrI','\x0aInstalling\x20Chromium\x20browser...\x0a','6QlEHuX','sOrhf','ASxCi','2966325OKFQms','JgkGo','confirm','log','ranger-testing/trailhead','prompt','Installation\x20failed\x20with\x20exit\x20code\x20','\x0a❌\x20Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','✓\x20Stored\x20credentials\x20in\x20OS\x20Keychain','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','14355640ZBlOkF','wantsPlugin','EgLFe','\x0a⚠\x20Skipping\x20Chromium\x20installation.','xdoiu','\x20\x20npx\x20playwright\x20install\x20chromium','Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','input','error','ranger@trailhead','uxNuG','SCnrw','inherit','user','TfpCC','iNyIF','playwright','Validating\x20API\x20token...','xtbgO','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','project','Required\x20Playwright\x20Chromium\x20browser\x20is\x20missing.\x20Install\x20it\x20now?','.gitignore','\x0aInstalling\x20Claude\x20Code\x20plugin...\x0a','env','IqJPx','add','\x0a❌\x20Authentication\x20failed:\x20','lIrdg','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','19084023HgpFmE','ZeIAh','local','trailhead','\x0aNext\x20steps:','install','1696264SjTbQR','User\x20(available\x20in\x20all\x20your\x20projects)','stdin','Non-interactive\x20mode\x20detected.\x20Skipping\x20optional\x20setup\x20prompts.','sCiDF','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','status','executablePath','RaaUQ','kvOBN','\x20\x20\x20\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x0a','13127947tTEDzM','ZaROf','\x0a🚀\x20Ranger\x20Setup\x0a','ufqcv','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium...','Where\x20should\x20the\x20plugin\x20be\x20installed?','jHFhg','IMfIf','✓\x20Exported\x20credentials\x20for\x20CI','✓\x20Playwright\x20Chromium\x20browser\x20found','396JadsnW','What\x20should\x20the\x20environment\x20be\x20named?','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x0a','playwright@','message','cIipn','16256AcEyJy'];_0x8cf4=function(){return _0x43f117;};return _0x8cf4();}function getPlaywrightVersion(){const _0x3a5c61=_0x3807,_0x5dfa83={'xdoiu':'playwright/package.json'};try{const _0x4aa5d1=require['resolve'](_0x5dfa83[_0x3a5c61(0x101)]),_0xbeeaf=require(_0x4aa5d1);return _0xbeeaf['version'];}catch{return null;}}function installChromium(_0xa5ece8){const _0x22c999=_0x3807,_0x16b947={'RaaUQ':function(_0xa72388){return _0xa72388();},'kvOBN':function(_0x22cf9f,_0x5738db){return _0x22cf9f(_0x5738db);},'JgkGo':_0x22c999(0x120),'IqJPx':'chromium','iHbdd':function(_0x518134,_0x3c781b,_0x6ae159,_0x41a6f6){return _0x518134(_0x3c781b,_0x6ae159,_0x41a6f6);},'oOryB':'close'};return new Promise((_0x248e5c,_0x101c13)=>{const _0x1b1df4=_0x22c999,_0x4e83fb=_0xa5ece8?[_0x1b1df4(0x139)+_0xa5ece8,'install','chromium']:[_0x1b1df4(0x10d),_0x16b947[_0x1b1df4(0xf4)],_0x16b947[_0x1b1df4(0x116)]],_0x4d5ef3=_0x16b947['iHbdd'](spawn,'npx',_0x4e83fb,{'stdio':_0x1b1df4(0x109),'shell':!![]});_0x4d5ef3['on'](_0x16b947['oOryB'],_0x527344=>{const _0x396cf2=_0x1b1df4;_0x527344===0x0?_0x16b947[_0x396cf2(0x129)](_0x248e5c):_0x101c13(new Error(_0x396cf2(0xf9)+_0x527344));}),_0x4d5ef3['on']('error',_0x5c4595=>{const _0x75a70=_0x1b1df4;_0x16b947[_0x75a70(0x12a)](_0x101c13,_0x5c4595);});});}export async function start(_0x3fb7f5){const _0xb68ce8=_0x3807,_0x2f7e12={'IsmBI':_0xb68ce8(0x12e),'SCnrw':function(_0x2998f5,_0x23abee){return _0x2998f5(_0x23abee);},'TfpCC':_0xb68ce8(0xfb),'aGvij':function(_0x1acc0a,_0x471fd2,_0xa2a0e1){return _0x1acc0a(_0x471fd2,_0xa2a0e1);},'pFGUq':_0xb68ce8(0x144),'wqROp':_0xb68ce8(0x141),'VpUsx':function(_0x40c221,_0x44a11d){return _0x40c221(_0x44a11d);},'sOrhf':function(_0x291747){return _0x291747();},'uHsAk':'confirm','ldhaN':'install','PwNYi':_0xb68ce8(0x130),'ASxCi':_0xb68ce8(0x146),'doZWp':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','ZGiRE':'\x0a❌\x20Failed\x20to\x20install\x20Chromium:','nWTTM':function(_0x5dec8a,_0x26b816){return _0x5dec8a instanceof _0x26b816;},'cWAsW':'\x20\x20npx\x20playwright\x20install\x20chromium','RaaEU':_0xb68ce8(0x11a),'gKaHL':function(_0x67bee0,_0x1f4378,_0x66266a){return _0x67bee0(_0x1f4378,_0x66266a);},'sCiDF':function(_0x3ed6b3,_0x40ff30,_0x4708e3){return _0x3ed6b3(_0x40ff30,_0x4708e3);},'wvNvm':_0xb68ce8(0x110),'cxivA':_0xb68ce8(0x11f),'ZnNFU':'\x20\x203.\x20Run:\x20ranger\x20skillup','ynITh':'\x20\x204.\x20Install\x20Claude\x20Code\x20plugin:','ZaROf':'\x20\x20\x20\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','ZeIAh':'📦\x20Claude\x20Code\x20Plugin\x0a','OcPZD':_0xb68ce8(0xfe),'ufqcv':'Do\x20you\x20want\x20to\x20install\x20the\x20Ranger\x20plugin\x20for\x20Claude\x20Code?\x20(recommended)','lIrdg':'list','LbHKs':_0xb68ce8(0x131),'IMfIf':'user','EgLFe':_0xb68ce8(0x111),'PtRfj':_0xb68ce8(0x11e),'cIipn':'marketplace','xtbgO':_0xb68ce8(0x117),'BJaYJ':'\x0aYou\x20can\x20install\x20manually\x20with:','DTjOK':_0xb68ce8(0xfc),'pbtIM':_0xb68ce8(0x106),'wxbvU':'--scope','jHFhg':'❌\x20Failed\x20to\x20install\x20plugin:','iNyIF':'\x0aTo\x20install\x20the\x20plugin\x20later,\x20run:','uxNuG':'\x20\x20\x20If\x20you\x27re\x20not\x20in\x20your\x20project\x20directory,\x20exit\x20now\x20and\x20run\x20`ranger\x20add\x20env\x20<env-name>`\x20from\x20there.\x0a','qBvQu':'wantsEnv','KUNrI':_0xb68ce8(0x104),'tZoZh':'Would\x20you\x20like\x20to\x20install\x20skills?'};console['log'](_0x2f7e12['IsmBI']),console[_0xb68ce8(0xf6)](_0xb68ce8(0x10e));const _0xd35cfc=await _0x2f7e12['SCnrw'](getCurrentUser,_0x3fb7f5);!_0xd35cfc[_0xb68ce8(0x143)]&&(_0xd35cfc[_0xb68ce8(0x127)]?(console[_0xb68ce8(0x105)](_0xb68ce8(0x118)+_0xd35cfc['error']),console['error'](_0xb68ce8(0x103))):(console['error'](_0xb68ce8(0xfa)+_0xd35cfc[_0xb68ce8(0x105)]),console['error']('Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.')),process['exit'](0x1));console[_0xb68ce8(0xf6)]('✓\x20Authenticated\x20to\x20'+_0xd35cfc[_0xb68ce8(0x10a)]['organizationName']),await storeToken(_0x3fb7f5),console[_0xb68ce8(0xf6)](process[_0xb68ce8(0x115)]['GITHUB_ENV']?_0xb68ce8(0x134):_0x2f7e12[_0xb68ce8(0x10b)]);const _0x5728d2=getRangerDir();!existsSync(_0x5728d2)?(await _0x2f7e12['aGvij'](mkdir,_0x5728d2,{'recursive':!![]}),console[_0xb68ce8(0xf6)](_0x2f7e12['pFGUq'])):console[_0xb68ce8(0xf6)](_0x2f7e12['wqROp']);let _0x1326b2=![];try{const _0x246658=chromium[_0xb68ce8(0x128)]();_0x1326b2=_0x2f7e12['VpUsx'](existsSync,_0x246658);}catch{_0x1326b2=![];}if(_0x1326b2)console[_0xb68ce8(0xf6)](_0xb68ce8(0x135));else{const _0x3a67ca=_0x2f7e12['sOrhf'](getPlaywrightVersion),_0x50ebef=process['stdin']['isTTY']&&process['stdout']['isTTY'];let _0x1b7552=!![];if(_0x50ebef){const {install:_0x184b70}=await _0x22cc75[_0xb68ce8(0xf8)]([{'type':_0x2f7e12['uHsAk'],'name':_0x2f7e12['ldhaN'],'message':_0xb68ce8(0x112),'default':!![]}]);_0x1b7552=_0x184b70;}else console[_0xb68ce8(0xf6)](_0x2f7e12['PwNYi']);if(_0x1b7552){console['log'](_0x2f7e12[_0xb68ce8(0xf2)]);try{await installChromium(_0x3a67ca),console[_0xb68ce8(0xf6)](_0x2f7e12['doZWp']);}catch(_0x392b2b){console[_0xb68ce8(0x105)](_0x2f7e12['ZGiRE'],_0x2f7e12['nWTTM'](_0x392b2b,Error)?_0x392b2b[_0xb68ce8(0x13a)]:_0x392b2b),console['log']('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),_0x3a67ca?console[_0xb68ce8(0xf6)]('\x20\x20npx\x20playwright@'+_0x3a67ca+'\x20install\x20chromium'):console['log'](_0x2f7e12[_0xb68ce8(0x140)]);}}else console[_0xb68ce8(0xf6)](_0xb68ce8(0x100)),console[_0xb68ce8(0xf6)](_0x2f7e12['RaaEU']),_0x3a67ca?console[_0xb68ce8(0xf6)]('\x20\x20npx\x20playwright@'+_0x3a67ca+'\x20install\x20chromium'):console['log'](_0xb68ce8(0x102));}const _0x3fba6f=_0x2f7e12['gKaHL'](join,_0x5728d2,_0xb68ce8(0x113)),_0x306814='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0a\x0aactive-env.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await _0x2f7e12[_0xb68ce8(0x125)](writeFile,_0x3fba6f,_0x306814),console[_0xb68ce8(0xf6)]('✓\x20Created\x20.ranger/.gitignore'),console[_0xb68ce8(0xf6)](_0x2f7e12['wvNvm']);const _0x474b23=process[_0xb68ce8(0x123)]['isTTY']&&process['stdout']['isTTY'];if(!_0x474b23){console[_0xb68ce8(0xf6)](_0xb68ce8(0x124)),console['log'](_0x2f7e12['cxivA']),console[_0xb68ce8(0xf6)]('\x20\x201.\x20Navigate\x20to\x20your\x20project\x20directory'),console[_0xb68ce8(0xf6)]('\x20\x202.\x20Run:\x20ranger\x20add\x20env\x20local'),console['log'](_0x2f7e12['ZnNFU']),console['log'](_0x2f7e12['ynITh']),console['log'](_0x2f7e12[_0xb68ce8(0x12d)]),console[_0xb68ce8(0xf6)](_0xb68ce8(0x12b));return;}console['log'](_0x2f7e12[_0xb68ce8(0x11c)]);const {wantsPlugin:_0xe4a7a5}=await _0x22cc75['prompt']([{'type':_0xb68ce8(0xf5),'name':_0x2f7e12[_0xb68ce8(0x142)],'message':_0x2f7e12[_0xb68ce8(0x12f)],'default':!![]}]);if(_0xe4a7a5){const _0xa9713a=await isPluginInstalled('ranger@trailhead');if(_0xa9713a)console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed\x0a');else{const {pluginScope:_0x543009}=await _0x22cc75[_0xb68ce8(0xf8)]([{'type':_0x2f7e12[_0xb68ce8(0x119)],'name':'pluginScope','message':_0x2f7e12['LbHKs'],'choices':[{'name':_0xb68ce8(0x122),'value':_0x2f7e12[_0xb68ce8(0x133)]},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x2f7e12[_0xb68ce8(0xff)]}],'default':_0x2f7e12['IMfIf']}]);console[_0xb68ce8(0xf6)](_0xb68ce8(0x114));const _0x38f3c3=await isMarketplaceAdded(_0x2f7e12['PtRfj']);let _0x508e96=_0x38f3c3;if(_0x38f3c3)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x5d6676=await runClaudeCommand(['plugin',_0x2f7e12[_0xb68ce8(0x13b)],_0x2f7e12[_0xb68ce8(0x10f)],_0xb68ce8(0xf7)]);!_0x5d6676[_0xb68ce8(0x143)]?(console[_0xb68ce8(0x105)]('❌\x20Failed\x20to\x20add\x20marketplace:',_0x5d6676[_0xb68ce8(0x105)]),console['log'](_0x2f7e12['BJaYJ']),console['log'](_0x2f7e12['DTjOK']),console[_0xb68ce8(0xf6)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x543009)):_0x508e96=!![];}if(_0x508e96){const _0xaab117=await _0x2f7e12[_0xb68ce8(0x108)](runClaudeCommand,['plugin',_0x2f7e12['ldhaN'],_0x2f7e12['pbtIM'],_0x2f7e12['wxbvU'],_0x543009]);!_0xaab117[_0xb68ce8(0x143)]?(console['error'](_0x2f7e12[_0xb68ce8(0x132)],_0xaab117[_0xb68ce8(0x105)]),console[_0xb68ce8(0xf6)](_0x2f7e12['BJaYJ']),console['log'](_0xb68ce8(0x126)+_0x543009)):console[_0xb68ce8(0xf6)]('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully\x0a');}}}else console[_0xb68ce8(0xf6)](_0x2f7e12[_0xb68ce8(0x10c)]),console[_0xb68ce8(0xf6)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0xb68ce8(0xf6)](_0xb68ce8(0x138));console[_0xb68ce8(0xf6)]('ℹ️\x20\x20To\x20add\x20an\x20environment,\x20you\x20should\x20be\x20in\x20your\x20project\x20repository.'),console['log'](_0x2f7e12[_0xb68ce8(0x107)]);const {wantsEnv:_0x1d8b10}=await _0x22cc75['prompt']([{'type':_0xb68ce8(0xf5),'name':_0x2f7e12['qBvQu'],'message':_0xb68ce8(0x13d),'default':!![]}]);if(_0x1d8b10){const {envName:_0x40d843}=await _0x22cc75['prompt']([{'type':_0x2f7e12[_0xb68ce8(0x145)],'name':'envName','message':_0xb68ce8(0x137),'default':_0xb68ce8(0x11d)}]);await addEnv(_0x40d843);}const {wantsSkillup:_0x5c1b2e}=await _0x22cc75['prompt']([{'type':_0x2f7e12['uHsAk'],'name':_0xb68ce8(0x13e),'message':_0x2f7e12['tZoZh'],'default':!![]}]);_0x5c1b2e&&await _0x2f7e12[_0xb68ce8(0xf1)](skillup);}
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,14 @@ import { readFile, readdir } from 'fs/promises';
2
2
  import { join, basename } from 'path';
3
3
  import { existsSync } from 'fs';
4
4
  import { getToken } from './utils/keychain.js';
5
- import { loadMcpConfig, hasRangerServer } from './utils/mcpConfig.js';
6
5
  import { getCurrentVersion, getLatestVersion } from './utils/version.js';
7
- import { getApiBaseUrl, getMcpServerUrl, getCurrentEnvironment, } from './utils/environment.js';
8
- import { getProjectSkillsDir, getUserSkillsDir, loadClaudeSettings, hasRangerServerInSettings, getSettingsPath, } from './utils/claudeConfig.js';
6
+ import { getApiBaseUrl, getCurrentEnvironment } from './utils/environment.js';
7
+ import { getProjectSkillsDir, getUserSkillsDir } from './utils/claudeConfig.js';
8
+ import { getEnvNames } from './env.js';
9
+ import { getCurrentUser } from './utils/userApi.js';
10
+ import { getRangerDir } from './utils/rangerRoot.js';
11
+ import { getPluginInfo } from './utils/claudePlugin.js';
12
+ import { RANGER_MANAGED_SKILLS } from './utils/skills.js';
9
13
  // ANSI formatting helpers
10
14
  const bold = (text) => `\x1b[1m${text}\x1b[0m`;
11
15
  const link = (path, text) => `\x1b]8;;file://${path}\x07${text || path}\x1b]8;;\x07`;
@@ -57,54 +61,33 @@ async function getInstalledSkills() {
57
61
  * Get environment information from .ranger directory
58
62
  */
59
63
  async function getEnvironments() {
60
- const rangerDir = join(process.cwd(), '.ranger');
64
+ const { envNames, activeEnv } = await getEnvNames();
65
+ const rangerDir = getRangerDir();
61
66
  if (!existsSync(rangerDir)) {
62
67
  return { envs: [], activeEnv: null };
63
68
  }
64
- // Get active environment
65
- let activeEnv = null;
66
- const activeEnvPath = join(rangerDir, 'active-env.txt');
67
- if (existsSync(activeEnvPath)) {
68
- try {
69
- activeEnv = (await readFile(activeEnvPath, 'utf-8')).trim();
70
- }
71
- catch {
72
- // Ignore
73
- }
74
- }
75
- const envs = [];
76
- try {
77
- const entries = await readdir(rangerDir, { withFileTypes: true });
78
- for (const entry of entries) {
79
- if (entry.isDirectory() &&
80
- !entry.name.startsWith('.') &&
81
- entry.name !== 'sessions') {
82
- const envDir = join(rangerDir, entry.name);
83
- const settingsPath = join(envDir, 'settings.json');
84
- const plaintextAuthPath = join(envDir, 'auth.json');
85
- const encryptedAuthPath = join(envDir, 'auth.json.enc');
86
- envs.push({
87
- name: entry.name,
88
- settingsPath: existsSync(settingsPath)
89
- ? settingsPath
90
- : '(not found)',
91
- hasPlaintextAuth: existsSync(plaintextAuthPath),
92
- hasEncryptedAuth: existsSync(encryptedAuthPath),
93
- isActive: entry.name === activeEnv,
94
- });
95
- }
96
- }
97
- }
98
- catch {
99
- return { envs: [], activeEnv };
100
- }
69
+ const envs = envNames.map((name) => {
70
+ const envDir = join(rangerDir, name);
71
+ const settingsPath = join(envDir, 'settings.json');
72
+ const plaintextAuthPath = join(envDir, 'auth.json');
73
+ const encryptedAuthPath = join(envDir, 'auth.json.enc');
74
+ return {
75
+ name,
76
+ settingsPath: existsSync(settingsPath)
77
+ ? settingsPath
78
+ : '(not found)',
79
+ hasPlaintextAuth: existsSync(plaintextAuthPath),
80
+ hasEncryptedAuth: existsSync(encryptedAuthPath),
81
+ isActive: name === activeEnv,
82
+ };
83
+ });
101
84
  return { envs, activeEnv };
102
85
  }
103
86
  export async function status() {
104
87
  console.log('\n📊 Ranger Status\n');
105
88
  // Root directory
106
89
  const cwd = process.cwd();
107
- const rangerDir = join(cwd, '.ranger');
90
+ const rangerDir = getRangerDir();
108
91
  // Check if Ranger is initialized
109
92
  if (!existsSync(rangerDir)) {
110
93
  console.log(`Root: ${link(cwd, bold(basename(cwd)))}`);
@@ -126,13 +109,17 @@ export async function status() {
126
109
  else {
127
110
  console.log(`Version: ${version}`);
128
111
  }
129
- // API Token
112
+ // API Token & User Identity
130
113
  const token = await getToken();
131
114
  if (token) {
132
- console.log(`API Token: Found in keychain`);
133
- }
134
- else if (process.env.RANGER_API_TOKEN) {
135
- console.log(`API Token: ✓ Found in RANGER_API_TOKEN env var`);
115
+ const result = await getCurrentUser(token);
116
+ if (result.success) {
117
+ console.log(`Organization: ${bold(result.user.organizationName)}`);
118
+ }
119
+ else {
120
+ console.log(`API Token: ✓ Found but invalid or expired`);
121
+ console.log(` Run: ranger start <token>`);
122
+ }
136
123
  }
137
124
  else {
138
125
  console.log(`API Token: ✗ Not found`);
@@ -142,29 +129,24 @@ export async function status() {
142
129
  if (process.env.DEBUG) {
143
130
  console.log(`Environment: ${getCurrentEnvironment()}`);
144
131
  console.log(`API URL: ${getApiBaseUrl()}`);
145
- console.log(`MCP Server URL: ${getMcpServerUrl()}`);
146
- }
147
- // MCP Server Config
148
- const mcpConfig = await loadMcpConfig();
149
- const claudeSettings = await loadClaudeSettings();
150
- const hasProjectMcp = hasRangerServer(mcpConfig);
151
- const hasUserMcp = hasRangerServerInSettings(claudeSettings);
152
- if (hasProjectMcp && hasUserMcp) {
153
- console.log(`MCP Server: ✓ Configured (project + user)`);
154
- }
155
- else if (hasProjectMcp) {
156
- console.log(`MCP Server: ✓ Configured in .mcp.json`);
157
132
  }
158
- else if (hasUserMcp) {
159
- console.log(`MCP Server: Configured in ${getSettingsPath()}`);
133
+ // Claude Code Plugin
134
+ console.log('\n--- Claude Code Plugin ---');
135
+ const pluginInfo = await getPluginInfo('ranger@trailhead');
136
+ if (pluginInfo) {
137
+ const scopeLabel = pluginInfo.scope || 'unknown';
138
+ const statusLabel = pluginInfo.enabled ? 'enabled' : 'disabled';
139
+ console.log(` ${bold('ranger@trailhead')}: installed (${scopeLabel}, ${statusLabel})`);
160
140
  }
161
141
  else {
162
- console.log(`MCP Server: ✗ Not configured`);
163
- console.log(` Run: ranger start <token> or ranger skillup`);
142
+ console.log(' Not installed');
143
+ console.log(' Run: ranger start <token> (includes plugin installation)');
164
144
  }
165
- // Skills
145
+ // Skills (only show Ranger-managed skills)
166
146
  console.log('\n--- Skills ---');
167
- const { project: projectSkills, user: userSkills } = await getInstalledSkills();
147
+ const { project: allProjectSkills, user: allUserSkills } = await getInstalledSkills();
148
+ const projectSkills = allProjectSkills.filter((s) => RANGER_MANAGED_SKILLS.includes(s.name));
149
+ const userSkills = allUserSkills.filter((s) => RANGER_MANAGED_SKILLS.includes(s.name));
168
150
  const totalSkills = projectSkills.length + userSkills.length;
169
151
  if (totalSkills === 0) {
170
152
  console.log('No skills installed');
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { spawn } from 'child_process';
2
- import { readdirSync, existsSync } from 'fs';
3
- import { installSkill } from './utils/skills.js';
2
+ import { existsSync } from 'fs';
3
+ import { installSkill, removeSkill, RANGER_MANAGED_SKILLS, DEPRECATED_SKILLS, } from './utils/skills.js';
4
4
  import { PACKAGE_NAME, getCurrentVersion, getLatestVersion, compareVersions, } from './utils/version.js';
5
- import { getProjectSkillsDir, getUserSkillsDir, } from './utils/claudeConfig.js';
5
+ import { getSkillsDir } from './utils/claudeConfig.js';
6
+ import { join } from 'path';
6
7
  async function runInstall() {
7
8
  return new Promise((resolve) => {
8
9
  console.log(`\nInstalling ${PACKAGE_NAME}@latest...\n`);
@@ -18,55 +19,46 @@ async function runInstall() {
18
19
  });
19
20
  });
20
21
  }
21
- function getSkillsFromDir(skillsDir) {
22
- if (!existsSync(skillsDir)) {
23
- return [];
24
- }
25
- try {
26
- const entries = readdirSync(skillsDir, { withFileTypes: true });
27
- return entries
28
- .filter((entry) => entry.isDirectory())
29
- .map((entry) => entry.name);
30
- }
31
- catch {
32
- return [];
33
- }
34
- }
35
22
  /**
36
- * Get list of installed skills from both project and user directories
23
+ * Check if a skill is installed at the given level
37
24
  */
38
- function getInstalledSkills() {
39
- return {
40
- project: getSkillsFromDir(getProjectSkillsDir()),
41
- user: getSkillsFromDir(getUserSkillsDir()),
42
- };
25
+ function isSkillInstalled(skillName, level) {
26
+ const skillDir = join(getSkillsDir(level), skillName);
27
+ return existsSync(skillDir);
43
28
  }
44
29
  /**
45
- * Reinstall all skills found in project and user skill directories.
46
- * This ensures skill content is always up to date, even if CLI version hasn't changed.
30
+ * Reinstall ranger-managed skills that are already installed.
31
+ * Only updates skills from RANGER_MANAGED_SKILLS list, ignoring user-defined skills.
32
+ * Also removes any deprecated skills.
47
33
  */
48
34
  async function reinstallSkills(cliVersion) {
49
- const { project: projectSkills, user: userSkills } = getInstalledSkills();
50
- const totalCount = projectSkills.length + userSkills.length;
51
- if (totalCount === 0) {
52
- console.log('\nNo skills found to reinstall.');
53
- return;
54
- }
55
- console.log(`\nReinstalling ${totalCount} skill(s) to ensure content is up to date...`);
56
- for (const skillName of projectSkills) {
57
- try {
58
- await installSkill(skillName, { level: 'project', cliVersion });
35
+ const levels = ['project', 'user'];
36
+ // Find which ranger-managed skills are installed at each level
37
+ const toReinstall = [];
38
+ for (const level of levels) {
39
+ for (const skillName of RANGER_MANAGED_SKILLS) {
40
+ if (isSkillInstalled(skillName, level)) {
41
+ toReinstall.push({ skillName, level });
42
+ }
59
43
  }
60
- catch (error) {
61
- console.warn(` Failed to reinstall project skill ${skillName}:`, error);
44
+ }
45
+ // Remove deprecated skills
46
+ for (const level of levels) {
47
+ for (const skillName of DEPRECATED_SKILLS) {
48
+ await removeSkill(skillName, level);
62
49
  }
63
50
  }
64
- for (const skillName of userSkills) {
51
+ if (toReinstall.length === 0) {
52
+ console.log('\nNo ranger-managed skills found to reinstall.');
53
+ return;
54
+ }
55
+ console.log(`\nReinstalling ${toReinstall.length} ranger-managed skill(s)...`);
56
+ for (const { skillName, level } of toReinstall) {
65
57
  try {
66
- await installSkill(skillName, { level: 'user', cliVersion });
58
+ await installSkill(skillName, { level, cliVersion });
67
59
  }
68
60
  catch (error) {
69
- console.warn(` Failed to reinstall user skill ${skillName}:`, error);
61
+ console.warn(` Failed to reinstall ${level} skill ${skillName}:`, error);
70
62
  }
71
63
  }
72
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}