vigthoria-cli 1.0.0

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 (75) hide show
  1. package/README.md +413 -0
  2. package/dist/commands/auth.d.ts +24 -0
  3. package/dist/commands/auth.d.ts.map +1 -0
  4. package/dist/commands/auth.js +194 -0
  5. package/dist/commands/auth.js.map +1 -0
  6. package/dist/commands/chat.d.ts +64 -0
  7. package/dist/commands/chat.d.ts.map +1 -0
  8. package/dist/commands/chat.js +596 -0
  9. package/dist/commands/chat.js.map +1 -0
  10. package/dist/commands/config.d.ts +25 -0
  11. package/dist/commands/config.d.ts.map +1 -0
  12. package/dist/commands/config.js +291 -0
  13. package/dist/commands/config.js.map +1 -0
  14. package/dist/commands/edit.d.ts +28 -0
  15. package/dist/commands/edit.d.ts.map +1 -0
  16. package/dist/commands/edit.js +257 -0
  17. package/dist/commands/edit.js.map +1 -0
  18. package/dist/commands/explain.d.ts +21 -0
  19. package/dist/commands/explain.d.ts.map +1 -0
  20. package/dist/commands/explain.js +98 -0
  21. package/dist/commands/explain.js.map +1 -0
  22. package/dist/commands/generate.d.ts +25 -0
  23. package/dist/commands/generate.d.ts.map +1 -0
  24. package/dist/commands/generate.js +155 -0
  25. package/dist/commands/generate.js.map +1 -0
  26. package/dist/commands/review.d.ts +24 -0
  27. package/dist/commands/review.d.ts.map +1 -0
  28. package/dist/commands/review.js +153 -0
  29. package/dist/commands/review.js.map +1 -0
  30. package/dist/index.d.ts +16 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +205 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/utils/api.d.ts +88 -0
  35. package/dist/utils/api.d.ts.map +1 -0
  36. package/dist/utils/api.js +431 -0
  37. package/dist/utils/api.js.map +1 -0
  38. package/dist/utils/config.d.ts +57 -0
  39. package/dist/utils/config.d.ts.map +1 -0
  40. package/dist/utils/config.js +167 -0
  41. package/dist/utils/config.js.map +1 -0
  42. package/dist/utils/files.d.ts +31 -0
  43. package/dist/utils/files.d.ts.map +1 -0
  44. package/dist/utils/files.js +217 -0
  45. package/dist/utils/files.js.map +1 -0
  46. package/dist/utils/logger.d.ts +23 -0
  47. package/dist/utils/logger.d.ts.map +1 -0
  48. package/dist/utils/logger.js +104 -0
  49. package/dist/utils/logger.js.map +1 -0
  50. package/dist/utils/session.d.ts +61 -0
  51. package/dist/utils/session.d.ts.map +1 -0
  52. package/dist/utils/session.js +172 -0
  53. package/dist/utils/session.js.map +1 -0
  54. package/dist/utils/tools.d.ts +145 -0
  55. package/dist/utils/tools.d.ts.map +1 -0
  56. package/dist/utils/tools.js +781 -0
  57. package/dist/utils/tools.js.map +1 -0
  58. package/install.sh +248 -0
  59. package/package.json +52 -0
  60. package/src/commands/auth.ts +225 -0
  61. package/src/commands/chat.ts +690 -0
  62. package/src/commands/config.ts +297 -0
  63. package/src/commands/edit.ts +310 -0
  64. package/src/commands/explain.ts +115 -0
  65. package/src/commands/generate.ts +177 -0
  66. package/src/commands/review.ts +186 -0
  67. package/src/index.ts +221 -0
  68. package/src/types/marked-terminal.d.ts +31 -0
  69. package/src/utils/api.ts +531 -0
  70. package/src/utils/config.ts +224 -0
  71. package/src/utils/files.ts +212 -0
  72. package/src/utils/logger.ts +125 -0
  73. package/src/utils/session.ts +167 -0
  74. package/src/utils/tools.ts +933 -0
  75. package/tsconfig.json +20 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"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"}
