@thegitai/cli 1.0.0-preview.30 → 1.0.0-preview.32

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
@@ -12,7 +12,7 @@ going while you work, all with your approval.
12
12
  npm i -g @thegitai/cli
13
13
  ```
14
14
 
15
- Requires Node.js 24 or newer.
15
+ Supports Node.js 22 and newer. Node.js 24 is recommended.
16
16
 
17
17
  ## Usage
18
18
 
@@ -84,6 +84,8 @@ const HELP_MARKDOWN = [
84
84
  '',
85
85
  '- `/help` — show this help',
86
86
  '- `/about` — show version and platform info',
87
+ '- `/report` — file a bug: opens the public GitHub issue form in your',
88
+ ' browser (the tracker is public — do not paste secrets)',
87
89
  '- `/usage` — show account usage percentage and reset times',
88
90
  '- `/model` — list supported models and pick one',
89
91
  '- `/model <id>` — switch the active model without clearing history',
@@ -146,8 +148,8 @@ const HELP_MARKDOWN = [
146
148
  ' computer" on that page, and paste the code back into the terminal.',
147
149
  '- A local session was used with a different sign-in → sign in with the',
148
150
  ' account you used for that session or start a new session.',
149
- '- For anything else, re-run the command and report the printed error',
150
- ' message — there is no client-side debug mode by design.',
151
+ '- For anything else, re-run the command and file the printed error',
152
+ ' message with `/report` — there is no client-side debug mode by design.',
151
153
  ].join('\n');
152
154
  export function formatAboutCard() {
153
155
  return [
@@ -76,6 +76,35 @@ const WORKING_TOOL_PREVIEW_ITEMS = 4;
76
76
  const THINKING_NOTE_PREVIEW_ROWS = 3;
77
77
  const WORKING_TOOL_PREVIEW_ROWS = 3;
78
78
  const AGENT_MODE_LABEL_WIDTH = 16;
79
+ export const REPORT_ISSUE_URL = 'https://github.com/thegitai/thegitai-cli/issues/new';
80
+ export function buildReportTranscriptEntries(openedUrl) {
81
+ return openedUrl
82
+ ? [
83
+ {
84
+ body: `Opening the public GitHub issue form in your browser. If nothing opened, visit:\n\n${REPORT_ISSUE_URL}\n\nThe tracker is public — do not paste secrets or code you may not share.`,
85
+ kind: 'system',
86
+ title: 'Report',
87
+ },
88
+ ]
89
+ : [
90
+ {
91
+ body: `Could not open a browser. Report the bug manually at:\n\n${REPORT_ISSUE_URL}\n`,
92
+ kind: 'error',
93
+ title: 'Report',
94
+ },
95
+ ];
96
+ }
97
+ export function buildTurnFailureHintEntries(cancelled) {
98
+ if (cancelled)
99
+ return [];
100
+ return [
101
+ {
102
+ body: 'Something went wrong? Use /report to submit the issue.',
103
+ kind: 'error',
104
+ title: 'Report',
105
+ },
106
+ ];
107
+ }
79
108
  export const SLASH_COMMANDS = [
80
109
  {
81
110
  command: '/help',
@@ -85,6 +114,10 @@ export const SLASH_COMMANDS = [
85
114
  command: '/about',
86
115
  description: 'Show version and platform info',
87
116
  },
117
+ {
118
+ command: '/report',
119
+ description: 'Report a bug: opens the public GitHub issue form',
120
+ },
88
121
  {
89
122
  command: '/usage',
90
123
  description: 'Show account usage percentage and reset times',
@@ -2437,6 +2470,11 @@ export async function runClientInteractive({ appendPromptHistory, authConfig, de
2437
2470
  });
2438
2471
  return;
2439
2472
  }
2473
+ if (input === '/report') {
2474
+ const opened = await openUrl(REPORT_ISSUE_URL);
2475
+ appendStaticEntries(buildReportTranscriptEntries(opened));
2476
+ return;
2477
+ }
2440
2478
  if (input === '/jobs' || input.startsWith('/jobs ')) {
2441
2479
  const jobsArgs = input.slice('/jobs'.length).trim();
2442
2480
  if (!jobsArgs) {
@@ -2771,6 +2809,7 @@ export async function runClientInteractive({ appendPromptHistory, authConfig, de
2771
2809
  else {
2772
2810
  appendStaticEntries(turnEntries);
2773
2811
  appendError(error.message);
2812
+ appendStaticEntries(buildTurnFailureHintEntries(cancelled));
2774
2813
  }
2775
2814
  await remountTui();
2776
2815
  recoverUnacknowledgedMessages(!cancelled);
@@ -180,6 +180,7 @@ const CLIENT_SLASH_COMMANDS = [
180
180
  { command: '/model', description: 'Switch the active model' },
181
181
  { command: '/resume', description: 'Open the session picker to resume a previous session' },
182
182
  { command: '/jobs', description: 'Background jobs: pick to view output or kill' },
183
+ { command: '/report', description: 'Report a bug: opens the public GitHub issue form' },
183
184
  { command: '/new', description: 'start a new conversation; this session remains saved' },
184
185
  { command: '/logout', description: 'Sign out and quit' },
185
186
  { command: '/exit', description: 'Quit the current session' },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thegitai/cli",
3
- "version": "1.0.0-preview.30",
3
+ "version": "1.0.0-preview.32",
4
4
  "description": "TheGitAI is an agentic AI coding tool for your terminal. It reads and searches your repository, writes and edits files, runs your tests, and verifies the change before handing it back.",
5
5
  "keywords": [
6
6
  "agentic-ai",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "type": "module",
27
27
  "engines": {
28
- "node": ">=24"
28
+ "node": ">=22"
29
29
  },
30
30
  "bin": {
31
31
  "ai": "./dist/bin/ai.js"
@@ -44,10 +44,10 @@
44
44
  "@lydell/node-pty-linux-x64": "1.1.0",
45
45
  "@lydell/node-pty-win32-arm64": "1.1.0",
46
46
  "@lydell/node-pty-win32-x64": "1.1.0",
47
- "@thegitai/tui-darwin-arm64": "1.0.0-preview.30",
48
- "@thegitai/tui-darwin-x64": "1.0.0-preview.30",
49
- "@thegitai/tui-linux-x64": "1.0.0-preview.30",
50
- "@thegitai/tui-win32-x64": "1.0.0-preview.30",
47
+ "@thegitai/tui-darwin-arm64": "1.0.0-preview.32",
48
+ "@thegitai/tui-darwin-x64": "1.0.0-preview.32",
49
+ "@thegitai/tui-linux-x64": "1.0.0-preview.32",
50
+ "@thegitai/tui-win32-x64": "1.0.0-preview.32",
51
51
  "@vscode/ripgrep": "1.18.0"
52
52
  },
53
53
  "repository": {