@lightupai/polaris 0.0.94 → 0.0.96

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.
package/README.md CHANGED
@@ -121,6 +121,10 @@ polaris use you@personal.com # Switch to a personal account (triggers
121
121
  # Other commands
122
122
  polaris daemon # Start the local daemon (kills any existing daemon first)
123
123
  polaris status # Show active account, daemon state, sessions
124
+ polaris feedback # Report a bug or request a feature (opens GitHub)
125
+ polaris feedback "it crashed on startup" # Pre-fill the issue title
126
+ polaris feedback --bug "description" # Open with bug label
127
+ polaris feedback --feature "description" # Open with feature-request label
124
128
  polaris logout # Remove active account credentials
125
129
  polaris logout --all # Remove all credentials
126
130
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lightupai/polaris",
3
- "version": "0.0.94",
3
+ "version": "0.0.96",
4
4
  "description": "Record and stream Claude Code sessions to Slack. Like Gong for AI coding — capture every prompt, response, and tool call. Multiplayer collaboration across AI coding agents.",
5
5
  "keywords": [
6
6
  "claude-code",
package/src/cli/cli.ts CHANGED
@@ -12,6 +12,7 @@
12
12
  // polaris daemon — start the local daemon
13
13
  // polaris status — show connection status
14
14
  // polaris recover — re-POST locally logged events missing upstream
15
+ // polaris feedback — report a bug or request a feature
15
16
  // polaris logout — remove credentials
16
17
 
17
18
  import { mkdir, writeFile, readFile, rm, copyFile, chmod, readdir } from "node:fs/promises";
@@ -805,6 +806,46 @@ async function logout(all = false) {
805
806
  console.log("MCP config and hooks are still installed — run `polaris install` to reset them.");
806
807
  }
807
808
 
809
+ // --- Feedback ---
810
+
811
+ const GITHUB_ISSUES_URL = "https://github.com/lightup-data/polaris/issues/new";
812
+
813
+ function openUrl(url: string): void {
814
+ Bun.spawn(
815
+ process.platform === "darwin" ? ["open", url] :
816
+ process.platform === "win32" ? ["cmd", "/c", "start", url] :
817
+ ["xdg-open", url],
818
+ { stdout: "ignore", stderr: "ignore" }
819
+ ).unref?.();
820
+ }
821
+
822
+ async function feedback(text?: string, label?: "bug" | "enhancement") {
823
+ let version = "";
824
+ try {
825
+ const pkgPath = join(import.meta.dir, "..", "..", "package.json");
826
+ ({ version } = JSON.parse(await readFile(pkgPath, "utf-8")) as { version: string });
827
+ } catch { /* non-fatal */ }
828
+
829
+ const params: Record<string, string> = {};
830
+ if (text) {
831
+ params.title = text;
832
+ const versionLine = version ? `**polaris version:** ${version}\n\n` : "";
833
+ params.body = `${versionLine}${text}`;
834
+ }
835
+ if (label) params.labels = label;
836
+
837
+ const qs = new URLSearchParams(params).toString();
838
+ const url = qs ? `${GITHUB_ISSUES_URL}?${qs}` : GITHUB_ISSUES_URL;
839
+
840
+ openUrl(url);
841
+ if (text) {
842
+ console.log(`Opening GitHub with your feedback: "${text}"`);
843
+ } else {
844
+ console.log("Opening GitHub issues page...");
845
+ }
846
+ console.log(`\nIf the browser didn't open: ${url}`);
847
+ }
848
+
808
849
  // --- Update check ---
809
850
  // Warn if a newer version is available on npm. Best-effort: never blocks startup.
810
851
 
@@ -902,6 +943,15 @@ switch (command) {
902
943
  await recover();
903
944
  break;
904
945
 
946
+ case "feedback": {
947
+ const isBug = hasFlag("bug");
948
+ const isFeature = hasFlag("feature");
949
+ const label = isBug ? "bug" : isFeature ? "enhancement" : undefined;
950
+ const text = args.slice(1).find(a => !a.startsWith("--"));
951
+ await feedback(text, label);
952
+ break;
953
+ }
954
+
905
955
  case "logout":
906
956
  await logout(hasFlag("all"));
907
957
  break;
@@ -940,6 +990,7 @@ switch (command) {
940
990
  console.log(" polaris daemon — start the local daemon");
941
991
  console.log(" polaris status — show connection status");
942
992
  console.log(" polaris recover — re-POST locally logged events missing upstream");
993
+ console.log(" polaris feedback — report a bug or request a feature");
943
994
  console.log(" polaris logout — remove active profile");
944
995
  console.log(" polaris logout --all — remove all credentials");
945
996
  }