@ranger-testing/ranger-cli 1.1.7 → 2.0.1

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 (90) hide show
  1. package/README.md +47 -45
  2. package/build/cli.js +649 -277
  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 +5 -10
  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 +9 -15
  11. package/build/commands/config.js.map +1 -1
  12. package/build/commands/env.js +10 -13
  13. package/build/commands/env.js.map +1 -1
  14. package/build/commands/feature.js +174 -123
  15. package/build/commands/feature.js.map +1 -1
  16. package/build/commands/hooks/autoPrompt.js +1 -1
  17. package/build/commands/hooks/disable.js +1 -1
  18. package/build/commands/hooks/enable.js +9 -4
  19. package/build/commands/hooks/enable.js.map +1 -1
  20. package/build/commands/hooks/exitPlanMode.js +8 -8
  21. package/build/commands/hooks/planReminder.js +7 -7
  22. package/build/commands/hooks/planStart.js +4 -4
  23. package/build/commands/hooks/postEdit.js +4 -4
  24. package/build/commands/hooks/postEdit.js.map +1 -1
  25. package/build/commands/hooks/preCompact.js +3 -3
  26. package/build/commands/hooks/preCompact.js.map +1 -1
  27. package/build/commands/hooks/sessionStart.js +19 -5
  28. package/build/commands/hooks/sessionStart.js.map +1 -1
  29. package/build/commands/hooks/stopHook.js +114 -20
  30. package/build/commands/hooks/stopHook.js.map +1 -1
  31. package/build/commands/index.js +1 -2
  32. package/build/commands/index.js.map +1 -1
  33. package/build/commands/login.js +2 -5
  34. package/build/commands/login.js.map +1 -1
  35. package/build/commands/setupCi.js +189 -0
  36. package/build/commands/setupCi.js.map +1 -0
  37. package/build/commands/skillup.js +16 -68
  38. package/build/commands/skillup.js.map +1 -1
  39. package/build/commands/start.js +1 -1
  40. package/build/commands/start.js.map +1 -1
  41. package/build/commands/status.js +14 -13
  42. package/build/commands/status.js.map +1 -1
  43. package/build/commands/update.js +52 -5
  44. package/build/commands/update.js.map +1 -1
  45. package/build/commands/updateEnv.js +1 -1
  46. package/build/commands/updateEnv.js.map +1 -1
  47. package/build/commands/useEnv.js +1 -1
  48. package/build/commands/useEnv.js.map +1 -1
  49. package/build/commands/utils/activeProfile.js +76 -0
  50. package/build/commands/utils/activeProfile.js.map +1 -0
  51. package/build/commands/utils/browserSessionsApi.js +1 -1
  52. package/build/commands/utils/browserSessionsApi.js.map +1 -1
  53. package/build/commands/utils/deviceAuth.js +53 -5
  54. package/build/commands/utils/deviceAuth.js.map +1 -1
  55. package/build/commands/utils/environment.js +11 -12
  56. package/build/commands/utils/environment.js.map +1 -1
  57. package/build/commands/utils/featureApi.js +55 -30
  58. package/build/commands/utils/featureApi.js.map +1 -1
  59. package/build/commands/utils/featureReportGenerator.js +6 -6
  60. package/build/commands/utils/featureReportGenerator.js.map +1 -1
  61. package/build/commands/utils/keychain.js +1 -1
  62. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  63. package/build/commands/utils/profileMessages.js +8 -0
  64. package/build/commands/utils/profileMessages.js.map +1 -0
  65. package/build/commands/utils/profileSetupBanner.js +167 -0
  66. package/build/commands/utils/profileSetupBanner.js.map +1 -0
  67. package/build/commands/utils/settings.js +20 -2
  68. package/build/commands/utils/settings.js.map +1 -1
  69. package/build/commands/utils/skills.js +1 -1
  70. package/build/commands/utils/telemetry.js +254 -0
  71. package/build/commands/utils/telemetry.js.map +1 -0
  72. package/build/commands/utils/userApi.js +4 -4
  73. package/build/commands/utils/userApi.js.map +1 -1
  74. package/build/commands/verifyFeature.js +816 -526
  75. package/build/commands/verifyFeature.js.map +1 -1
  76. package/build/commands/verifyInBrowser.js +1 -1
  77. package/build/commands/verifyInBrowser.js.map +1 -1
  78. package/build/skills/ranger/SKILL.md +65 -64
  79. package/build/skills/ranger/create.md +31 -31
  80. package/build/skills/ranger/feedback.md +25 -17
  81. package/build/skills/ranger/start.md +37 -37
  82. package/build/skills/ranger/verify.md +59 -55
  83. package/package.json +1 -1
  84. package/scripts/postinstall.js +1 -1
  85. package/build/commands/dataMcpServer.js +0 -1
  86. package/build/commands/dataMcpServer.js.map +0 -1
  87. package/build/commands/utils/cliSecret.js +0 -1
  88. package/build/commands/utils/cliSecret.js.map +0 -1
  89. package/build/skills/bug-bash.md +0 -329
  90. package/build/skills/e2e-test-recommender.md +0 -168
