This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

1```json 2{ 3 "issue": "at://did:plc:zmjoeu3stwcn44647rhxa44o/sh.tangled.repo.issue/3lvzel2uo3a22", 4 "version": 1, 5 "items": [ 6 { 7 "id": "command_namespace", 8 "prompt": "The issue requests `axr lh pair`, but the existing lighthouse module is `steamvr-lh.nu` (commands are `axr steamvr-lh calibrate`, `axr steamvr-lh console`). How should the new pair command be namespaced?", 9 "options": [ 10 { 11 "label": "Rename module to `lh.nu` so commands become `axr lh pair`, `axr lh calibrate`, etc.", 12 "value": "rename_to_lh", 13 "followups": [ 14 { 15 "id": "rename_deprecation", 16 "prompt": "Should the old `steamvr-lh` name be preserved as a deprecated alias?", 17 "options": [ 18 { 19 "label": "Yes, keep a thin `steamvr-lh.nu` wrapper that re-exports `lh.nu` with a deprecation warning", 20 "value": "keep_alias" 21 }, 22 { 23 "label": "No, just rename — the project is marked as no longer maintained anyway", 24 "value": "no_alias" 25 } 26 ] 27 } 28 ] 29 }, 30 { 31 "label": "Add `pair` to the existing `steamvr-lh.nu` module (command becomes `axr steamvr-lh pair`)", 32 "value": "keep_steamvr_lh" 33 }, 34 { 35 "label": "Create a new separate `lh.nu` module for pairing only, keep `steamvr-lh.nu` for calibrate/console", 36 "value": "separate_module" 37 } 38 ] 39 }, 40 { 41 "id": "backend_tool", 42 "prompt": "Which backend tool should the pair command use?", 43 "options": [ 44 { 45 "label": "Use `lighthouse_console` now (available today via SteamVR, slower but works)", 46 "value": "lighthouse_console", 47 "followups": [ 48 { 49 "id": "lhctl_future_proofing", 50 "prompt": "Should the implementation be structured to make switching to `lhctl` easier later?", 51 "options": [ 52 { 53 "label": "Yes, abstract the pairing logic behind a helper function so the backend can be swapped", 54 "value": "abstract_backend" 55 }, 56 { 57 "label": "No, just call lighthouse_console directly — refactor when lhctl is available", 58 "value": "direct_call" 59 } 60 ] 61 } 62 ] 63 }, 64 { 65 "label": "Wait for `lhctl` to be publicly released and implement with that", 66 "value": "wait_for_lhctl" 67 }, 68 { 69 "label": "Support both: detect if `lhctl` is available and prefer it, fall back to `lighthouse_console`", 70 "value": "dual_backend", 71 "followups": [ 72 { 73 "id": "dual_backend_flag", 74 "prompt": "Should the user be able to force a specific backend?", 75 "options": [ 76 { 77 "label": "Yes, add a `--backend` flag (e.g. `axr lh pair --backend lhctl`)", 78 "value": "backend_flag" 79 }, 80 { 81 "label": "No, auto-detect only — simpler UX", 82 "value": "auto_detect_only" 83 } 84 ] 85 } 86 ] 87 } 88 ] 89 }, 90 { 91 "id": "pairing_workflow", 92 "prompt": "How should the pairing workflow work from the user's perspective?", 93 "options": [ 94 { 95 "label": "Fully interactive: scan for devices, present a list, user selects which to pair", 96 "value": "interactive", 97 "followups": [ 98 { 99 "id": "interactive_multi_select", 100 "prompt": "Should the user be able to pair multiple devices in one session?", 101 "options": [ 102 { 103 "label": "Yes, allow multi-select from discovered devices", 104 "value": "multi_select" 105 }, 106 { 107 "label": "No, pair one device at a time (simpler, matches lighthouse_console behavior)", 108 "value": "single_select" 109 } 110 ] 111 } 112 ] 113 }, 114 { 115 "label": "Semi-interactive: user provides device serial/ID as argument, command handles the rest", 116 "value": "semi_interactive" 117 }, 118 { 119 "label": "Guided wizard: step-by-step prompts (put device in pairing mode, confirm, etc.)", 120 "value": "guided_wizard" 121 } 122 ] 123 }, 124 { 125 "id": "device_types", 126 "prompt": "Which lighthouse-tracked device types should the pair command support?", 127 "options": [ 128 { 129 "label": "All lighthouse devices (base stations, controllers, trackers, HMDs)", 130 "value": "all_devices" 131 }, 132 { 133 "label": "Controllers and trackers only (most common pairing need)", 134 "value": "controllers_trackers" 135 }, 136 { 137 "label": "Start with controllers only, add other device types in follow-up PRs", 138 "value": "controllers_first" 139 } 140 ] 141 }, 142 { 143 "id": "lh_console_discovery", 144 "prompt": "The existing `lh-console` helper in `steamvr-lh.nu` checks multiple paths (PATH, Flatpak Steam, native Steam). Should the pair command reuse this helper?", 145 "options": [ 146 { 147 "label": "Yes, reuse the existing `lh-console` helper as-is", 148 "value": "reuse_helper" 149 }, 150 { 151 "label": "Reuse but refactor `lh-console` to also support piping input/capturing output (needed for scripted pairing)", 152 "value": "refactor_helper" 153 }, 154 { 155 "label": "Write a new helper specifically for pairing that handles the async job pattern lighthouse_console needs", 156 "value": "new_helper" 157 } 158 ] 159 }, 160 { 161 "id": "error_handling", 162 "prompt": "How should the command handle common failure cases (no Bluetooth, SteamVR not installed, device not found)?", 163 "options": [ 164 { 165 "label": "Pre-flight checks: verify prerequisites before attempting pairing, with actionable error messages", 166 "value": "preflight_checks" 167 }, 168 { 169 "label": "Attempt pairing and surface errors from lighthouse_console/lhctl with minimal wrapping", 170 "value": "passthrough_errors" 171 }, 172 { 173 "label": "Pre-flight checks plus a `--force` flag to skip them for advanced users", 174 "value": "preflight_with_force" 175 } 176 ] 177 }, 178 { 179 "id": "timeout_handling", 180 "prompt": "Pairing can take a while (especially with lighthouse_console). How should timeouts be handled?", 181 "options": [ 182 { 183 "label": "Default timeout with a `--timeout` flag to override", 184 "value": "configurable_timeout" 185 }, 186 { 187 "label": "No timeout — wait indefinitely until pairing succeeds or user cancels (Ctrl+C)", 188 "value": "no_timeout" 189 }, 190 { 191 "label": "Progress indicator with a generous default timeout (e.g. 60s) and clear messaging", 192 "value": "progress_with_timeout" 193 } 194 ] 195 }, 196 { 197 "id": "testing_strategy", 198 "prompt": "How should this feature be tested? (Hardware-dependent features are hard to unit test)", 199 "options": [ 200 { 201 "label": "Manual testing only — document test procedure in PR description", 202 "value": "manual_only" 203 }, 204 { 205 "label": "Add basic tests for argument parsing and pre-flight checks (mock external commands)", 206 "value": "basic_tests" 207 }, 208 { 209 "label": "No tests needed — the project is marked as no longer maintained", 210 "value": "no_tests" 211 } 212 ] 213 }, 214 { 215 "id": "documentation", 216 "prompt": "What documentation should accompany this feature?", 217 "options": [ 218 { 219 "label": "Inline help text in the Nushell command (consistent with existing commands like `calibrate`)", 220 "value": "inline_help_only" 221 }, 222 { 223 "label": "Inline help text plus a section in the README", 224 "value": "inline_and_readme" 225 }, 226 { 227 "label": "Inline help text only — README already says the project is no longer maintained", 228 "value": "inline_no_readme" 229 } 230 ] 231 } 232 ] 233} 234```