tg-claude 0.1.0 → 0.2.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.
package/README.md CHANGED
@@ -15,54 +15,49 @@ Control Claude Code from your phone via Telegram. Get notifications when Claude
15
15
 
16
16
  ### Prerequisites
17
17
 
18
- - Node.js 20 or higher
19
- - Claude Code CLI installed and authenticated (`npm install -g @anthropic-ai/claude-code`)
18
+ - Node.js 20+
19
+ - [Claude Code CLI](https://github.com/anthropics/claude-code) installed and authenticated
20
20
  - A Telegram account
21
21
 
22
- ### 1. Create a Telegram Bot
23
-
24
- 1. Open Telegram and message [@BotFather](https://t.me/BotFather)
25
- 2. Send `/newbot`
26
- 3. Follow the prompts to name your bot
27
- 4. Copy the bot token you receive (looks like `123456789:ABCdefGHI...`)
28
-
29
- ### 2. Get Your Telegram User ID
30
-
31
- 1. Message [@userinfobot](https://t.me/userinfobot) on Telegram
32
- 2. Copy your numeric user ID (just a number like `123456789`)
33
-
34
- ### 3. Install and Configure
35
-
36
- **Option A: Global Install (recommended)**
22
+ ### Installation
37
23
 
38
24
  ```bash
39
25
  npm install -g tg-claude
40
26
  ```
41
27
 
42
- **Option B: npx (no install)**
28
+ ### Setup (Interactive Wizard)
29
+
30
+ Just run the command — the setup wizard guides you through everything:
43
31
 
44
32
  ```bash
45
- npx tg-claude "Your prompt"
33
+ tg-claude
46
34
  ```
47
35
 
48
- Set your environment variables:
36
+ The wizard will:
37
+ 1. **Walk you through creating a Telegram bot** via @BotFather
38
+ 2. **Help you get your user ID** from @userinfobot
39
+ 3. **Save credentials** to `.env` automatically
40
+
41
+ That's it! Now run with a prompt:
49
42
 
50
43
  ```bash
51
- export TELEGRAM_BOT_TOKEN="your_bot_token"
52
- export TELEGRAM_USER_ID="your_user_id"
44
+ tg-claude "Fix the bug in app.js"
53
45
  ```
54
46
 
55
- Or create a `.env` file in your working directory:
47
+ ### Alternative: npx (no install)
56
48
 
57
49
  ```bash
58
- cp .env.example .env
59
- # Edit .env with your values
50
+ npx tg-claude
60
51
  ```
61
52
 
62
- ### 4. Run
53
+ > **Note:** With npx, the `.env` file is created in your current directory. Run from your project folder.
54
+
55
+ ### Re-run Setup
56
+
57
+ To reconfigure your Telegram credentials anytime:
63
58
 
64
59
  ```bash
65
- tg-claude "Fix the bug in app.js"
60
+ tg-claude --setup
66
61
  ```
67
62
 
68
63
  ## Usage
@@ -75,6 +70,7 @@ tg-claude [options] "Your prompt"
75
70
 
76
71
  | Flag | Description |
77
72
  |------|-------------|
73
+ | `--setup` | Run setup wizard to configure Telegram credentials |
78
74
  | `--help`, `-h` | Show help message |
79
75
  | `--version`, `-v` | Show version number |
80
76
  | `--verbose` | Show additional logging |
@@ -144,17 +140,31 @@ npm install -g @anthropic-ai/claude-code
144
140
  claude auth login
145
141
  ```
146
142
 
147
- ### "Permission denied" on global install
143
+ ### "Permission denied" or EACCES errors
148
144
 
149
- Use sudo or configure npm for global installs without sudo:
145
+ Fix npm permissions (recommended one-time fix):
146
+
147
+ ```bash
148
+ sudo chown -R $(whoami) ~/.npm
149
+ ```
150
+
151
+ Then install normally:
152
+
153
+ ```bash
154
+ npm install -g tg-claude
155
+ ```
156
+
157
+ Or use a custom npm prefix:
150
158
 
151
159
  ```bash
152
- sudo npm install -g tg-claude
153
- # or
154
160
  npm config set prefix ~/.npm-global
155
- export PATH=~/.npm-global/bin:$PATH
161
+ echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc
162
+ source ~/.zshrc
163
+ npm install -g tg-claude
156
164
  ```
157
165
 
166
+ > **Avoid using sudo with npx** — it creates files with root ownership which causes issues.
167
+
158
168
  ### Bot not responding
159
169
 
160
170
  1. Make sure you messaged your bot at least once to start a conversation
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@ function escapeHtml(text) {
18
18
  * Supports multi-turn conversations via Telegram with --resume.
19
19
  */
20
20
  // Package version for --version flag
21
- const VERSION = '0.1.0';
21
+ const VERSION = '0.2.1';
22
22
  // Load and validate environment variables
23
23
  const env = loadEnv();
24
24
  // Parse command line arguments
@@ -29,6 +29,40 @@ if (args.includes('--version') || args.includes('-v')) {
29
29
  console.log(VERSION);
30
30
  process.exit(0);
31
31
  }
32
+ // Check for --setup flag (before env loading)
33
+ if (args.includes('--setup')) {
34
+ const { setupWizard } = await import('./setup/index.js');
35
+ await setupWizard();
36
+ process.exit(0);
37
+ }
38
+ // Auto-trigger setup wizard if credentials missing and interactive TTY
39
+ if (!env.hasTelegram && process.stdin.isTTY && args.length === 0) {
40
+ console.log('\nNo Telegram credentials found.');
41
+ const { confirm } = await import('@inquirer/prompts');
42
+ try {
43
+ const runSetup = await confirm({
44
+ message: 'Would you like to run the setup wizard?',
45
+ default: true,
46
+ });
47
+ if (runSetup) {
48
+ const { setupWizard } = await import('./setup/index.js');
49
+ await setupWizard();
50
+ console.log('\nRestart tg-claude with your prompt to get started.\n');
51
+ process.exit(0);
52
+ }
53
+ else {
54
+ console.log('\nRun with --setup later to configure Telegram.\n');
55
+ process.exit(0);
56
+ }
57
+ }
58
+ catch (error) {
59
+ if (error instanceof Error && error.name === 'ExitPromptError') {
60
+ console.log('\n');
61
+ process.exit(0);
62
+ }
63
+ throw error;
64
+ }
65
+ }
32
66
  // Check for --help / -h flag (before other processing)
33
67
  if (args.includes('--help') || args.includes('-h') || args.length === 0) {
34
68
  console.log(`tg-claude - Control Claude Code from Telegram
@@ -38,6 +72,7 @@ Usage:
38
72
  npx tg-claude [options] "Your prompt"
39
73
 
40
74
  Options:
75
+ --setup Run setup wizard to configure Telegram credentials
41
76
  --verbose Show additional logging
42
77
  --debug Enable debug output
43
78
  --quiet Suppress bridge logs, show only Claude output
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Credentials required for Telegram bot configuration.
3
+ */
4
+ export interface TelegramCredentials {
5
+ token: string;
6
+ userId: string;
7
+ }
8
+ /**
9
+ * Read existing .env file contents from current working directory.
10
+ *
11
+ * @returns The file contents as a string, or null if file doesn't exist or cannot be read
12
+ */
13
+ export declare function readExistingEnv(): string | null;
14
+ /**
15
+ * Write Telegram credentials to .env file, preserving other existing variables.
16
+ * Removes any existing TELEGRAM_BOT_TOKEN and TELEGRAM_USER_ID lines before appending new ones.
17
+ *
18
+ * @param credentials - The Telegram credentials to write
19
+ * @param existingContent - Existing .env file content, or null if creating new file
20
+ */
21
+ export declare function writeEnvFile(credentials: TelegramCredentials, existingContent: string | null): void;
22
+ //# sourceMappingURL=envWriter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envWriter.d.ts","sourceRoot":"","sources":["../../src/setup/envWriter.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAY/C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CA+BnG"}
@@ -0,0 +1,54 @@
1
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ /**
4
+ * Read existing .env file contents from current working directory.
5
+ *
6
+ * @returns The file contents as a string, or null if file doesn't exist or cannot be read
7
+ */
8
+ export function readExistingEnv() {
9
+ const envPath = join(process.cwd(), '.env');
10
+ if (!existsSync(envPath)) {
11
+ return null;
12
+ }
13
+ try {
14
+ return readFileSync(envPath, 'utf-8');
15
+ }
16
+ catch {
17
+ return null;
18
+ }
19
+ }
20
+ /**
21
+ * Write Telegram credentials to .env file, preserving other existing variables.
22
+ * Removes any existing TELEGRAM_BOT_TOKEN and TELEGRAM_USER_ID lines before appending new ones.
23
+ *
24
+ * @param credentials - The Telegram credentials to write
25
+ * @param existingContent - Existing .env file content, or null if creating new file
26
+ */
27
+ export function writeEnvFile(credentials, existingContent) {
28
+ const envPath = join(process.cwd(), '.env');
29
+ let lines = [];
30
+ if (existingContent) {
31
+ // Parse existing content, filtering out Telegram credential lines
32
+ lines = existingContent
33
+ .split('\n')
34
+ .filter(line => {
35
+ const trimmed = line.trim();
36
+ return !trimmed.startsWith('TELEGRAM_BOT_TOKEN=') &&
37
+ !trimmed.startsWith('TELEGRAM_USER_ID=');
38
+ });
39
+ // Remove trailing empty lines
40
+ while (lines.length > 0 && lines[lines.length - 1].trim() === '') {
41
+ lines.pop();
42
+ }
43
+ }
44
+ // Add blank separator line if there's existing content
45
+ if (lines.length > 0) {
46
+ lines.push('');
47
+ }
48
+ // Append Telegram credentials
49
+ lines.push(`TELEGRAM_BOT_TOKEN=${credentials.token}`);
50
+ lines.push(`TELEGRAM_USER_ID=${credentials.userId}`);
51
+ lines.push(''); // Trailing newline
52
+ writeFileSync(envPath, lines.join('\n'));
53
+ }
54
+ //# sourceMappingURL=envWriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envWriter.js","sourceRoot":"","sources":["../../src/setup/envWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAUjC;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAE5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,WAAgC,EAAE,eAA8B;IAC3F,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,KAAK,GAAa,EAAE,CAAC;IAEzB,IAAI,eAAe,EAAE,CAAC;QACpB,kEAAkE;QAClE,KAAK,GAAG,eAAe;aACpB,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,IAAI,CAAC,EAAE;YACb,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC;gBAC1C,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEL,8BAA8B;QAC9B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjE,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,IAAI,CAAC,sBAAsB,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;IAEnC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { setupWizard } from './wizard.js';
2
+ export { validateToken, validateUserId } from './validators.js';
3
+ export { readExistingEnv, writeEnvFile } from './envWriter.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/setup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { setupWizard } from './wizard.js';
2
+ export { validateToken, validateUserId } from './validators.js';
3
+ export { readExistingEnv, writeEnvFile } from './envWriter.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/setup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Validation functions for setup wizard inputs.
3
+ * Return true for valid input, or a helpful error message string for invalid input.
4
+ */
5
+ /**
6
+ * Validate a Telegram bot token format.
7
+ * Tokens follow the pattern: {bot_id}:{token_part}
8
+ * Example: 123456789:ABCdefGHIjklMNOpqrSTUvwxYZ123456789
9
+ *
10
+ * @param value - The raw input string to validate
11
+ * @returns true if valid, or an error message string if invalid
12
+ */
13
+ export declare function validateToken(value: string): boolean | string;
14
+ /**
15
+ * Validate a Telegram user ID.
16
+ * User IDs are positive integers.
17
+ *
18
+ * @param value - The raw input string to validate
19
+ * @returns true if valid, or an error message string if invalid
20
+ */
21
+ export declare function validateUserId(value: string): boolean | string;
22
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/setup/validators.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAe7D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAmB9D"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Validation functions for setup wizard inputs.
3
+ * Return true for valid input, or a helpful error message string for invalid input.
4
+ */
5
+ /**
6
+ * Validate a Telegram bot token format.
7
+ * Tokens follow the pattern: {bot_id}:{token_part}
8
+ * Example: 123456789:ABCdefGHIjklMNOpqrSTUvwxYZ123456789
9
+ *
10
+ * @param value - The raw input string to validate
11
+ * @returns true if valid, or an error message string if invalid
12
+ */
13
+ export function validateToken(value) {
14
+ const trimmed = value.trim();
15
+ if (!trimmed) {
16
+ return 'Token is required';
17
+ }
18
+ // Telegram bot tokens: {5-16 digit bot_id}:A{34 alphanumeric/underscore/dash chars}
19
+ const tokenPattern = /^\d{5,16}:A[a-zA-Z0-9_-]{34}$/;
20
+ if (!tokenPattern.test(trimmed)) {
21
+ return 'Invalid token format. Should look like: 123456789:ABCdefGHIjklMNOpqrSTUvwxYZ123456789';
22
+ }
23
+ return true;
24
+ }
25
+ /**
26
+ * Validate a Telegram user ID.
27
+ * User IDs are positive integers.
28
+ *
29
+ * @param value - The raw input string to validate
30
+ * @returns true if valid, or an error message string if invalid
31
+ */
32
+ export function validateUserId(value) {
33
+ const trimmed = value.trim();
34
+ if (!trimmed) {
35
+ return 'User ID is required';
36
+ }
37
+ const parsed = parseInt(trimmed, 10);
38
+ if (isNaN(parsed) || parsed <= 0) {
39
+ return 'User ID must be a positive number. Get it from @userinfobot on Telegram.';
40
+ }
41
+ // Ensure no extra characters (e.g., "123abc" would parse to 123)
42
+ if (parsed.toString() !== trimmed) {
43
+ return 'User ID must contain only digits';
44
+ }
45
+ return true;
46
+ }
47
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/setup/validators.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,oFAAoF;IACpF,MAAM,YAAY,GAAG,+BAA+B,CAAC;IAErD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,uFAAuF,CAAC;IACjG,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAErC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,0EAA0E,CAAC;IACpF,CAAC;IAED,iEAAiE;IACjE,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO,kCAAkC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Interactive setup wizard for configuring Telegram bot credentials.
3
+ * Guides the user through obtaining and entering their bot token and user ID.
4
+ * Handles Ctrl+C gracefully without stack traces.
5
+ */
6
+ export declare function setupWizard(): Promise<void>;
7
+ //# sourceMappingURL=wizard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/setup/wizard.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAwDjD"}
@@ -0,0 +1,57 @@
1
+ import { input, confirm } from '@inquirer/prompts';
2
+ import { validateToken, validateUserId } from './validators.js';
3
+ import { readExistingEnv, writeEnvFile } from './envWriter.js';
4
+ /**
5
+ * Interactive setup wizard for configuring Telegram bot credentials.
6
+ * Guides the user through obtaining and entering their bot token and user ID.
7
+ * Handles Ctrl+C gracefully without stack traces.
8
+ */
9
+ export async function setupWizard() {
10
+ try {
11
+ // Header
12
+ console.log('\n=== tg-claude Setup Wizard ===\n');
13
+ console.log('This wizard will help you configure your Telegram bot credentials.');
14
+ console.log('You will need to create a bot and get your user ID.\n');
15
+ // Step 1: Bot token
16
+ console.log('STEP 1: Get your bot token from @BotFather\n');
17
+ console.log(' 1. Open Telegram and search for @BotFather');
18
+ console.log(' 2. Send /newbot and follow the prompts to create a bot');
19
+ console.log(' 3. Copy the token that BotFather gives you\n');
20
+ const token = (await input({
21
+ message: 'Paste your bot token:',
22
+ validate: validateToken,
23
+ })).trim();
24
+ // Step 2: User ID
25
+ console.log('\nSTEP 2: Get your user ID from @userinfobot\n');
26
+ console.log(' 1. Open Telegram and search for @userinfobot');
27
+ console.log(' 2. Start the bot - it will show your numeric user ID\n');
28
+ const userId = (await input({
29
+ message: 'Enter your user ID:',
30
+ validate: validateUserId,
31
+ })).trim();
32
+ // Step 3: Confirm and write
33
+ const existingContent = readExistingEnv();
34
+ if (existingContent !== null) {
35
+ const shouldUpdate = await confirm({
36
+ message: 'A .env file already exists. Update Telegram settings?',
37
+ default: true,
38
+ });
39
+ if (!shouldUpdate) {
40
+ console.log('\nSetup cancelled.');
41
+ return;
42
+ }
43
+ }
44
+ writeEnvFile({ token, userId }, existingContent);
45
+ console.log('\n✓ Setup complete! Your credentials have been saved to .env');
46
+ console.log('\nYou can now run: tg-claude <your-prompt>\n');
47
+ }
48
+ catch (error) {
49
+ // Handle Ctrl+C gracefully
50
+ if (error instanceof Error && error.name === 'ExitPromptError') {
51
+ console.log('\n\nSetup cancelled.');
52
+ process.exit(0);
53
+ }
54
+ throw error;
55
+ }
56
+ }
57
+ //# sourceMappingURL=wizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/setup/wizard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE/D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC;QACH,SAAS;QACT,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QAErE,oBAAoB;QACpB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAE9D,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC;YACzB,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,aAAa;SACxB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEX,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QAExE,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC;YAC1B,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,cAAc;SACzB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEX,4BAA4B;QAC5B,MAAM,eAAe,GAAG,eAAe,EAAE,CAAC;QAE1C,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC;gBACjC,OAAO,EAAE,uDAAuD;gBAChE,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;QACH,CAAC;QAED,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC;QAEjD,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAE9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2BAA2B;QAC3B,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tg-claude",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Bridge between Claude Code CLI and Telegram for mobile interaction",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -29,6 +29,7 @@
29
29
  "author": "",
30
30
  "license": "MIT",
31
31
  "dependencies": {
32
+ "@inquirer/prompts": "^8.2.0",
32
33
  "ansi-regex": "^6.2.2",
33
34
  "dotenv": "^17.2.3",
34
35
  "grammy": "^1.39.3",