codex-linux 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.
- package/.claude/settings.local.json +10 -0
- package/.eslintrc.json +27 -0
- package/.github/workflows/ci.yml +156 -0
- package/.huskyrc +7 -0
- package/.lintstagedrc +13 -0
- package/.prettierrc +12 -0
- package/CLAUDE.md +163 -0
- package/DESIGN_SUPERIOR.md +73 -0
- package/Dockerfile +64 -0
- package/INSTALLATION.md +152 -0
- package/LICENSE +21 -0
- package/README.md +245 -0
- package/assets/skills/code-review/instructions.md +102 -0
- package/assets/skills/code-review/skill.yaml +15 -0
- package/assets/skills/refactoring/instructions.md +149 -0
- package/assets/skills/refactoring/skill.yaml +15 -0
- package/assets/skills/testing/skill.yaml +15 -0
- package/commitlint.config.js +23 -0
- package/dist/main/DatabaseManager.js +763 -0
- package/dist/main/DatabaseManager.js.map +1 -0
- package/dist/main/SettingsManager.js +61 -0
- package/dist/main/SettingsManager.js.map +1 -0
- package/dist/main/agents/AgentOrchestrator.js +787 -0
- package/dist/main/agents/AgentOrchestrator.js.map +1 -0
- package/dist/main/agents/AgentSDK.js +219 -0
- package/dist/main/agents/AgentSDK.js.map +1 -0
- package/dist/main/agents/AgentTools.js +348 -0
- package/dist/main/agents/AgentTools.js.map +1 -0
- package/dist/main/agents/CodeIndex.js +233 -0
- package/dist/main/agents/CodeIndex.js.map +1 -0
- package/dist/main/agents/EmbeddingService.js +80 -0
- package/dist/main/agents/EmbeddingService.js.map +1 -0
- package/dist/main/agents/NativeToolCalling.js +206 -0
- package/dist/main/agents/NativeToolCalling.js.map +1 -0
- package/dist/main/api/APIServer.js +278 -0
- package/dist/main/api/APIServer.js.map +1 -0
- package/dist/main/api/RateLimiter.js +138 -0
- package/dist/main/api/RateLimiter.js.map +1 -0
- package/dist/main/api/WebSocketManager.js +300 -0
- package/dist/main/api/WebSocketManager.js.map +1 -0
- package/dist/main/assistant/ContextOptimizer.js +192 -0
- package/dist/main/assistant/ContextOptimizer.js.map +1 -0
- package/dist/main/assistant/PredictedOutputManager.js +172 -0
- package/dist/main/assistant/PredictedOutputManager.js.map +1 -0
- package/dist/main/assistant/PromptCacheManager.js +193 -0
- package/dist/main/assistant/PromptCacheManager.js.map +1 -0
- package/dist/main/assistant/PromptOptimizer.js +626 -0
- package/dist/main/assistant/PromptOptimizer.js.map +1 -0
- package/dist/main/assistant/SmartCodeAssistant.js +224 -0
- package/dist/main/assistant/SmartCodeAssistant.js.map +1 -0
- package/dist/main/auth/SessionManager.js +300 -0
- package/dist/main/auth/SessionManager.js.map +1 -0
- package/dist/main/automations/AdvancedWebhookSystem.js +212 -0
- package/dist/main/automations/AdvancedWebhookSystem.js.map +1 -0
- package/dist/main/automations/AutomationScheduler.js +269 -0
- package/dist/main/automations/AutomationScheduler.js.map +1 -0
- package/dist/main/automations/BatchProcessingSystem.js +159 -0
- package/dist/main/automations/BatchProcessingSystem.js.map +1 -0
- package/dist/main/automations/BrowserAutomationManager.js +195 -0
- package/dist/main/automations/BrowserAutomationManager.js.map +1 -0
- package/dist/main/automations/GitHubActionsManager.js +129 -0
- package/dist/main/automations/GitHubActionsManager.js.map +1 -0
- package/dist/main/automations/GitLabCIManager.js +122 -0
- package/dist/main/automations/GitLabCIManager.js.map +1 -0
- package/dist/main/automations/PriorityQueueManager.js +240 -0
- package/dist/main/automations/PriorityQueueManager.js.map +1 -0
- package/dist/main/background/BackgroundModeManager.js +117 -0
- package/dist/main/background/BackgroundModeManager.js.map +1 -0
- package/dist/main/backup/BackupManager.js +254 -0
- package/dist/main/backup/BackupManager.js.map +1 -0
- package/dist/main/backup/MigrationManager.js +114 -0
- package/dist/main/backup/MigrationManager.js.map +1 -0
- package/dist/main/commands/SlashCommandManager.js +399 -0
- package/dist/main/commands/SlashCommandManager.js.map +1 -0
- package/dist/main/config/ClaudeMdParser.js +519 -0
- package/dist/main/config/ClaudeMdParser.js.map +1 -0
- package/dist/main/config/CustomizationManager.js +381 -0
- package/dist/main/config/CustomizationManager.js.map +1 -0
- package/dist/main/config/LaunchConfigManager.js +211 -0
- package/dist/main/config/LaunchConfigManager.js.map +1 -0
- package/dist/main/config/SettingsManager.js +166 -0
- package/dist/main/config/SettingsManager.js.map +1 -0
- package/dist/main/connectors/ConnectorManager.js +151 -0
- package/dist/main/connectors/ConnectorManager.js.map +1 -0
- package/dist/main/connectors/DatabaseConnector.js +222 -0
- package/dist/main/connectors/DatabaseConnector.js.map +1 -0
- package/dist/main/cowork/CoworkManager.js +324 -0
- package/dist/main/cowork/CoworkManager.js.map +1 -0
- package/dist/main/evals/AgentEvalFramework.js +538 -0
- package/dist/main/evals/AgentEvalFramework.js.map +1 -0
- package/dist/main/evals/GraderManager.js +285 -0
- package/dist/main/evals/GraderManager.js.map +1 -0
- package/dist/main/git/GitWorktreeManager.js +214 -0
- package/dist/main/git/GitWorktreeManager.js.map +1 -0
- package/dist/main/github/GitHubPRMonitor.js +244 -0
- package/dist/main/github/GitHubPRMonitor.js.map +1 -0
- package/dist/main/ide/ContinueInManager.js +181 -0
- package/dist/main/ide/ContinueInManager.js.map +1 -0
- package/dist/main/ide/IDEIntegration.js +277 -0
- package/dist/main/ide/IDEIntegration.js.map +1 -0
- package/dist/main/integrations/LinearManager.js +252 -0
- package/dist/main/integrations/LinearManager.js.map +1 -0
- package/dist/main/integrations/SlackBotManager.js +247 -0
- package/dist/main/integrations/SlackBotManager.js.map +1 -0
- package/dist/main/lsp/LSPManager.js +394 -0
- package/dist/main/lsp/LSPManager.js.map +1 -0
- package/dist/main/main.js +1087 -0
- package/dist/main/main.js.map +1 -0
- package/dist/main/mcp/MCPConfigurationManager.js +281 -0
- package/dist/main/mcp/MCPConfigurationManager.js.map +1 -0
- package/dist/main/mcp/MCPManager.js +710 -0
- package/dist/main/mcp/MCPManager.js.map +1 -0
- package/dist/main/mcp/MCPRegistry.js +272 -0
- package/dist/main/mcp/MCPRegistry.js.map +1 -0
- package/dist/main/monitoring/ErrorRecoveryManager.js +268 -0
- package/dist/main/monitoring/ErrorRecoveryManager.js.map +1 -0
- package/dist/main/monitoring/ErrorTracker.js +57 -0
- package/dist/main/monitoring/ErrorTracker.js.map +1 -0
- package/dist/main/monitoring/MetricsCollector.js +155 -0
- package/dist/main/monitoring/MetricsCollector.js.map +1 -0
- package/dist/main/monitoring/TraceGradingSystem.js +148 -0
- package/dist/main/monitoring/TraceGradingSystem.js.map +1 -0
- package/dist/main/notifications/NotificationManager.js +67 -0
- package/dist/main/notifications/NotificationManager.js.map +1 -0
- package/dist/main/pair/AIPairProgramming.js +200 -0
- package/dist/main/pair/AIPairProgramming.js.map +1 -0
- package/dist/main/plugins/PluginManager.js +222 -0
- package/dist/main/plugins/PluginManager.js.map +1 -0
- package/dist/main/plugins/PluginMarketplace.js +237 -0
- package/dist/main/plugins/PluginMarketplace.js.map +1 -0
- package/dist/main/preload.js +189 -0
- package/dist/main/preload.js.map +1 -0
- package/dist/main/preview/PreviewSessionManager.js +170 -0
- package/dist/main/preview/PreviewSessionManager.js.map +1 -0
- package/dist/main/providers/AIProviderManager.js +327 -0
- package/dist/main/providers/AIProviderManager.js.map +1 -0
- package/dist/main/providers/FineTuningManager.js +276 -0
- package/dist/main/providers/FineTuningManager.js.map +1 -0
- package/dist/main/providers/FreeModelsProvider.js +1104 -0
- package/dist/main/providers/FreeModelsProvider.js.map +1 -0
- package/dist/main/realtime/RealtimeManager.js +116 -0
- package/dist/main/realtime/RealtimeManager.js.map +1 -0
- package/dist/main/remote/CloudEnvironmentManager.js +232 -0
- package/dist/main/remote/CloudEnvironmentManager.js.map +1 -0
- package/dist/main/remote/RemoteSessionManager.js +255 -0
- package/dist/main/remote/RemoteSessionManager.js.map +1 -0
- package/dist/main/search/DeepResearchManager.js +335 -0
- package/dist/main/search/DeepResearchManager.js.map +1 -0
- package/dist/main/search/WebSearchIntegration.js +147 -0
- package/dist/main/search/WebSearchIntegration.js.map +1 -0
- package/dist/main/security/AdminConsoleManager.js +223 -0
- package/dist/main/security/AdminConsoleManager.js.map +1 -0
- package/dist/main/security/AuditLogger.js +136 -0
- package/dist/main/security/AuditLogger.js.map +1 -0
- package/dist/main/security/PermissionManager.js +144 -0
- package/dist/main/security/PermissionManager.js.map +1 -0
- package/dist/main/security/SSOManager.js +173 -0
- package/dist/main/security/SSOManager.js.map +1 -0
- package/dist/main/security/SecurityManager.js +152 -0
- package/dist/main/security/SecurityManager.js.map +1 -0
- package/dist/main/skills/SkillsManager.js +223 -0
- package/dist/main/skills/SkillsManager.js.map +1 -0
- package/dist/main/ssh/SSHManager.js +65 -0
- package/dist/main/ssh/SSHManager.js.map +1 -0
- package/dist/main/streaming/StreamingManager.js +225 -0
- package/dist/main/streaming/StreamingManager.js.map +1 -0
- package/dist/main/sync/CloudSyncManager.js +422 -0
- package/dist/main/sync/CloudSyncManager.js.map +1 -0
- package/dist/main/types.js +28 -0
- package/dist/main/types.js.map +1 -0
- package/dist/main/verification/AutoVerifyManager.js +235 -0
- package/dist/main/verification/AutoVerifyManager.js.map +1 -0
- package/dist/main/vision/ComputerUseManager.js +376 -0
- package/dist/main/vision/ComputerUseManager.js.map +1 -0
- package/dist/main/vision/ImageVideoGenerationManager.js +401 -0
- package/dist/main/vision/ImageVideoGenerationManager.js.map +1 -0
- package/dist/main/vision/VisionManager.js +172 -0
- package/dist/main/vision/VisionManager.js.map +1 -0
- package/dist/renderer/assets/main-DJlZQBCA.js +304 -0
- package/dist/renderer/assets/main-N33ZXEr8.css +1 -0
- package/dist/renderer/index.html +21 -0
- package/dist/renderer/manifest.json +42 -0
- package/dist/renderer/sw.ts +109 -0
- package/dist/shared/types.js +35 -0
- package/dist/shared/types.js.map +1 -0
- package/docker-compose.yml +65 -0
- package/docs/API.md +307 -0
- package/docs/USER_GUIDE.md +476 -0
- package/examples/plugins/sample-plugin/package.json +41 -0
- package/examples/plugins/sample-plugin/src/index.ts +75 -0
- package/index.html +20 -0
- package/jest.config.js +39 -0
- package/package.json +180 -0
- package/packages/cli/package.json +29 -0
- package/packages/cli/src/commands/agents.ts +199 -0
- package/packages/cli/src/commands/tasks.ts +61 -0
- package/packages/cli/src/index.ts +91 -0
- package/packages/cli/src/utils/api.ts +45 -0
- package/packages/cli/src/utils/config.ts +61 -0
- package/packages/npm-installer/bin/codex-linux +126 -0
- package/packages/npm-installer/lib/download.js +273 -0
- package/packages/npm-installer/package.json +42 -0
- package/packages/vscode-extension/package.json +167 -0
- package/packages/vscode-extension/src/api.ts +68 -0
- package/packages/vscode-extension/src/extension.ts +161 -0
- package/packages/vscode-extension/src/panels/chatPanel.ts +265 -0
- package/packages/vscode-extension/src/panels/createAgentPanel.ts +227 -0
- package/packages/vscode-extension/src/providers/agentsProvider.ts +80 -0
- package/postcss.config.js +6 -0
- package/public/manifest.json +42 -0
- package/public/sw.ts +109 -0
- package/scripts/install-dev.sh +103 -0
- package/scripts/install.sh +275 -0
- package/src/main/DatabaseManager.ts +950 -0
- package/src/main/SettingsManager.ts +63 -0
- package/src/main/agents/AgentOrchestrator.ts +930 -0
- package/src/main/agents/AgentSDK.ts +269 -0
- package/src/main/agents/AgentTools.ts +380 -0
- package/src/main/agents/CodeIndex.ts +240 -0
- package/src/main/agents/EmbeddingService.ts +88 -0
- package/src/main/agents/NativeToolCalling.ts +245 -0
- package/src/main/api/APIServer.ts +316 -0
- package/src/main/api/RateLimiter.ts +165 -0
- package/src/main/api/WebSocketManager.ts +398 -0
- package/src/main/assistant/ContextOptimizer.ts +214 -0
- package/src/main/assistant/PredictedOutputManager.ts +265 -0
- package/src/main/assistant/PromptCacheManager.ts +280 -0
- package/src/main/assistant/PromptOptimizer.ts +746 -0
- package/src/main/assistant/SmartCodeAssistant.ts +234 -0
- package/src/main/auth/SessionManager.ts +415 -0
- package/src/main/automations/AdvancedWebhookSystem.ts +281 -0
- package/src/main/automations/AutomationScheduler.ts +272 -0
- package/src/main/automations/BatchProcessingSystem.ts +207 -0
- package/src/main/automations/BrowserAutomationManager.ts +203 -0
- package/src/main/automations/GitHubActionsManager.ts +151 -0
- package/src/main/automations/GitLabCIManager.ts +206 -0
- package/src/main/automations/PriorityQueueManager.ts +328 -0
- package/src/main/background/BackgroundModeManager.ts +130 -0
- package/src/main/backup/BackupManager.ts +287 -0
- package/src/main/backup/MigrationManager.ts +132 -0
- package/src/main/commands/SlashCommandManager.ts +407 -0
- package/src/main/config/ClaudeMdParser.ts +539 -0
- package/src/main/config/CustomizationManager.ts +493 -0
- package/src/main/config/LaunchConfigManager.ts +212 -0
- package/src/main/config/SettingsManager.ts +163 -0
- package/src/main/connectors/ConnectorManager.ts +175 -0
- package/src/main/connectors/DatabaseConnector.ts +212 -0
- package/src/main/cowork/CoworkManager.ts +431 -0
- package/src/main/evals/AgentEvalFramework.ts +665 -0
- package/src/main/evals/GraderManager.ts +417 -0
- package/src/main/git/GitWorktreeManager.ts +211 -0
- package/src/main/github/GitHubPRMonitor.ts +317 -0
- package/src/main/ide/ContinueInManager.ts +180 -0
- package/src/main/ide/IDEIntegration.ts +288 -0
- package/src/main/integrations/LinearManager.ts +327 -0
- package/src/main/integrations/SlackBotManager.ts +312 -0
- package/src/main/lsp/LSPManager.ts +445 -0
- package/src/main/main.ts +1221 -0
- package/src/main/mcp/MCPConfigurationManager.ts +281 -0
- package/src/main/mcp/MCPManager.ts +799 -0
- package/src/main/mcp/MCPRegistry.ts +273 -0
- package/src/main/monitoring/ErrorRecoveryManager.ts +359 -0
- package/src/main/monitoring/ErrorTracker.ts +60 -0
- package/src/main/monitoring/MetricsCollector.ts +196 -0
- package/src/main/monitoring/TraceGradingSystem.ts +196 -0
- package/src/main/notifications/NotificationManager.ts +96 -0
- package/src/main/pair/AIPairProgramming.ts +290 -0
- package/src/main/plugins/PluginManager.ts +266 -0
- package/src/main/plugins/PluginMarketplace.ts +318 -0
- package/src/main/preload.ts +215 -0
- package/src/main/preview/PreviewSessionManager.ts +186 -0
- package/src/main/providers/AIProviderManager.ts +394 -0
- package/src/main/providers/FineTuningManager.ts +390 -0
- package/src/main/providers/FreeModelsProvider.ts +1156 -0
- package/src/main/realtime/RealtimeManager.ts +147 -0
- package/src/main/remote/CloudEnvironmentManager.ts +253 -0
- package/src/main/remote/RemoteSessionManager.ts +323 -0
- package/src/main/search/DeepResearchManager.ts +458 -0
- package/src/main/search/WebSearchIntegration.ts +203 -0
- package/src/main/security/AdminConsoleManager.ts +244 -0
- package/src/main/security/AuditLogger.ts +143 -0
- package/src/main/security/PermissionManager.ts +184 -0
- package/src/main/security/SSOManager.ts +241 -0
- package/src/main/security/SecurityManager.ts +139 -0
- package/src/main/skills/SkillsManager.ts +218 -0
- package/src/main/ssh/SSHManager.ts +86 -0
- package/src/main/streaming/StreamingManager.ts +306 -0
- package/src/main/sync/CloudSyncManager.ts +532 -0
- package/src/main/verification/AutoVerifyManager.ts +285 -0
- package/src/main/vision/ComputerUseManager.ts +475 -0
- package/src/main/vision/ImageVideoGenerationManager.ts +526 -0
- package/src/main/vision/VisionManager.ts +186 -0
- package/src/renderer/App.tsx +314 -0
- package/src/renderer/components/AdvancedSettingsPanel.tsx +225 -0
- package/src/renderer/components/AgentPanel.tsx +760 -0
- package/src/renderer/components/AppPreview.tsx +220 -0
- package/src/renderer/components/AuditTrailPanel.tsx +148 -0
- package/src/renderer/components/AutomationPanel.tsx +220 -0
- package/src/renderer/components/ChatInterface.tsx +595 -0
- package/src/renderer/components/ChatTab.tsx +296 -0
- package/src/renderer/components/CodeEditor.tsx +257 -0
- package/src/renderer/components/CodeReviewPanel.tsx +256 -0
- package/src/renderer/components/CodeWorkspace.tsx +192 -0
- package/src/renderer/components/CodebaseDashboard.tsx +295 -0
- package/src/renderer/components/ComputerUsePanel.tsx +262 -0
- package/src/renderer/components/ConnectorsPanel.tsx +471 -0
- package/src/renderer/components/ContextMenu.tsx +155 -0
- package/src/renderer/components/ContextUsageDisplay.tsx +248 -0
- package/src/renderer/components/CoworkPanel.tsx +415 -0
- package/src/renderer/components/DiffViewer.tsx +452 -0
- package/src/renderer/components/ErrorBoundary.tsx +273 -0
- package/src/renderer/components/ExtendedThinkingToggle.tsx +244 -0
- package/src/renderer/components/FileAttachments.tsx +247 -0
- package/src/renderer/components/FileExplorer.tsx +242 -0
- package/src/renderer/components/FileExplorerPanel.tsx +302 -0
- package/src/renderer/components/GitPanel.tsx +154 -0
- package/src/renderer/components/Header.tsx +113 -0
- package/src/renderer/components/MCPPanel.tsx +326 -0
- package/src/renderer/components/MentionAutocomplete.tsx +239 -0
- package/src/renderer/components/PermissionPanel.tsx +159 -0
- package/src/renderer/components/PermissionSelector.tsx +203 -0
- package/src/renderer/components/PluginMarketplace.tsx +325 -0
- package/src/renderer/components/PromptOptimizerPanel.tsx +399 -0
- package/src/renderer/components/SearchPanel.tsx +173 -0
- package/src/renderer/components/SearchReplace.tsx +284 -0
- package/src/renderer/components/SessionSidebar.tsx +367 -0
- package/src/renderer/components/SettingsPanel.tsx +426 -0
- package/src/renderer/components/Sidebar.tsx +100 -0
- package/src/renderer/components/SkillsPanel.tsx +245 -0
- package/src/renderer/components/SplitPane.tsx +173 -0
- package/src/renderer/components/Terminal.tsx +190 -0
- package/src/renderer/components/VoiceCommand.tsx +129 -0
- package/src/renderer/components/WorktreePanel.tsx +163 -0
- package/src/renderer/components/ui/AriaComponents.tsx +193 -0
- package/src/renderer/components/ui/Button.tsx +68 -0
- package/src/renderer/components/ui/Card.tsx +102 -0
- package/src/renderer/components/ui/Input.tsx +44 -0
- package/src/renderer/components/ui/Skeleton.tsx +55 -0
- package/src/renderer/components/ui/VirtualList.tsx +196 -0
- package/src/renderer/i18n/I18nProvider.tsx +101 -0
- package/src/renderer/i18n/de.ts +161 -0
- package/src/renderer/i18n/en.ts +163 -0
- package/src/renderer/i18n/es.ts +161 -0
- package/src/renderer/i18n/fr.ts +161 -0
- package/src/renderer/i18n/index.ts +44 -0
- package/src/renderer/index.css +129 -0
- package/src/renderer/lib/accessibility.tsx +287 -0
- package/src/renderer/lib/hooks.ts +304 -0
- package/src/renderer/lib/utils.ts +6 -0
- package/src/renderer/main.tsx +25 -0
- package/src/renderer/styles/minimalist.css +539 -0
- package/src/renderer/sw.ts +180 -0
- package/src/renderer/types.d.ts +138 -0
- package/src/shared/types.ts +813 -0
- package/supabase/schema.sql +234 -0
- package/tailwind.config.js +78 -0
- package/tests/e2e/package.json +15 -0
- package/tests/e2e/playwright.config.ts +31 -0
- package/tests/e2e/specs/app.spec.ts +194 -0
- package/tests/setup.ts +99 -0
- package/tests/unit/AgentOrchestrator.test.ts +274 -0
- package/tests/unit/DatabaseManager.test.ts +262 -0
- package/tests/unit/GitWorktreeManager.test.ts +150 -0
- package/tests/unit/SecurityManager.test.ts +110 -0
- package/tsconfig.main.json +22 -0
- package/tsconfig.renderer.json +27 -0
- package/vite.config.ts +28 -0
|
@@ -0,0 +1,476 @@
|
|
|
1
|
+
# Codex Linux - User Guide
|
|
2
|
+
|
|
3
|
+
## Table of Contents
|
|
4
|
+
1. [Installation](#installation)
|
|
5
|
+
2. [Quick Start](#quick-start)
|
|
6
|
+
3. [Interface Overview](#interface-overview)
|
|
7
|
+
4. [Features](#features)
|
|
8
|
+
5. [Agents](#agents)
|
|
9
|
+
6. [Skills](#skills)
|
|
10
|
+
7. [Git Integration](#git-integration)
|
|
11
|
+
8. [Automation](#automation)
|
|
12
|
+
9. [CLI Usage](#cli-usage)
|
|
13
|
+
10. [VS Code Extension](#vs-code-extension)
|
|
14
|
+
11. [Configuration](#configuration)
|
|
15
|
+
12. [Troubleshooting](#troubleshooting)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
### Prerequisites
|
|
22
|
+
- Node.js 18+
|
|
23
|
+
- Git
|
|
24
|
+
- npm or pnpm
|
|
25
|
+
|
|
26
|
+
### Linux Installation
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Clone the repository
|
|
30
|
+
git clone https://github.com/codex-linux/codex-linux-app.git
|
|
31
|
+
cd codex-linux-app
|
|
32
|
+
|
|
33
|
+
# Install dependencies
|
|
34
|
+
npm install
|
|
35
|
+
|
|
36
|
+
# Build the application
|
|
37
|
+
npm run build
|
|
38
|
+
|
|
39
|
+
# Run in development mode
|
|
40
|
+
npm run dev
|
|
41
|
+
|
|
42
|
+
# Package for Linux
|
|
43
|
+
npm run package:linux
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Docker Installation
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# Using docker-compose
|
|
50
|
+
docker-compose up -d
|
|
51
|
+
|
|
52
|
+
# Access the application
|
|
53
|
+
# Open http://localhost:3000 in your browser
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Quick Start
|
|
59
|
+
|
|
60
|
+
1. **Launch Codex Linux**: Run `npm run dev` or launch the packaged app
|
|
61
|
+
2. **Configure API Keys**: Go to Settings and add your OpenAI/Anthropic API keys
|
|
62
|
+
3. **Create Your First Agent**: Click "+ New Agent" in the sidebar
|
|
63
|
+
4. **Start Coding**: Use the chat interface to instruct your agent
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Interface Overview
|
|
68
|
+
|
|
69
|
+
### Main Layout
|
|
70
|
+
- **Sidebar**: Navigation, agents list, file explorer
|
|
71
|
+
- **Main Panel**: Chat interface, code editor, diff viewer
|
|
72
|
+
- **Terminal**: Integrated terminal for command execution
|
|
73
|
+
- **Header**: App controls, search, settings
|
|
74
|
+
|
|
75
|
+
### Panels
|
|
76
|
+
- **Chat Interface**: AI-powered conversations with agents
|
|
77
|
+
- **File Explorer**: Browse and manage project files
|
|
78
|
+
- **Git Panel**: Version control operations
|
|
79
|
+
- **Skills Panel**: Manage AI skills and instructions
|
|
80
|
+
- **Automation Panel**: Schedule and run automated tasks
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Features
|
|
85
|
+
|
|
86
|
+
### Multi-Agent Orchestration
|
|
87
|
+
Run multiple AI agents in parallel with isolated workspaces:
|
|
88
|
+
- Each agent gets its own Git worktree
|
|
89
|
+
- Agents can collaborate on complex tasks
|
|
90
|
+
- Real-time status updates
|
|
91
|
+
|
|
92
|
+
### Code Editor (Monaco)
|
|
93
|
+
- Syntax highlighting for 50+ languages
|
|
94
|
+
- Auto-completion and IntelliSense
|
|
95
|
+
- Diff view for code review
|
|
96
|
+
- Multiple themes (VS Dark, Light, High Contrast)
|
|
97
|
+
|
|
98
|
+
### Git Integration
|
|
99
|
+
- Worktree management per agent
|
|
100
|
+
- Branch creation and switching
|
|
101
|
+
- Commit history visualization
|
|
102
|
+
- PR monitoring and auto-merge
|
|
103
|
+
|
|
104
|
+
### Skills System
|
|
105
|
+
Define custom AI behaviors:
|
|
106
|
+
- Code review skills
|
|
107
|
+
- Refactoring skills
|
|
108
|
+
- Testing skills
|
|
109
|
+
- Custom skill creation
|
|
110
|
+
|
|
111
|
+
### Automation
|
|
112
|
+
Schedule recurring tasks:
|
|
113
|
+
- Code quality checks
|
|
114
|
+
- Automated testing
|
|
115
|
+
- Deployment scripts
|
|
116
|
+
- Custom cron schedules
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Agents
|
|
121
|
+
|
|
122
|
+
### Creating an Agent
|
|
123
|
+
```bash
|
|
124
|
+
# Via CLI
|
|
125
|
+
codex agent create --name "MyAgent" --skill "code-review"
|
|
126
|
+
|
|
127
|
+
# Via UI
|
|
128
|
+
1. Click "+ New Agent"
|
|
129
|
+
2. Configure name, skills, and worktree
|
|
130
|
+
3. Click "Create"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Agent Configuration
|
|
134
|
+
- **Name**: Unique identifier
|
|
135
|
+
- **Skills**: Attached AI capabilities
|
|
136
|
+
- **Worktree**: Isolated Git branch
|
|
137
|
+
- **Model**: AI model to use (GPT-4, Claude, etc.)
|
|
138
|
+
|
|
139
|
+
### Managing Agents
|
|
140
|
+
- Start/Stop agents
|
|
141
|
+
- View agent logs
|
|
142
|
+
- Delete inactive agents
|
|
143
|
+
- Monitor resource usage
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Skills
|
|
148
|
+
|
|
149
|
+
### Built-in Skills
|
|
150
|
+
|
|
151
|
+
#### Code Review
|
|
152
|
+
Analyzes code for:
|
|
153
|
+
- Security vulnerabilities
|
|
154
|
+
- Performance issues
|
|
155
|
+
- Code quality
|
|
156
|
+
- Best practices
|
|
157
|
+
|
|
158
|
+
#### Refactoring
|
|
159
|
+
Suggests improvements for:
|
|
160
|
+
- Code structure
|
|
161
|
+
- Naming conventions
|
|
162
|
+
- Design patterns
|
|
163
|
+
- Technical debt
|
|
164
|
+
|
|
165
|
+
#### Testing
|
|
166
|
+
Generates:
|
|
167
|
+
- Unit tests
|
|
168
|
+
- Integration tests
|
|
169
|
+
- E2E tests
|
|
170
|
+
- Test coverage reports
|
|
171
|
+
|
|
172
|
+
### Custom Skills
|
|
173
|
+
|
|
174
|
+
Create custom skills in `assets/skills/`:
|
|
175
|
+
|
|
176
|
+
```yaml
|
|
177
|
+
name: my-custom-skill
|
|
178
|
+
description: Custom skill description
|
|
179
|
+
instructions: |
|
|
180
|
+
You are an expert in...
|
|
181
|
+
When analyzing code, look for:
|
|
182
|
+
- Performance bottlenecks
|
|
183
|
+
- Security issues
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Git Integration
|
|
189
|
+
|
|
190
|
+
### Worktrees
|
|
191
|
+
Each agent works in an isolated Git worktree:
|
|
192
|
+
```bash
|
|
193
|
+
# Create worktree for agent
|
|
194
|
+
codex worktree create --agent my-agent --branch feature/new-feature
|
|
195
|
+
|
|
196
|
+
# List all worktrees
|
|
197
|
+
codex worktree list
|
|
198
|
+
|
|
199
|
+
# Delete worktree
|
|
200
|
+
codex worktree delete --agent my-agent
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### PR Monitoring
|
|
204
|
+
Configure GitHub PR auto-handling:
|
|
205
|
+
- Auto-review on PR creation
|
|
206
|
+
- Auto-fix linting errors
|
|
207
|
+
- Auto-merge when checks pass
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Automation
|
|
212
|
+
|
|
213
|
+
### Creating Automations
|
|
214
|
+
```bash
|
|
215
|
+
# Create scheduled automation
|
|
216
|
+
codex automation create \
|
|
217
|
+
--name "daily-build" \
|
|
218
|
+
--schedule "0 9 * * *" \
|
|
219
|
+
--command "npm run build"
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Available Triggers
|
|
223
|
+
- **Cron**: Time-based scheduling
|
|
224
|
+
- **Git Hooks**: Post-commit, pre-push
|
|
225
|
+
- **File Watch**: On file change
|
|
226
|
+
- **Manual**: On-demand execution
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## CLI Usage
|
|
231
|
+
|
|
232
|
+
### Installation
|
|
233
|
+
```bash
|
|
234
|
+
# Install CLI globally
|
|
235
|
+
npm install -g @codex-linux/cli
|
|
236
|
+
|
|
237
|
+
# Or use npx
|
|
238
|
+
npx @codex-linux/cli [command]
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### Commands
|
|
242
|
+
|
|
243
|
+
#### Agent Management
|
|
244
|
+
```bash
|
|
245
|
+
codex agents list # List all agents
|
|
246
|
+
codex agents create # Create new agent
|
|
247
|
+
codex agents start <id> # Start agent
|
|
248
|
+
codex agents stop <id> # Stop agent
|
|
249
|
+
codex agents logs <id> # View agent logs
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
#### Task Management
|
|
253
|
+
```bash
|
|
254
|
+
codex tasks list # List running tasks
|
|
255
|
+
codex tasks create # Create new task
|
|
256
|
+
codex tasks cancel <id> # Cancel task
|
|
257
|
+
codex tasks logs <id> # View task logs
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
#### File Operations
|
|
261
|
+
```bash
|
|
262
|
+
codex files read <path> # Read file contents
|
|
263
|
+
codex files write <path> # Write to file
|
|
264
|
+
codex files diff <path> # Show file diff
|
|
265
|
+
codex files search <query> # Search files
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## VS Code Extension
|
|
271
|
+
|
|
272
|
+
### Installation
|
|
273
|
+
1. Open VS Code
|
|
274
|
+
2. Go to Extensions (Ctrl+Shift+X)
|
|
275
|
+
3. Search "Codex Linux"
|
|
276
|
+
4. Click Install
|
|
277
|
+
|
|
278
|
+
### Features
|
|
279
|
+
- **Agent Panel**: Manage agents from VS Code
|
|
280
|
+
- **Chat Integration**: Chat with agents inline
|
|
281
|
+
- **Code Actions**: AI-powered code suggestions
|
|
282
|
+
- **Inline Completion**: Smart code completion
|
|
283
|
+
|
|
284
|
+
### Configuration
|
|
285
|
+
```json
|
|
286
|
+
{
|
|
287
|
+
"codexLinux.endpoint": "http://localhost:3000",
|
|
288
|
+
"codexLinux.apiKey": "your-api-key",
|
|
289
|
+
"codexLinux.defaultModel": "gpt-4"
|
|
290
|
+
}
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Configuration
|
|
296
|
+
|
|
297
|
+
### Environment Variables
|
|
298
|
+
```bash
|
|
299
|
+
# .env
|
|
300
|
+
OPENAI_API_KEY=sk-...
|
|
301
|
+
ANTHROPIC_API_KEY=sk-ant-...
|
|
302
|
+
DATABASE_PATH=./data/codex.db
|
|
303
|
+
PORT=3000
|
|
304
|
+
LOG_LEVEL=info
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### Settings UI
|
|
308
|
+
Access settings via:
|
|
309
|
+
- **Menu**: Settings > Preferences
|
|
310
|
+
- **Shortcut**: Ctrl+,
|
|
311
|
+
- **CLI**: `codex settings`
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## Frequently Asked Questions (FAQ)
|
|
316
|
+
|
|
317
|
+
### General
|
|
318
|
+
|
|
319
|
+
**Q: What is Codex Linux?**
|
|
320
|
+
A: Codex Linux is a powerful AI-powered coding assistant that runs locally on your Linux machine. It leverages OpenAI's Codex and Claude models to help you write, debug, and refactor code.
|
|
321
|
+
|
|
322
|
+
**Q: How is Codex Linux different from Claude Code?**
|
|
323
|
+
A: Codex Linux is designed specifically for Linux with native integrations (Git worktrees, terminal, file system), while providing similar AI agent capabilities with additional enterprise features.
|
|
324
|
+
|
|
325
|
+
**Q: Is Codex Linux free to use?**
|
|
326
|
+
A: The application itself is open source. However, you'll need to provide your own API keys for AI providers (OpenAI, Anthropic, etc.).
|
|
327
|
+
|
|
328
|
+
### Installation
|
|
329
|
+
|
|
330
|
+
**Q: What are the system requirements?**
|
|
331
|
+
A:
|
|
332
|
+
- Linux distribution (Ubuntu 20.04+ recommended)
|
|
333
|
+
- Node.js 18+
|
|
334
|
+
- Git
|
|
335
|
+
- 4GB RAM minimum (8GB recommended)
|
|
336
|
+
- 500MB disk space
|
|
337
|
+
|
|
338
|
+
**Q: Installation fails with permission errors**
|
|
339
|
+
A: Try running with sudo or fix npm permissions:
|
|
340
|
+
```bash
|
|
341
|
+
mkdir ~/.npm-global
|
|
342
|
+
npm config set prefix '~/.npm-global'
|
|
343
|
+
export PATH=~/.npm-global/bin:$PATH
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
**Q: Application won't start after installation**
|
|
347
|
+
A:
|
|
348
|
+
1. Check Node.js version: `node --version` (must be 18+)
|
|
349
|
+
2. Clear cache: `npm cache clean --force`
|
|
350
|
+
3. Reinstall: `rm -rf node_modules && npm install`
|
|
351
|
+
|
|
352
|
+
### Usage
|
|
353
|
+
|
|
354
|
+
**Q: How do I create an agent?**
|
|
355
|
+
A: Click "+ New Agent" in the sidebar, give your agent a name and project path, then click "Create Agent".
|
|
356
|
+
|
|
357
|
+
**Q: Can I use multiple AI providers?**
|
|
358
|
+
A: Yes! Go to Settings > AI Providers to configure multiple providers (OpenAI, Anthropic, etc.). You can set a default provider or specify per-agent.
|
|
359
|
+
|
|
360
|
+
**Q: How do permissions work?**
|
|
361
|
+
A:
|
|
362
|
+
- **Ask**: Agent asks before each action
|
|
363
|
+
- **Auto-accept edits**: Auto-accepts file edits, asks for commands
|
|
364
|
+
- **Plan**: Only analyzes, doesn't make changes
|
|
365
|
+
- **Bypass**: No permission prompts (use with caution)
|
|
366
|
+
|
|
367
|
+
**Q: Can I use my own fine-tuned models?**
|
|
368
|
+
A: Yes! Configure custom providers in Settings > AI Providers with your fine-tuned model endpoints.
|
|
369
|
+
|
|
370
|
+
### Features
|
|
371
|
+
|
|
372
|
+
**Q: What are Skills?**
|
|
373
|
+
A: Skills are reusable AI capabilities (code review, refactoring, testing) that can be applied to agents. See the Skills panel for available options.
|
|
374
|
+
|
|
375
|
+
**Q: How do worktrees work?**
|
|
376
|
+
A: Git worktrees let you work on multiple branches simultaneously. Create a worktree from the Worktrees panel - each gets its own isolated directory.
|
|
377
|
+
|
|
378
|
+
**Q: Can I automate tasks?**
|
|
379
|
+
A: Yes! Use the Automation panel to create scheduled tasks, git hooks, or file watchers.
|
|
380
|
+
|
|
381
|
+
### Troubleshooting
|
|
382
|
+
|
|
383
|
+
**Q: API key errors**
|
|
384
|
+
A:
|
|
385
|
+
```bash
|
|
386
|
+
# Set environment variable
|
|
387
|
+
export OPENAI_API_KEY=sk-your-key
|
|
388
|
+
# Or configure in Settings UI
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
**Q: Slow performance**
|
|
392
|
+
A:
|
|
393
|
+
- Close unused agents
|
|
394
|
+
- Reduce context window size in settings
|
|
395
|
+
- Use a faster model (gpt-4o-mini)
|
|
396
|
+
- Check system resources
|
|
397
|
+
|
|
398
|
+
**Q: Database locked**
|
|
399
|
+
A:
|
|
400
|
+
```bash
|
|
401
|
+
pkill -f codex
|
|
402
|
+
rm ~/.config/codex/codex.db
|
|
403
|
+
npm run dev
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
**Q: Extension not working**
|
|
407
|
+
A: Reload VS Code: `Developer: Reload Window` from command palette
|
|
408
|
+
|
|
409
|
+
---
|
|
410
|
+
|
|
411
|
+
## Troubleshooting
|
|
412
|
+
|
|
413
|
+
### Common Issues
|
|
414
|
+
|
|
415
|
+
#### "API Key not found"
|
|
416
|
+
```bash
|
|
417
|
+
# Set API key
|
|
418
|
+
export OPENAI_API_KEY=sk-...
|
|
419
|
+
# Or use settings UI
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
#### "Database locked"
|
|
423
|
+
```bash
|
|
424
|
+
# Kill existing processes
|
|
425
|
+
pkill -f codex-linux
|
|
426
|
+
# Restart application
|
|
427
|
+
npm run dev
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
#### "Build failed"
|
|
431
|
+
```bash
|
|
432
|
+
# Clear node_modules and reinstall
|
|
433
|
+
rm -rf node_modules
|
|
434
|
+
npm install
|
|
435
|
+
npm run build
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
### Logs
|
|
439
|
+
- **Application logs**: `~/.codex-linux/logs/`
|
|
440
|
+
- **CLI logs**: `~/.codex-linux/cli.log`
|
|
441
|
+
- **Database**: `~/.codex-linux/codex.db`
|
|
442
|
+
|
|
443
|
+
### Getting Help
|
|
444
|
+
- GitHub Issues: https://github.com/codex-linux/codex-linux-app/issues
|
|
445
|
+
- Discord: https://discord.gg/codex-linux
|
|
446
|
+
- Documentation: https://docs.codex-linux.dev
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
|
|
450
|
+
## Keyboard Shortcuts
|
|
451
|
+
|
|
452
|
+
| Action | Shortcut |
|
|
453
|
+
|--------|----------|
|
|
454
|
+
| New Chat | Ctrl+N |
|
|
455
|
+
| Search | Ctrl+K |
|
|
456
|
+
| Settings | Ctrl+, |
|
|
457
|
+
| Toggle Sidebar | Ctrl+B |
|
|
458
|
+
| Toggle Terminal | Ctrl+` |
|
|
459
|
+
| Save File | Ctrl+S |
|
|
460
|
+
| Format Code | Shift+Alt+F |
|
|
461
|
+
| Quick Actions | Ctrl+Shift+P |
|
|
462
|
+
|
|
463
|
+
---
|
|
464
|
+
|
|
465
|
+
## Security
|
|
466
|
+
|
|
467
|
+
- All data encrypted at rest (AES-256)
|
|
468
|
+
- API keys stored securely
|
|
469
|
+
- Audit logging for all operations
|
|
470
|
+
- Sandboxed agent execution
|
|
471
|
+
|
|
472
|
+
---
|
|
473
|
+
|
|
474
|
+
## License
|
|
475
|
+
|
|
476
|
+
MIT License - See LICENSE file for details
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "codex-sample-plugin",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A sample plugin for Codex Linux demonstrating the plugin API",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"author": "Codex Linux Team",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"engines": {
|
|
9
|
+
"codex": "^1.0.0"
|
|
10
|
+
},
|
|
11
|
+
"contributes": {
|
|
12
|
+
"commands": [
|
|
13
|
+
{
|
|
14
|
+
"command": "sample.hello",
|
|
15
|
+
"title": "Say Hello",
|
|
16
|
+
"category": "Sample"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"command": "sample.showInfo",
|
|
20
|
+
"title": "Show Plugin Info",
|
|
21
|
+
"category": "Sample"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"menus": {
|
|
25
|
+
"commandPalette": [
|
|
26
|
+
{
|
|
27
|
+
"command": "sample.hello",
|
|
28
|
+
"group": "sample"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"command": "sample.showInfo",
|
|
32
|
+
"group": "sample"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"activationEvents": [
|
|
38
|
+
"onCommand:sample.hello",
|
|
39
|
+
"onCommand:sample.showInfo"
|
|
40
|
+
]
|
|
41
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { PluginContext } from '../../../src/main/plugins/PluginManager';
|
|
2
|
+
|
|
3
|
+
export default class SamplePlugin {
|
|
4
|
+
private context: PluginContext;
|
|
5
|
+
private disposables: Array<() => void> = [];
|
|
6
|
+
|
|
7
|
+
constructor(context: PluginContext) {
|
|
8
|
+
this.context = context;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
async activate(): Promise<void> {
|
|
12
|
+
this.context.log.info('Sample plugin activated');
|
|
13
|
+
|
|
14
|
+
// Register commands
|
|
15
|
+
this.context.registerCommand('sample.hello', () => {
|
|
16
|
+
this.showHello();
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
this.context.registerCommand('sample.showInfo', () => {
|
|
20
|
+
this.showInfo();
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// Subscribe to events
|
|
24
|
+
this.context.subscribe('agent:created', (data: any) => {
|
|
25
|
+
this.context.log.info(`Agent created: ${data.agentId}`);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
this.context.subscribe('agent:message', (data: any) => {
|
|
29
|
+
this.context.log.debug(`New message in agent ${data.agentId}`);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
// Add menu items
|
|
33
|
+
this.context.registerMenu('agent:context', [
|
|
34
|
+
{
|
|
35
|
+
command: 'sample.hello',
|
|
36
|
+
group: 'sample',
|
|
37
|
+
},
|
|
38
|
+
]);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
async deactivate(): Promise<void> {
|
|
42
|
+
this.context.log.info('Sample plugin deactivated');
|
|
43
|
+
|
|
44
|
+
// Clean up disposables
|
|
45
|
+
this.disposables.forEach(dispose => dispose());
|
|
46
|
+
this.disposables = [];
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
private showHello(): void {
|
|
50
|
+
this.context.emit('notification:show', {
|
|
51
|
+
title: 'Sample Plugin',
|
|
52
|
+
body: 'Hello from the sample plugin! 👋',
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
private showInfo(): void {
|
|
57
|
+
const info = {
|
|
58
|
+
name: 'Codex Sample Plugin',
|
|
59
|
+
version: '1.0.0',
|
|
60
|
+
features: [
|
|
61
|
+
'Command registration',
|
|
62
|
+
'Event subscription',
|
|
63
|
+
'Menu contributions',
|
|
64
|
+
'Notifications',
|
|
65
|
+
],
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
this.context.log.info('Plugin info:', info);
|
|
69
|
+
|
|
70
|
+
this.context.emit('notification:show', {
|
|
71
|
+
title: 'Plugin Info',
|
|
72
|
+
body: `Sample Plugin v${info.version}\nFeatures: ${info.features.join(', ')}`,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
package/index.html
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
6
|
+
<link rel="manifest" href="/manifest.json" />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
|
8
|
+
<meta name="theme-color" content="#404040" />
|
|
9
|
+
<meta name="description" content="Codex Linux - Multi-agent AI coding command center" />
|
|
10
|
+
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
11
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
12
|
+
<meta name="apple-mobile-web-app-title" content="Codex" />
|
|
13
|
+
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' blob:; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' https://api.openai.com https://api.anthropic.com ws://localhost:*;">
|
|
14
|
+
<title>Codex Linux</title>
|
|
15
|
+
</head>
|
|
16
|
+
<body>
|
|
17
|
+
<div id="root"></div>
|
|
18
|
+
<script type="module" src="/src/renderer/main.tsx"></script>
|
|
19
|
+
</body>
|
|
20
|
+
</html>
|
package/jest.config.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
preset: 'ts-jest',
|
|
3
|
+
testEnvironment: 'node',
|
|
4
|
+
roots: ['<rootDir>/src', '<rootDir>/tests'],
|
|
5
|
+
testPathIgnorePatterns: ['<rootDir>/tests/e2e/'],
|
|
6
|
+
testMatch: [
|
|
7
|
+
'**/__tests__/**/*.ts',
|
|
8
|
+
'**/?(*.)+(spec|test).ts'
|
|
9
|
+
],
|
|
10
|
+
transform: {
|
|
11
|
+
'^.+\\.ts$': ['ts-jest', {
|
|
12
|
+
tsconfig: {
|
|
13
|
+
esModuleInterop: true,
|
|
14
|
+
allowSyntheticDefaultImports: true,
|
|
15
|
+
module: 'commonjs',
|
|
16
|
+
target: 'es2020',
|
|
17
|
+
moduleResolution: 'node'
|
|
18
|
+
}
|
|
19
|
+
}],
|
|
20
|
+
},
|
|
21
|
+
collectCoverageFrom: [
|
|
22
|
+
'src/**/*.ts',
|
|
23
|
+
'!src/**/*.d.ts',
|
|
24
|
+
'!src/main/preload.ts',
|
|
25
|
+
'!src/renderer/**/*'
|
|
26
|
+
],
|
|
27
|
+
coverageDirectory: 'coverage',
|
|
28
|
+
coverageReporters: [
|
|
29
|
+
'text',
|
|
30
|
+
'lcov',
|
|
31
|
+
'html'
|
|
32
|
+
],
|
|
33
|
+
setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
|
|
34
|
+
moduleNameMapper: {
|
|
35
|
+
'^@shared/(.*)$': '<rootDir>/src/shared/$1',
|
|
36
|
+
'^@main/(.*)$': '<rootDir>/src/main/$1'
|
|
37
|
+
},
|
|
38
|
+
testTimeout: 30000
|
|
39
|
+
};
|