codevf 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 (78) hide show
  1. package/ARCHITECTURE.md +285 -0
  2. package/BUILD_SUMMARY.md +340 -0
  3. package/LICENSE +21 -0
  4. package/QUICKSTART.md +180 -0
  5. package/README.md +104 -0
  6. package/dist/commands/fix.d.ts +2 -0
  7. package/dist/commands/fix.d.ts.map +1 -0
  8. package/dist/commands/fix.js +118 -0
  9. package/dist/commands/fix.js.map +1 -0
  10. package/dist/commands/init.d.ts +2 -0
  11. package/dist/commands/init.d.ts.map +1 -0
  12. package/dist/commands/init.js +270 -0
  13. package/dist/commands/init.js.map +1 -0
  14. package/dist/commands/login.d.ts +2 -0
  15. package/dist/commands/login.d.ts.map +1 -0
  16. package/dist/commands/login.js +62 -0
  17. package/dist/commands/login.js.map +1 -0
  18. package/dist/commands/logout.d.ts +2 -0
  19. package/dist/commands/logout.d.ts.map +1 -0
  20. package/dist/commands/logout.js +14 -0
  21. package/dist/commands/logout.js.map +1 -0
  22. package/dist/commands/sync.d.ts +4 -0
  23. package/dist/commands/sync.d.ts.map +1 -0
  24. package/dist/commands/sync.js +93 -0
  25. package/dist/commands/sync.js.map +1 -0
  26. package/dist/commands/tasks.d.ts +2 -0
  27. package/dist/commands/tasks.d.ts.map +1 -0
  28. package/dist/commands/tasks.js +41 -0
  29. package/dist/commands/tasks.js.map +1 -0
  30. package/dist/index.d.ts +3 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +248 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/modules/api.d.ts +36 -0
  35. package/dist/modules/api.d.ts.map +1 -0
  36. package/dist/modules/api.js +107 -0
  37. package/dist/modules/api.js.map +1 -0
  38. package/dist/modules/auth.d.ts +13 -0
  39. package/dist/modules/auth.d.ts.map +1 -0
  40. package/dist/modules/auth.js +80 -0
  41. package/dist/modules/auth.js.map +1 -0
  42. package/dist/modules/config.d.ts +17 -0
  43. package/dist/modules/config.d.ts.map +1 -0
  44. package/dist/modules/config.js +76 -0
  45. package/dist/modules/config.js.map +1 -0
  46. package/dist/modules/git.d.ts +13 -0
  47. package/dist/modules/git.d.ts.map +1 -0
  48. package/dist/modules/git.js +78 -0
  49. package/dist/modules/git.js.map +1 -0
  50. package/dist/modules/permissions.d.ts +5 -0
  51. package/dist/modules/permissions.d.ts.map +1 -0
  52. package/dist/modules/permissions.js +42 -0
  53. package/dist/modules/permissions.js.map +1 -0
  54. package/dist/modules/websocket.d.ts +17 -0
  55. package/dist/modules/websocket.d.ts.map +1 -0
  56. package/dist/modules/websocket.js +80 -0
  57. package/dist/modules/websocket.js.map +1 -0
  58. package/dist/types/index.d.ts +186 -0
  59. package/dist/types/index.d.ts.map +1 -0
  60. package/dist/types/index.js +40 -0
  61. package/dist/types/index.js.map +1 -0
  62. package/dist/ui/LiveSession.d.ts +13 -0
  63. package/dist/ui/LiveSession.d.ts.map +1 -0
  64. package/dist/ui/LiveSession.js +451 -0
  65. package/dist/ui/LiveSession.js.map +1 -0
  66. package/dist/utils/detect.d.ts +3 -0
  67. package/dist/utils/detect.d.ts.map +1 -0
  68. package/dist/utils/detect.js +78 -0
  69. package/dist/utils/detect.js.map +1 -0
  70. package/dist/utils/errors.d.ts +3 -0
  71. package/dist/utils/errors.d.ts.map +1 -0
  72. package/dist/utils/errors.js +36 -0
  73. package/dist/utils/errors.js.map +1 -0
  74. package/dist/utils/upload.d.ts +3 -0
  75. package/dist/utils/upload.d.ts.map +1 -0
  76. package/dist/utils/upload.js +75 -0
  77. package/dist/utils/upload.js.map +1 -0
  78. package/package.json +76 -0