package/README.md CHANGED
@@ -1,7 +1,9 @@
1
- # Ranger CLI
1
+ # Ranger Feature Review CLI
2
2
 
3
3
  Ranger brings automated QA to agentic development. The CLI sets up your project so your AI coding agent can verify UI features in a real browser, and your team can review the results on a shared dashboard.
4
4
 
5
+ https://docs.ranger.net/getting-started/quickstart/
6
+
5
7
  ## Getting Started
6
8
 
7
9
  ### 1. Install
@@ -15,7 +17,7 @@ npm install -g @ranger-testing/ranger-cli
15
17
  From your project root (must be a git repo):
16
18
 
17
19
  ```bash
18
- ranger start
20
+ ranger setup
19
21
  ```
20
22
 
21
23
  This walks you through everything interactively:
@@ -23,10 +25,10 @@ This walks you through everything interactively:
23
25
  - **Authentication** -- opens your browser to log in (credentials stored in OS Keychain)
24
26
  - **Chromium** -- installs the browser used for verification
25
27
  - **Plugin** -- installs the Claude Code plugin (you choose user-level or project-level)
26
- - **Environment** -- prompts for your app's URL, opens a browser to capture login session
28
+ - **Profile** -- prompts for your app's URL, opens a browser to capture login session
27
29
  - **Skills** -- installs markdown files that teach Claude the Ranger workflow
28
30
 
29
- > For CI, pass a token directly: `ranger start <token>`. See `RANGER_MCP_TOKEN` env var for non-interactive use.
31
+ > For CI, pass a token directly: `ranger setup [token]`. See `RANGER_MCP_TOKEN` env var for non-interactive use.
30
32
 
31
33
  ### 3. Use Ranger in Claude Code
32
34
 
@@ -34,13 +36,13 @@ This walks you through everything interactively:
34
36
  /ranger:enable