package/install.sh ADDED
@@ -0,0 +1,248 @@
1
+ #!/bin/bash
2
+ #
3
+ # Vigthoria CLI Installer
4
+ # Usage: curl -fsSL https://cli.vigthoria.io/install.sh | bash
5
+ #
6
+
7
+ set -e
8
+
9
+ # Colors
10
+ RED='\033[0;31m'
11
+ GREEN='\033[0;32m'
12
+ YELLOW='\033[1;33m'
13
+ CYAN='\033[0;36m'
14
+ NC='\033[0m' # No Color
15
+
16
+ # Configuration
17
+ CLI_VERSION="1.0.0"
18
+ INSTALL_DIR="$HOME/.vigthoria"
19
+ BIN_DIR="/usr/local/bin"
20
+ REPO_URL="https://market.vigthoria.io/vigthoria/vigthoria-cli"
21
+
22
+ echo -e "${CYAN}"
23
+ echo "╔═══════════════════════════════════════════════════════════╗"
24
+ echo "║ ║"
25
+ echo "║ VIGTHORIA CLI INSTALLER v${CLI_VERSION} ║"
26
+ echo "║ AI-Powered Terminal Coding Assistant ║"
27
+ echo "║ ║"
28
+ echo "╚═══════════════════════════════════════════════════════════╝"
29
+ echo -e "${NC}"
30
+
31
+ # Check requirements
32
+ check_requirements() {
33
+ echo -e "${CYAN}Checking requirements...${NC}"
34
+
35
+ # Check Node.js
36
+ if ! command -v node &> /dev/null; then
37
+ echo -e "${RED}✗ Node.js is not installed${NC}"
38
+ echo " Please install Node.js 18 or later:"
39
+ echo " https://nodejs.org/"
40
+ exit 1
41
+ fi
42
+
43
+ NODE_VERSION=$(node -v | cut -d'v' -f2 | cut -d'.' -f1)
44
+ if [ "$NODE_VERSION" -lt 18 ]; then
45
+ echo -e "${RED}✗ Node.js version must be 18 or higher (found: v$NODE_VERSION)${NC}"
46
+ exit 1
47
+ fi
48
+ echo -e "${GREEN}✓ Node.js v$(node -v | cut -d'v' -f2)${NC}"
49
+
50
+ # Check npm
51
+ if ! command -v npm &> /dev/null; then
52
+ echo -e "${RED}✗ npm is not installed${NC}"
53
+ exit 1
54
+ fi
55
+ echo -e "${GREEN}✓ npm v$(npm -v)${NC}"
56
+
57
+ # Check git (optional)
58
+ if command -v git &> /dev/null; then
59
+ echo -e "${GREEN}✓ git v$(git --version | cut -d' ' -f3)${NC}"
60
+ else
61
+ echo -e "${YELLOW}⚠ git not found (optional, for project context)${NC}"
62
+ fi
63
+
64
+ echo ""
65
+ }
66
+
67
+ # Install CLI
68
+ install_cli() {
69
+ echo -e "${CYAN}Installing Vigthoria CLI...${NC}"
70
+
71
+ # Create install directory
72
+ mkdir -p "$INSTALL_DIR"
73
+
74
+ # Option 1: Install from npm (production)
75
+ if npm view vigthoria-cli version &> /dev/null; then
76
+ echo "Installing from npm registry..."
77
+ npm install -g vigthoria-cli
78
+ else
79
+ # Option 2: Install from local or git
80
+ echo "Installing from source..."
81
+
82
+ # Check if we're in the CLI directory
83
+ if [ -f "package.json" ] && grep -q '"name": "vigthoria-cli"' package.json; then
84
+ echo "Installing from current directory..."
85
+ npm install
86
+ npm run build
87
+ npm link
88
+ else
89
+ # Clone from repo
90
+ echo "Cloning from repository..."
91
+ git clone "$REPO_URL" "$INSTALL_DIR/cli" 2>/dev/null || {
92
+ echo -e "${YELLOW}Repository not available, using local install${NC}"
93
+ # Copy local files for development
94
+ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
95
+ if [ -d "$SCRIPT_DIR/../src" ]; then
96
+ cp -r "$SCRIPT_DIR/.." "$INSTALL_DIR/cli"
97
+ fi
98
+ }
99
+
100
+ if [ -d "$INSTALL_DIR/cli" ]; then
101
+ cd "$INSTALL_DIR/cli"
102
+ npm install
103
+ npm run build
104
+ npm link
105
+ fi
106
+ fi
107
+ fi
108
+
109
+ echo -e "${GREEN}✓ Installation complete${NC}"
110
+ echo ""
111
+ }
112
+
113
+ # Create symlinks
114
+ create_symlinks() {
115
+ echo -e "${CYAN}Creating command shortcuts...${NC}"
116
+
117
+ # Check if vigthoria command exists
118
+ if command -v vigthoria &> /dev/null; then
119
+ echo -e "${GREEN}✓ 'vigthoria' command available${NC}"
120
+ fi
121
+
122
+ # Create 'vig' alias if not exists
123
+ if ! command -v vig &> /dev/null; then
124
+ if [ -w "$BIN_DIR" ]; then
125
+ ln -sf "$(which vigthoria)" "$BIN_DIR/vig" 2>/dev/null || true
126
+ fi
127
+ fi
128
+
129
+ if command -v vig &> /dev/null; then
130
+ echo -e "${GREEN}✓ 'vig' shortcut available${NC}"
131
+ fi
132
+
133
+ echo ""
134
+ }
135
+
136
+ # Setup shell completion
137
+ setup_completion() {
138
+ echo -e "${CYAN}Setting up shell completion...${NC}"
139
+
140
+ # Detect shell
141
+ SHELL_NAME=$(basename "$SHELL")
142
+
143
+ case "$SHELL_NAME" in
144
+ bash)
145
+ COMPLETION_FILE="$HOME/.bash_completion.d/vigthoria"
146
+ mkdir -p "$HOME/.bash_completion.d"
147
+ cat > "$COMPLETION_FILE" << 'EOF'
148
+ _vigthoria_completions() {
149
+ local cur="${COMP_WORDS[COMP_CWORD]}"
150
+ local commands="chat edit generate explain fix review login logout status config init"
151
+ COMPREPLY=($(compgen -W "$commands" -- "$cur"))
152
+ }
153
+ complete -F _vigthoria_completions vigthoria
154
+ complete -F _vigthoria_completions vig
155
+ EOF
156
+ echo -e "${GREEN}✓ Bash completion installed${NC}"
157
+ echo " Run: source ~/.bash_completion.d/vigthoria"
158
+ ;;
159
+ zsh)
160
+ COMPLETION_FILE="$HOME/.zsh/completion/_vigthoria"
161
+ mkdir -p "$HOME/.zsh/completion"
162
+ cat > "$COMPLETION_FILE" << 'EOF'
163
+ #compdef vigthoria vig
164
+
165
+ _vigthoria() {
166
+ local -a commands
167
+ commands=(
168
+ 'chat:Start interactive chat with AI'
169
+ 'edit:Edit a file with AI assistance'
170
+ 'generate:Generate code from description'
171
+ 'explain:Explain code in a file'
172
+ 'fix:Fix issues in a file'
173
+ 'review:Review code quality'
174
+ 'login:Login to Vigthoria'
175
+ 'logout:Logout from Vigthoria'
176
+ 'status:Show account status'
177
+ 'config:Configure settings'
178
+ 'init:Initialize project'
179
+ )
180
+ _describe 'command' commands
181
+ }
182
+
183
+ _vigthoria "$@"
184
+ EOF
185
+ echo -e "${GREEN}✓ Zsh completion installed${NC}"
186
+ echo " Add to ~/.zshrc: fpath=(~/.zsh/completion \$fpath)"
187
+ ;;
188
+ *)
189
+ echo -e "${YELLOW}⚠ Shell completion not available for $SHELL_NAME${NC}"
190
+ ;;
191
+ esac
192
+
193
+ echo ""
194
+ }
195
+
196
+ # Print success message
197
+ print_success() {
198
+ echo -e "${GREEN}"
199
+ echo "╔═══════════════════════════════════════════════════════════╗"
200
+ echo "║ ║"
201
+ echo "║ ✓ VIGTHORIA CLI INSTALLED SUCCESSFULLY! ║"
202
+ echo "║ ║"
203
+ echo "╚═══════════════════════════════════════════════════════════╝"
204
+ echo -e "${NC}"
205
+
206
+ echo -e "${CYAN}Quick Start:${NC}"
207
+ echo ""
208
+ echo " 1. Login to your account:"
209
+ echo -e " ${WHITE}vigthoria login${NC}"
210
+ echo ""
211
+ echo " 2. Start coding with AI:"
212
+ echo -e " ${WHITE}vigthoria chat${NC}"
213
+ echo ""
214
+ echo " 3. Edit a file:"
215
+ echo -e " ${WHITE}vigthoria edit myfile.ts${NC}"
216
+ echo ""
217
+ echo " 4. Generate code:"
218
+ echo -e " ${WHITE}vigthoria generate \"REST API endpoint\"${NC}"
219
+ echo ""
220
+ echo -e "${CYAN}Commands:${NC}"
221
+ echo " vigthoria chat - Interactive AI chat"
222
+ echo " vigthoria edit - Edit files with AI"
223
+ echo " vigthoria generate - Generate code"
224
+ echo " vigthoria explain - Explain code"
225
+ echo " vigthoria fix - Fix code issues"
226
+ echo " vigthoria review - Code review"
227
+ echo " vigthoria --help - Show all commands"
228
+ echo ""
229
+ echo -e "${CYAN}Shortcuts:${NC}"
230
+ echo " vig c = vigthoria chat"
231
+ echo " vig e = vigthoria edit"
232
+ echo " vig g = vigthoria generate"
233
+ echo ""
234
+ echo -e "Documentation: ${CYAN}https://docs.vigthoria.io/cli${NC}"
235
+ echo ""
236
+ }
237
+
238
+ # Main installation flow
239
+ main() {
240
+ check_requirements
241
+ install_cli
242
+ create_symlinks
243
+ setup_completion
244
+ print_success
245
+ }
246
+
247
+ # Run main
248
+ main "$@"
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "vigthoria-cli",
3
+ "version": "1.0.0",
4
+ "description": "Vigthoria Coder CLI - AI-powered terminal coding assistant",
5
+ "main": "dist/index.js",
6
+ "bin": {
7
+ "vigthoria": "./dist/index.js",
8
+ "vig": "./dist/index.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "start": "node dist/index.js",
13
+ "dev": "ts-node src/index.ts",
14
+ "test": "jest",
15
+ "prepublishOnly": "npm run build"
16
+ },
17
+ "keywords": [
18
+ "ai",
19
+ "coding",
20
+ "assistant",
21
+ "cli",
22
+ "vigthoria",
23
+ "terminal"
24
+ ],
25
+ "author": "Vigthoria GmbH",
26
+ "license": "MIT",
27
+ "dependencies": {
28
+ "axios": "^1.6.0",
29
+ "chalk": "^5.3.0",
30
+ "commander": "^11.1.0",
31
+ "conf": "^12.0.0",
32
+ "diff": "^5.1.0",
33
+ "glob": "^10.3.10",
34
+ "inquirer": "^9.2.12",
35
+ "marked": "^11.0.0",
36
+ "marked-terminal": "^6.2.0",
37
+ "ora": "^7.0.1",
38
+ "simple-git": "^3.21.0",
39
+ "ws": "^8.14.2"
40
+ },
41
+ "devDependencies": {
42
+ "@types/diff": "^5.0.8",
43
+ "@types/inquirer": "^9.0.7",
44
+ "@types/node": "^20.10.0",
45
+ "@types/ws": "^8.5.10",
46
+ "ts-node": "^10.9.2",
47
+ "typescript": "^5.3.2"
48
+ },
49
+ "engines": {
50
+ "node": ">=18.0.0"
51
+ }
52
+ }
@@ -0,0 +1,225 @@
1
+ /**
2
+ * Auth Command - Authentication management
3
+ */
4
+
5
+ import chalk from 'chalk';
6
+ import ora from 'ora';
7
+ import inquirer from 'inquirer';
8
+ import { Config } from '../utils/config.js';
9
+ import { Logger } from '../utils/logger.js';
10
+ import { APIClient } from '../utils/api.js';
11
+
12
+ interface LoginOptions {
13
+ token?: string;
14
+ }
15
+
16
+ export class AuthCommand {
17
+ private config: Config;
18
+ private logger: Logger;
19
+ private api: APIClient;
20
+
21
+ constructor(config: Config, logger: Logger) {
22
+ this.config = config;
23
+ this.logger = logger;
24
+ this.api = new APIClient(config, logger);
25
+ }
26
+
27
+ async login(options: LoginOptions): Promise<void> {
28
+ // If token provided, use token auth
29
+ if (options.token) {
30
+ await this.loginWithToken(options.token);
31
+ return;
32
+ }
33
+
34
+ console.log();
35
+ console.log(chalk.cyan('═══ Vigthoria Login ═══'));
36
+ console.log();
37
+
38
+ // Prompt for credentials
39
+ const answers = await inquirer.prompt([
40
+ {
41
+ type: 'list',
42
+ name: 'method',
43
+ message: 'Choose login method:',
44
+ choices: [
45
+ { name: 'Email & Password', value: 'credentials' },
46
+ { name: 'API Token', value: 'token' },
47
+ { name: 'Browser Login', value: 'browser' },
48
+ ],
49
+ },
50
+ ]);
51
+
52
+ switch (answers.method) {
53
+ case 'credentials':
54
+ await this.loginWithCredentials();
55
+ break;
56
+ case 'token':
57
+ await this.loginWithTokenPrompt();
58
+ break;
59
+ case 'browser':
60
+ await this.loginWithBrowser();
61
+ break;
62
+ }
63
+ }
64
+
65
+ private async loginWithCredentials(): Promise<void> {
66
+ const credentials = await inquirer.prompt([
67
+ {
68
+ type: 'input',
69
+ name: 'email',
70
+ message: 'Email:',
71
+ validate: (input) => {
72
+ const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
73
+ return emailRegex.test(input) || 'Please enter a valid email';
74
+ },
75
+ },
76
+ {
77
+ type: 'password',
78
+ name: 'password',
79
+ message: 'Password:',
80
+ mask: '*',
81
+ validate: (input) => input.length >= 6 || 'Password must be at least 6 characters',
82
+ },
83
+ ]);
84
+
85
+ const spinner = ora('Logging in...').start();
86
+
87
+ const success = await this.api.login(credentials.email, credentials.password);
88
+
89
+ spinner.stop();
90
+
91
+ if (success) {
92
+ this.printLoginSuccess();
93
+ } else {
94
+ this.logger.error('Login failed. Please check your credentials.');
95
+ }
96
+ }
97
+
98
+ private async loginWithTokenPrompt(): Promise<void> {
99
+ const { token } = await inquirer.prompt([
100
+ {
101
+ type: 'password',
102
+ name: 'token',
103
+ message: 'API Token:',
104
+ mask: '*',
105
+ validate: (input) => input.length > 0 || 'Please enter your API token',
106
+ },
107
+ ]);
108
+
109
+ await this.loginWithToken(token);
110
+ }
111
+
112
+ private async loginWithToken(token: string): Promise<void> {
113
+ const spinner = ora('Validating token...').start();
114
+
115
+ const success = await this.api.loginWithToken(token);
116
+
117
+ spinner.stop();
118
+
119
+ if (success) {
120
+ this.printLoginSuccess();
121
+ } else {
122
+ this.logger.error('Invalid token. Please check and try again.');
123
+ }
124
+ }
125
+
126
+ private async loginWithBrowser(): Promise<void> {
127
+ console.log();
128
+ console.log(chalk.gray('Opening browser for authentication...'));
129
+ console.log();
130
+ console.log(chalk.cyan('Visit: https://coder.vigthoria.io/cli-auth'));
131
+ console.log();
132
+ console.log(chalk.gray('After authenticating, copy the token and run:'));
133
+ console.log(chalk.white(' vigthoria login --token YOUR_TOKEN'));
134
+ console.log();
135
+ }
136
+
137
+ async logout(): Promise<void> {
138
+ const { confirm } = await inquirer.prompt([
139
+ {
140
+ type: 'confirm',
141
+ name: 'confirm',
142
+ message: 'Are you sure you want to logout?',
143
+ default: false,
144
+ },
145
+ ]);
146
+
147
+ if (confirm) {
148
+ this.config.clearAuth();
149
+ this.logger.success('Logged out successfully');
150
+ }
151
+ }
152
+
153
+ async status(): Promise<void> {
154
+ console.log();
155
+ console.log(chalk.cyan('═══ Account Status ═══'));
156
+ console.log();
157
+
158
+ if (!this.config.isAuthenticated()) {
159
+ this.logger.warn('Not logged in');
160
+ console.log();
161
+ console.log(chalk.gray('Run `vigthoria login` to authenticate'));
162
+ return;
163
+ }
164
+
165
+ const email = this.config.get('email');
166
+ const sub = this.config.get('subscription');
167
+
168
+ // Account info
169
+ console.log(chalk.white('Account:'));
170
+ console.log(chalk.gray(' Email: ') + chalk.cyan(email));
171
+ console.log(chalk.gray(' User ID: ') + chalk.gray(this.config.get('userId')));
172
+ console.log();
173
+
174
+ // Subscription info
175
+ console.log(chalk.white('Subscription:'));
176
+ const planDisplay = sub.plan ? chalk.green(sub.plan.toUpperCase()) : chalk.yellow('FREE');
177
+ const statusDisplay = sub.status === 'active' ? chalk.green('Active') : chalk.red(sub.status || 'N/A');
178
+
179
+ console.log(chalk.gray(' Plan: ') + planDisplay);
180
+ console.log(chalk.gray(' Status: ') + statusDisplay);
181
+
182
+ if (sub.expiresAt) {
183
+ const expiresDate = new Date(sub.expiresAt);
184
+ const daysLeft = Math.ceil((expiresDate.getTime() - Date.now()) / (1000 * 60 * 60 * 24));
185
+ const expiresColor = daysLeft > 7 ? chalk.green : daysLeft > 0 ? chalk.yellow : chalk.red;
186
+ console.log(chalk.gray(' Expires: ') + expiresColor(`${expiresDate.toLocaleDateString()} (${daysLeft} days)`));
187
+ }
188
+ console.log();
189
+
190
+ // Available models
191
+ console.log(chalk.white('Available Models:'));
192
+ const models = this.config.getAvailableModels();
193
+ models.forEach(m => {
194
+ console.log(chalk.gray(' • ') + chalk.cyan(m.id) + chalk.gray(` - ${m.description}`));
195
+ });
196
+ console.log();
197
+
198
+ // API status
199
+ const spinner = ora('Checking API status...').start();
200
+ const apiOk = await this.api.healthCheck();
201
+ spinner.stop();
202
+
203
+ console.log(chalk.white('API Status:'));
204
+ console.log(chalk.gray(' Server: ') + (apiOk ? chalk.green('Online') : chalk.red('Offline')));
205
+ console.log(chalk.gray(' Endpoint: ') + chalk.gray(this.config.get('apiUrl')));
206
+ console.log();
207
+ }
208
+
209
+ private printLoginSuccess(): void {
210
+ const email = this.config.get('email');
211
+ const sub = this.config.get('subscription');
212
+
213
+ console.log();
214
+ this.logger.success(`Logged in as ${chalk.cyan(email)}`);
215
+
216
+ if (sub.plan) {
217
+ console.log(chalk.gray(` Plan: ${chalk.green(sub.plan.toUpperCase())}`));
218
+ }
219
+
220
+ console.log();
221
+ console.log(chalk.gray('You can now use all Vigthoria CLI features.'));
222
+ console.log(chalk.gray('Run `vigthoria chat` to start coding with AI!'));
223
+ console.log();
224
+ }
225
+ }