package/QUICKSTART.md ADDED
@@ -0,0 +1,180 @@
1
+ # Quick Start Guide
2
+
3
+ Get up and running with CodeVF CLI in 5 minutes.
4
+
5
+ ## Installation
6
+
7
+ ### From NPM (when published)
8
+ ```bash
9
+ npm install -g codevf-cli
10
+ ```
11
+
12
+ ### From Source
13
+ ```bash
14
+ git clone https://github.com/codevf/cli.git
15
+ cd cli
16
+ npm install
17
+ npm run build
18
+ npm link
19
+ ```
20
+
21
+ ## Basic Usage
22
+
23
+ ### 1. Login
24
+ ```bash
25
+ codevf login
26
+ ```
27
+ This will open your browser for OAuth authentication.
28
+
29
+ ### 2. Initialize Your Project
30
+ ```bash
31
+ cd /path/to/your/project
32
+ codevf init
33
+ ```
34
+
35
+ You'll be asked:
36
+ - Project type (auto-detected)
37
+ - Test command
38
+ - Build command
39
+ - Allowed AI tools
40
+ - Whether to upload code snapshot
41
+ - Whether to allow engineer access to `codevf` branch
42
+
43
+ ### 3. Start a Debug Session
44
+ ```bash
45
+ codevf fix "Users can't login after OAuth update"
46
+ ```
47
+
48
+ You'll be connected to a vetted engineer in real-time. The engineer can:
49
+ - Chat with you
50
+ - Request to run commands (requires your approval)
51
+ - Request to view files (requires your approval)
52
+ - Request screenshare (optional)
53
+
54
+ **Example session:**
55
+ ```
56
+ ┌─────────────────────────────────────────────┐
57
+ │ CodeVF Live Session │
58
+ │ Engineer: Maria (ex-Google) │
59
+ │ Billing: 1 credit used • Press CTRL+C │
60
+ ├─────────────────────────────────────────────┤
61
+ │ [12:34] Maria: Hi! I see you're having │
62
+ │ authentication issues... │
63
+ │ │
64
+ │ [12:35] You: Yes, after the OAuth change │
65
+ │ │
66
+ │ [12:36] Maria: Let me check your auth flow │
67
+ │ │
68
+ │ ┌─────────────────────────────────────────┐ │
69
+ │ │ Engineer requests to run: npm test │ │
70
+ │ │ Allow? (y/n): │ │
71
+ │ └─────────────────────────────────────────┘ │
72
+ └─────────────────────────────────────────────┘
73
+ ```
74
+
75
+ Press **CTRL+C** to end the session and rate the engineer.
76
+
77
+ ### 4. Sync Your Changes
78
+ ```bash
79
+ codevf sync
80
+ ```
81
+
82
+ This syncs your latest commits with CodeVF so engineers can see your latest changes.
83
+
84
+ ## Common Workflows
85
+
86
+ ### Bug Fix Workflow
87
+ ```bash
88
+ # 1. Work on your code
89
+ git add .
90
+ git commit -m "Attempted fix for auth bug"
91
+
92
+ # 2. Sync changes
93
+ codevf sync
94
+
95
+ # 3. Get help
96
+ codevf fix "Auth still failing on production"
97
+
98
+ # 4. Engineer helps debug in real-time
99
+ # 5. Rate the engineer when done
100
+ ```
101
+
102
+ ### New Feature Help
103
+ ```bash
104
+ # 1. Start a session
105
+ codevf fix "Need to implement real-time notifications with WebSockets"
106
+
107
+ # 2. Engineer helps architect and implement
108
+ # 3. Sync your work as you go
109
+ codevf sync
110
+ ```
111
+
112
+ ## Security & Permissions
113
+
114
+ Every action an engineer takes requires your approval:
115
+
116
+ - **Commands**: Engineer sees output only if you approve
117
+ - **Files**: Engineer can only read files you share
118
+ - **Branch**: Engineers work in the `codevf` branch only
119
+ - **Code Upload**: Only if you opt-in during `init`
120
+
121
+ ## Billing
122
+
123
+ - Billed per minute of active engineer time
124
+ - Credits displayed in real-time
125
+ - No charge for waiting time
126
+ - Rate engineer when done
127
+
128
+ ## Configuration
129
+
130
+ ### Project Config (`.codevf/config.json`)
131
+ ```json
132
+ {
133
+ "projectId": "uuid",
134
+ "allowedTools": ["claude", "gemini"],
135
+ "testCommand": "npm test",
136
+ "buildCommand": "npm run build",
137
+ "repoUploaded": true,
138
+ "branchMode": "codevf",
139
+ "createdAt": "2025-11-30T...",
140
+ "version": "1"
141
+ }
142
+ ```
143
+
144
+ ### Auth Token (`~/.config/codevf/auth.json`)
145
+ - Stored securely with 0600 permissions
146
+ - Auto-refreshed when expired
147
+ - Never logged or exposed
148
+
149
+ ## Troubleshooting
150
+
151
+ ### "Not authenticated"
152
+ ```bash
153
+ codevf login
154
+ ```
155
+
156
+ ### "No CodeVF project found"
157
+ ```bash
158
+ codevf init
159
+ ```
160
+
161
+ ### "Not on codevf branch"
162
+ ```bash
163
+ git checkout -b codevf
164
+ codevf sync
165
+ ```
166
+
167
+ ### Connection issues
168
+ Check your internet connection and firewall settings.
169
+
170
+ ## Next Steps
171
+
172
+ - Read the [full documentation](https://docs.codevf.com)
173
+ - Join our [Discord community](https://discord.gg/codevf)
174
+ - Follow us on [Twitter](https://twitter.com/codevf)
175
+
176
+ ## Support
177
+
178
+ - **Email**: support@codevf.com
179
+ - **Issues**: https://github.com/codevf/cli/issues
180
+ - **Docs**: https://docs.codevf.com
package/README.md ADDED
@@ -0,0 +1,104 @@
1
+ # CodeVF CLI
2
+
3
+ Live debugging with vetted engineers, right from your terminal.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install -g codevf-cli
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ```bash
14
+ # Authenticate
15
+ codevf login
16
+
17
+ # Initialize your project
18
+ codevf init
19
+
20
+ # Start a live debugging session (interactive)
21
+ codevf
22
+
23
+ # Or provide issue directly
24
+ codevf fix "Users can't login after OAuth update"
25
+
26
+ # Sync your code changes
27
+ codevf sync
28
+ ```
29
+
30
+ ## Commands
31
+
32
+ ### `codevf login`
33
+ Authenticate with CodeVF using OAuth.
34
+
35
+ ### `codevf logout`
36
+ Clear local authentication.
37
+
38
+ ### `codevf init`
39
+ Initialize CodeVF in your project. Sets up:
40
+ - Project configuration
41
+ - Test and build commands
42
+ - AI tool preferences
43
+ - Optional code upload for faster debugging
44
+
45
+ ### `codevf` or `codevf fix "<issue description>"`
46
+ Start a live debugging session with a vetted engineer:
47
+ - Just type `codevf` and you'll be prompted to describe your issue
48
+ - Or use `codevf fix "issue"` to provide it directly
49
+ - Real-time chat in your terminal
50
+ - Engineer can request to run commands (with your approval)
51
+ - Engineer can request to view files (with your approval)
52
+ - Track credit usage in real-time
53
+ - Rate the engineer when done
54
+
55
+ ### `codevf sync`
56
+ Sync your local changes to the `codevf` branch for engineer access.
57
+
58
+ ## How It Works
59
+
60
+ 1. **You have a bug** - Start a session with `codevf fix "description"`
61
+ 2. **Get matched with an engineer** - Ex-FAANG engineers with expertise in your stack
62
+ 3. **Collaborate safely** - Engineer can only run commands and view files with your approval
63
+ 4. **Get it fixed** - Engineer works in real-time to solve your issue
64
+ 5. **Pay per minute** - Only pay for active debugging time
65
+
66
+ ## Security & Privacy
67
+
68
+ - Engineers can only access your code with explicit permission
69
+ - All commands require approval before execution
70
+ - File access is granted on a per-file basis
71
+ - All actions are logged and auditable
72
+ - Engineers work in a restricted `codevf` Git branch
73
+ - Your code is never stored without your consent
74
+
75
+ ## Configuration
76
+
77
+ After running `codevf init`, configuration is stored in `.codevf/config.json`:
78
+
79
+ ```json
80
+ {
81
+ "projectId": "uuid",
82
+ "allowedTools": ["claude", "gemini"],
83
+ "testCommand": "npm test",
84
+ "buildCommand": "npm run build",
85
+ "repoUploaded": true,
86
+ "branchMode": "codevf"
87
+ }
88
+ ```
89
+
90
+ ## Requirements
91
+
92
+ - Node.js 18 or higher
93
+ - Git (for sync command)
94
+ - Internet connection
95
+
96
+ ## Support
97
+
98
+ - Documentation: https://docs.codevf.com
99
+ - Issues: https://github.com/codevf/cli/issues
100
+ - Email: support@codevf.com
101
+
102
+ ## License
103
+
104
+ MIT
@@ -0,0 +1,2 @@
1
+ export declare function fixCommand(issueDescription: string): Promise<void>;
2
+ //# sourceMappingURL=fix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.tsx"],"names":[],"mappings":"AAeA,wBAAsB,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwIxE"}
@@ -0,0 +1,118 @@
1
+ import React from 'react';
2
+ import { render } from 'ink';
3
+ import ora from 'ora';
4
+ import chalk from 'chalk';
5
+ import prompts from 'prompts';
6
+ import { AuthManager } from '../modules/auth.js';
7
+ import { ConfigManager } from '../modules/config.js';
8
+ import { ApiClient } from '../modules/api.js';
9
+ import { WebSocketClient } from '../modules/websocket.js';
10
+ import { PermissionManager } from '../modules/permissions.js';
11
+ import { LiveSession } from '../ui/LiveSession.js';
12
+ const DEFAULT_MAX_CREDITS = 240;
13
+ export async function fixCommand(issueDescription) {
14
+ const authManager = new AuthManager();
15
+ const configManager = new ConfigManager();
16
+ console.log(chalk.bold.blue('\n🔧 CodeVF Fix Session\n'));
17
+ // Check authentication
18
+ if (!authManager.isAuthenticated()) {
19
+ console.log(chalk.red('Error: Not authenticated.'));
20
+ console.log(chalk.yellow('Please run: codevf login\n'));
21
+ process.exit(1);
22
+ }
23
+ // Check if project is initialized
24
+ if (!configManager.isInitialized()) {
25
+ console.log(chalk.red('Error: No CodeVF project found.'));
26
+ console.log(chalk.yellow('Please run: codevf init\n'));
27
+ process.exit(1);
28
+ }
29
+ const config = configManager.loadConfig();
30
+ // Validate issue description
31
+ if (!issueDescription || issueDescription.trim().length === 0) {
32
+ console.log(chalk.red('Error: Please provide an issue description.'));
33
+ console.log(chalk.yellow('Usage: codevf fix "your issue description"\n'));
34
+ process.exit(1);
35
+ }
36
+ const spinner = ora('Creating debug task...').start();
37
+ try {
38
+ const apiClient = new ApiClient(authManager);
39
+ // Create task
40
+ const createRequest = {
41
+ issueDescription: issueDescription.trim(),
42
+ projectId: config.projectId,
43
+ maxCredits: DEFAULT_MAX_CREDITS,
44
+ };
45
+ const { taskId, estimatedWaitTime, warning } = await apiClient.createTask(createRequest);
46
+ spinner.succeed(chalk.green('Task created'));
47
+ if (warning) {
48
+ console.log(chalk.yellow(`\n${warning}\n`));
49
+ }
50
+ if (estimatedWaitTime > 0) {
51
+ console.log(chalk.yellow(`\nEstimated wait time: ${Math.ceil(estimatedWaitTime / 60)} minutes`));
52
+ const { proceed } = await prompts({
53
+ type: 'confirm',
54
+ name: 'proceed',
55
+ message: 'Continue waiting?',
56
+ initial: true,
57
+ });
58
+ if (!proceed) {
59
+ console.log(chalk.dim('\nTask cancelled.\n'));
60
+ return;
61
+ }
62
+ }
63
+ // Connect WebSocket
64
+ spinner.start('Connecting to session...');
65
+ const wsUrl = apiClient.getWebSocketUrl(taskId, authManager.getAccessToken());
66
+ const wsClient = new WebSocketClient(wsUrl, authManager.getAccessToken());
67
+ await wsClient.connect();
68
+ spinner.succeed(chalk.green('Connected to session'));
69
+ // Clear console and render live session UI
70
+ console.clear();
71
+ const permissionManager = new PermissionManager();
72
+ const { unmount, waitUntilExit } = render(React.createElement(LiveSession, { taskId: taskId, wsClient: wsClient, apiClient: apiClient, permissionManager: permissionManager }));
73
+ let exiting = false;
74
+ // Handle CTRL+C
75
+ process.on('SIGINT', async () => {
76
+ if (exiting)
77
+ return;
78
+ exiting = true;
79
+ unmount();
80
+ console.log(chalk.yellow('\n\n👋 Ending session...'));
81
+ try {
82
+ await apiClient.endSession(taskId);
83
+ wsClient.disconnect();
84
+ // Ask for rating
85
+ console.log(chalk.bold('\n⭐ Rate this session\n'));
86
+ const { rating, feedback } = await prompts([
87
+ {
88
+ type: 'number',
89
+ name: 'rating',
90
+ message: 'Rate engineer (1-5):',
91
+ min: 1,
92
+ max: 5,
93
+ initial: 5,
94
+ },
95
+ {
96
+ type: 'text',
97
+ name: 'feedback',
98
+ message: 'Optional feedback:',
99
+ },
100
+ ]);
101
+ if (rating) {
102
+ await apiClient.rateEngineer(taskId, rating, feedback);
103
+ console.log(chalk.green('\n✓ Thank you for your feedback!\n'));
104
+ }
105
+ }
106
+ catch (error) {
107
+ console.error(chalk.red('Failed to end session properly'));
108
+ }
109
+ process.exit(0);
110
+ });
111
+ await waitUntilExit();
112
+ }
113
+ catch (error) {
114
+ spinner.fail('Failed to start session');
115
+ throw error;
116
+ }
117
+ }
118
+ //# sourceMappingURL=fix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function initCommand(): Promise<void>;
2
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA8BA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAiRjD"}