35
37
  ```
36
38
 
37
- Ask Claude to build a UI feature. Ranger handles the rest: creating a feature, verifying it in the browser, and sharing a review link when it's done.
39
+ Ask Claude to build a UI feature. Ranger handles the rest: creating a feature review, verifying it in the browser, and sharing a review link when it's done.
38
40
 
39
41
  ## How It Works
40
42
 
41
- 1. Claude creates a **feature** with checklist items describing what to verify
43
+ 1. Claude creates a **feature review** with scenarios describing what to verify
42
44
  2. Claude implements the code
43
- 3. Claude runs `ranger verify-feature` -- a browser agent tests the feature against your running app
45
+ 3. Claude runs `ranger go` -- a browser agent tests the feature review scenarios against your running app
44
46
  4. If something's broken, Claude fixes it and re-verifies
45
47
  5. Once verified, you review the evidence (screenshots, video) on the [dashboard](https://dashboard.ranger.net)
46
48
  6. Leave comments or approve -- like a GitHub PR, but for UI
@@ -51,57 +53,57 @@ Ask Claude to build a UI feature. Ranger handles the rest: creating a feature, v
51
53
 
52
54
  | Command | Description |
53
55
  | --------------- | ------------------------------------------------------------------- |
54
- | `ranger start` | Full interactive setup (auth, browser, plugin, environment, skills) |
56
+ | `ranger setup` | Full interactive setup (auth, browser, plugin, skills, profile) |
55
57
  | `ranger login` | Re-authenticate without running full setup |
56
- | `ranger status` | Show version, org, plugin, skills, and environment status |
58
+ | `ranger status` | Show version, org, plugin, skills, and profile status |
57
59
  | `ranger update` | Update CLI to latest version and refresh skills |
58
60
  | `ranger clean` | Remove all Ranger artifacts from the project |
59
61
 
60
- ### Environments
61
-
62
- | Command | Description |
63
- | --------------------------- | --------------------------------------------------------- |
64
- | `ranger add env <name>` | Add a browser environment (opens browser to capture auth) |
65
- | `ranger use <name>` | Switch active environment |
66
- | `ranger env ls` | List all environments |
67
- | `ranger env update <name>` | Re-capture auth for an environment |
68
- | `ranger auth encrypt <env>` | Encrypt auth.json for safe git storage (CI) |
69
-
70
- ### Features
71
-
72
- | Command | Description |
73
- | -------------------------------------------- | ----------------------------------------------------------------- |
74
- | `ranger feature create "<name>"` | Create a feature (`-d` for description, `-c` for checklist items) |
75
- | `ranger feature list` | List features (`--current-branch` to filter by branch) |
76
- | `ranger feature show` | Show active feature status and checklist |
77
- | `ranger feature resume <id>` | Set a feature as active and start its session |
78
- | `ranger feature add-checklist-item "<desc>"` | Add a checklist item to the active feature |
79
- | `ranger feature get-feedback` | Show unaddressed reviewer comments |
80
- | `ranger feature sessions` | List sessions for the active feature |
81
- | `ranger feature conclude-session` | End the current session |
62
+ ### Profiles
63
+
64
+ | Command | Description |
65
+ | ------------------------------------- | ----------------------------------------------------- |
66
+ | `ranger profile add <name>` | Add a browser profile (opens browser to capture auth) |
67
+ | `ranger profile use <name>` | Switch active profile |
68
+ | `ranger profile ls` | List all profiles |
69
+ | `ranger profile update <name>` | Re-capture auth for a profile |
70
+ | `ranger profile encrypt-auth <name>` | Encrypt auth.json for safe git storage (CI) |
71
+
72
+ ### Feature Reviews
73
+
74
+ | Command | Description |
75
+ | --------------------------- | -------------------------------------------------------------- |
76
+ | `ranger create "<name>"` | Create a feature review (`-d` for description, `-c` for scenarios) |
77
+ | `ranger list` | List feature reviews (`--current-branch` to filter by branch) |
78
+ | `ranger show` | Show active feature review status and scenarios |
79
+ | `ranger resume <id>` | Set a feature review as active and start its session |
80
+ | `ranger add-scenario "<desc>"` | Add a scenario to the active feature review |
81
+ | `ranger get-review` | Show unaddressed reviewer comments |
82
+ | `ranger delete` | Soft delete the active feature review |
83
+ | `ranger restore <id>` | Restore a soft-deleted feature review |
82
84
 
83
85
  ### Verification
84
86
 
85
- | Command | Description |
86
- | ----------------------- | -------------------------------------- |
87
- | `ranger verify-feature` | Verify a checklist item in the browser |
87
+ | Command | Description |
88
+ | ------------ | ------------------------------------ |
89
+ | `ranger go` | Verify a scenario in the browser |
88
90
 
89
- Options: `--item <N>` (item index), `--task "<desc>"` (override task), `--start-path /path` (start URL), `--env <name>`.
91
+ Options: `--scenario <N>` (scenario index), `--notes "<desc>"` (override notes), `--start-path /path` (start URL), `--profile <name>`.
90
92
 
91
93
  ### Config
92
94
 
93
- | Command | Description |
94
- | --------------------------------------- | ---------------------------------- |
95
- | `ranger config set <env> <key> <value>` | Set a config value |
96
- | `ranger config get <env> <key>` | Read a config value |
97
- | `ranger config list <env>` | Show all config for an environment |
98
- | `ranger config unset <env> <key>` | Remove a config value |
95
+ | Command | Description |
96
+ | ------------------------------------------------- | ------------------------------ |
97
+ | `ranger profile config set <profile> <key> <value>` | Set a config value |
98
+ | `ranger profile config get <profile> <key>` | Read a config value |
99
+ | `ranger profile config list <profile>` | Show all config for a profile |
100
+ | `ranger profile config unset <profile> <key>` | Remove a config value |
99
101
 
100
102
  Keys: `headless`, `userAgent`, `storageState`, `header.<name>`. Environment variables (e.g., `${AUTH_TOKEN}`) are resolved at runtime.
101
103
 
102
104
  ## Plugin
103
105
 
104
- `ranger start` installs the Claude Code plugin automatically. To install manually:
106
+ `ranger setup` installs the Claude Code plugin automatically. To install manually:
105
107
 
106
108
  ```bash
107
109
  claude plugin marketplace add ranger-testing/trailhead
@@ -110,10 +112,10 @@ claude plugin install ranger@trailhead --scope user
110
112
 
111
113
  ## Troubleshooting
112
114
 
113
- **"No active environment"** -- Run `ranger use <env-name>`.
115
+ **"No active profile"** -- Run `ranger profile use <profile-name>`.
114
116
 
115
- **Authentication expired** -- Run `ranger env update <env-name>` to re-capture.
117
+ **Authentication expired** -- Run `ranger profile update <profile-name>` to re-capture.
116
118
 
117
- **"No active feature"** -- Run `ranger feature list` then `ranger feature resume <id>`.
119
+ **"No active feature review"** -- Run `ranger list` then `ranger resume <id>`.
118
120
 
119
121
  Run `ranger status` to see everything at a glance.