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
package/.eslintrc.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"root": true,
|
|
3
|
+
"env": {
|
|
4
|
+
"browser": true,
|
|
5
|
+
"es2022": true,
|
|
6
|
+
"node": true
|
|
7
|
+
},
|
|
8
|
+
"extends": [
|
|
9
|
+
"eslint:recommended",
|
|
10
|
+
"plugin:@typescript-eslint/recommended",
|
|
11
|
+
"plugin:react-hooks/recommended"
|
|
12
|
+
],
|
|
13
|
+
"ignorePatterns": ["dist", ".eslintrc.cjs"],
|
|
14
|
+
"parser": "@typescript-eslint/parser",
|
|
15
|
+
"plugins": ["react-refresh"],
|
|
16
|
+
"rules": {
|
|
17
|
+
"react-refresh/only-export-components": [
|
|
18
|
+
"warn",
|
|
19
|
+
{ "allowConstantExport": true }
|
|
20
|
+
],
|
|
21
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
22
|
+
"@typescript-eslint/no-unused-vars": ["warn", {
|
|
23
|
+
"argsIgnorePattern": "^_",
|
|
24
|
+
"varsIgnorePattern": "^_"
|
|
25
|
+
}]
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
name: CI/CD Pipeline
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, develop]
|
|
6
|
+
tags: ['v*']
|
|
7
|
+
pull_request:
|
|
8
|
+
branches: [main, develop]
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
test:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
strategy:
|
|
14
|
+
matrix:
|
|
15
|
+
node-version: [18.x, 20.x]
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
|
|
20
|
+
- name: Use Node.js ${{ matrix.node-version }}
|
|
21
|
+
uses: actions/setup-node@v4
|
|
22
|
+
with:
|
|
23
|
+
node-version: ${{ matrix.node-version }}
|
|
24
|
+
cache: 'npm'
|
|
25
|
+
|
|
26
|
+
- name: Install dependencies
|
|
27
|
+
run: npm ci
|
|
28
|
+
|
|
29
|
+
- name: Run linter
|
|
30
|
+
run: npm run lint
|
|
31
|
+
|
|
32
|
+
- name: Type check
|
|
33
|
+
run: npm run typecheck
|
|
34
|
+
|
|
35
|
+
- name: Run unit tests
|
|
36
|
+
run: npm test -- --coverage
|
|
37
|
+
|
|
38
|
+
- name: Upload coverage
|
|
39
|
+
uses: codecov/codecov-action@v3
|
|
40
|
+
with:
|
|
41
|
+
files: ./coverage/lcov.info
|
|
42
|
+
flags: unittests
|
|
43
|
+
name: codecov-umbrella
|
|
44
|
+
|
|
45
|
+
build:
|
|
46
|
+
runs-on: ubuntu-latest
|
|
47
|
+
needs: test
|
|
48
|
+
|
|
49
|
+
steps:
|
|
50
|
+
- uses: actions/checkout@v4
|
|
51
|
+
|
|
52
|
+
- name: Use Node.js
|
|
53
|
+
uses: actions/setup-node@v4
|
|
54
|
+
with:
|
|
55
|
+
node-version: '20.x'
|
|
56
|
+
cache: 'npm'
|
|
57
|
+
|
|
58
|
+
- name: Install dependencies
|
|
59
|
+
run: npm ci
|
|
60
|
+
|
|
61
|
+
- name: Build application
|
|
62
|
+
run: npm run build
|
|
63
|
+
|
|
64
|
+
- name: Package for Linux
|
|
65
|
+
run: npm run package:linux
|
|
66
|
+
|
|
67
|
+
- name: Upload artifacts
|
|
68
|
+
uses: actions/upload-artifact@v3
|
|
69
|
+
with:
|
|
70
|
+
name: linux-packages
|
|
71
|
+
path: |
|
|
72
|
+
release/*.AppImage
|
|
73
|
+
release/*.deb
|
|
74
|
+
release/*.rpm
|
|
75
|
+
|
|
76
|
+
release:
|
|
77
|
+
runs-on: ubuntu-latest
|
|
78
|
+
needs: [test, build]
|
|
79
|
+
if: startsWith(github.ref, 'refs/tags/v')
|
|
80
|
+
|
|
81
|
+
steps:
|
|
82
|
+
- uses: actions/checkout@v4
|
|
83
|
+
|
|
84
|
+
- name: Download artifacts
|
|
85
|
+
uses: actions/download-artifact@v3
|
|
86
|
+
with:
|
|
87
|
+
name: linux-packages
|
|
88
|
+
path: release/
|
|
89
|
+
|
|
90
|
+
- name: Create Release
|
|
91
|
+
uses: softprops/action-gh-release@v1
|
|
92
|
+
with:
|
|
93
|
+
files: |
|
|
94
|
+
release/*.AppImage
|
|
95
|
+
release/*.deb
|
|
96
|
+
release/*.rpm
|
|
97
|
+
release/*.tar.gz
|
|
98
|
+
draft: false
|
|
99
|
+
prerelease: ${{ contains(github.ref, 'beta') || contains(github.ref, 'alpha') }}
|
|
100
|
+
generate_release_notes: true
|
|
101
|
+
env:
|
|
102
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
103
|
+
|
|
104
|
+
npm-publish:
|
|
105
|
+
runs-on: ubuntu-latest
|
|
106
|
+
needs: [test, build]
|
|
107
|
+
if: startsWith(github.ref, 'refs/tags/v')
|
|
108
|
+
|
|
109
|
+
steps:
|
|
110
|
+
- uses: actions/checkout@v4
|
|
111
|
+
|
|
112
|
+
- name: Use Node.js
|
|
113
|
+
uses: actions/setup-node@v4
|
|
114
|
+
with:
|
|
115
|
+
node-version: '20.x'
|
|
116
|
+
registry-url: 'https://registry.npmjs.org'
|
|
117
|
+
|
|
118
|
+
- name: Update package version
|
|
119
|
+
run: |
|
|
120
|
+
VERSION=${GITHUB_REF#refs/tags/v}
|
|
121
|
+
cd packages/npm-installer
|
|
122
|
+
npm version $VERSION --no-git-tag-version
|
|
123
|
+
|
|
124
|
+
- name: Publish to NPM
|
|
125
|
+
run: |
|
|
126
|
+
cd packages/npm-installer
|
|
127
|
+
npm publish --access public
|
|
128
|
+
env:
|
|
129
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
130
|
+
|
|
131
|
+
docker:
|
|
132
|
+
runs-on: ubuntu-latest
|
|
133
|
+
needs: test
|
|
134
|
+
|
|
135
|
+
steps:
|
|
136
|
+
- uses: actions/checkout@v4
|
|
137
|
+
|
|
138
|
+
- name: Set up Docker Buildx
|
|
139
|
+
uses: docker/setup-buildx-action@v3
|
|
140
|
+
|
|
141
|
+
- name: Login to Docker Hub
|
|
142
|
+
uses: docker/login-action@v3
|
|
143
|
+
with:
|
|
144
|
+
username: ${{ secrets.DOCKER_USERNAME }}
|
|
145
|
+
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
146
|
+
|
|
147
|
+
- name: Build and push
|
|
148
|
+
uses: docker/build-push-action@v5
|
|
149
|
+
with:
|
|
150
|
+
context: .
|
|
151
|
+
push: ${{ github.event_name != 'pull_request' }}
|
|
152
|
+
tags: |
|
|
153
|
+
codexlinux/app:latest
|
|
154
|
+
codexlinux/app:${{ github.sha }}
|
|
155
|
+
cache-from: type=gha
|
|
156
|
+
cache-to: type=gha,mode=max
|
package/.huskyrc
ADDED
package/.lintstagedrc
ADDED
package/.prettierrc
ADDED
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# CLAUDE.md - Codex Linux Configuration
|
|
2
|
+
|
|
3
|
+
## Project
|
|
4
|
+
|
|
5
|
+
**Name:** Codex Linux
|
|
6
|
+
**Description:** A powerful Linux port of OpenAI Codex - command center for managing multiple AI coding agents in parallel
|
|
7
|
+
**Language:** TypeScript
|
|
8
|
+
**Framework:** Electron + React
|
|
9
|
+
|
|
10
|
+
## Coding Standards
|
|
11
|
+
|
|
12
|
+
**Style:** Follow TypeScript strict mode with explicit types
|
|
13
|
+
**Linter:** ESLint with TypeScript parser
|
|
14
|
+
**Formatter:** Prettier with 2-space indentation
|
|
15
|
+
**Max Line Length:** 100
|
|
16
|
+
**Indent Size:** 2
|
|
17
|
+
**Use Tabs:** false
|
|
18
|
+
|
|
19
|
+
## Architecture
|
|
20
|
+
|
|
21
|
+
### Patterns
|
|
22
|
+
- Event-driven architecture with EventEmitter
|
|
23
|
+
- Manager pattern for core functionality
|
|
24
|
+
- Repository pattern for database operations
|
|
25
|
+
- Component-based UI architecture
|
|
26
|
+
- Provider pattern for AI services
|
|
27
|
+
|
|
28
|
+
### Conventions
|
|
29
|
+
- Use async/await for asynchronous operations
|
|
30
|
+
- Prefer dependency injection over singletons
|
|
31
|
+
- Implement proper error handling with try/catch
|
|
32
|
+
- Use meaningful variable names (no single letter except loops)
|
|
33
|
+
- Always clean up resources (intervals, listeners, files)
|
|
34
|
+
|
|
35
|
+
### Design Principles
|
|
36
|
+
- Single Responsibility Principle
|
|
37
|
+
- Don't Repeat Yourself (DRY)
|
|
38
|
+
- Keep It Simple, Stupid (KISS)
|
|
39
|
+
- Fail fast with clear error messages
|
|
40
|
+
- Security by default
|
|
41
|
+
|
|
42
|
+
## Libraries
|
|
43
|
+
|
|
44
|
+
### Preferred
|
|
45
|
+
- electron-log for logging
|
|
46
|
+
- better-sqlite3 for database
|
|
47
|
+
- simple-git for Git operations
|
|
48
|
+
- uuid for unique IDs
|
|
49
|
+
- node-cron for scheduling
|
|
50
|
+
- zod for validation
|
|
51
|
+
|
|
52
|
+
### Testing
|
|
53
|
+
- Jest for unit tests
|
|
54
|
+
- Playwright for E2E tests
|
|
55
|
+
- @testing-library/react for component tests
|
|
56
|
+
|
|
57
|
+
### Utilities
|
|
58
|
+
- lodash for utilities
|
|
59
|
+
- date-fns for date manipulation
|
|
60
|
+
- node-fetch for HTTP requests
|
|
61
|
+
|
|
62
|
+
### Avoid
|
|
63
|
+
- Avoid using any type - always define types
|
|
64
|
+
- Avoid callbacks - use promises/async-await
|
|
65
|
+
- Avoid mutating state directly in React
|
|
66
|
+
- Avoid hardcoded values - use constants
|
|
67
|
+
|
|
68
|
+
## Review Checklist
|
|
69
|
+
|
|
70
|
+
### Required
|
|
71
|
+
- [ ] All TypeScript types are defined
|
|
72
|
+
- [ ] Error handling is implemented
|
|
73
|
+
- [ ] No console.log - use electron-log
|
|
74
|
+
- [ ] Security best practices followed
|
|
75
|
+
- [ ] Database migrations included if needed
|
|
76
|
+
|
|
77
|
+
### Security
|
|
78
|
+
- [ ] No hardcoded secrets or API keys
|
|
79
|
+
- [ ] Input validation implemented
|
|
80
|
+
- [ ] SQL injection prevention (parameterized queries)
|
|
81
|
+
- [ ] XSS prevention in rendered content
|
|
82
|
+
- [ ] File path validation before operations
|
|
83
|
+
|
|
84
|
+
### Performance
|
|
85
|
+
- [ ] Database queries are optimized
|
|
86
|
+
- [ ] No memory leaks (cleanup intervals/listeners)
|
|
87
|
+
- [ ] Lazy loading for heavy components
|
|
88
|
+
- [ ] Debouncing for frequent operations
|
|
89
|
+
|
|
90
|
+
## Tools
|
|
91
|
+
|
|
92
|
+
**Build:** `npm run build`
|
|
93
|
+
**Test:** `npm test`
|
|
94
|
+
**Lint:** `npm run lint`
|
|
95
|
+
**Typecheck:** `npx tsc --noEmit`
|
|
96
|
+
|
|
97
|
+
## Custom Prompts
|
|
98
|
+
|
|
99
|
+
### System Prompt
|
|
100
|
+
You are an expert TypeScript developer working on Codex Linux, an Electron application for managing AI coding agents. Follow the coding standards defined in this project. Always provide type-safe code with proper error handling.
|
|
101
|
+
|
|
102
|
+
### Before Action
|
|
103
|
+
Check if the operation requires permission based on the current permission mode. Log all actions using electron-log.
|
|
104
|
+
|
|
105
|
+
### After Action
|
|
106
|
+
Verify the changes compile without TypeScript errors. Run the linter and formatter before marking as complete.
|
|
107
|
+
|
|
108
|
+
### Commit Message
|
|
109
|
+
Format: `type(scope): description`
|
|
110
|
+
|
|
111
|
+
Types: feat, fix, docs, style, refactor, test, chore
|
|
112
|
+
|
|
113
|
+
Example: `feat(agents): add CLAUDE.md support`
|
|
114
|
+
|
|
115
|
+
### PR Description
|
|
116
|
+
Include:
|
|
117
|
+
- What changed
|
|
118
|
+
- Why it changed
|
|
119
|
+
- Testing performed
|
|
120
|
+
- Breaking changes (if any)
|
|
121
|
+
|
|
122
|
+
## Agents
|
|
123
|
+
|
|
124
|
+
**Default Model:** gpt-4o
|
|
125
|
+
**Default Provider:** openai
|
|
126
|
+
**Skills:**
|
|
127
|
+
- code-review
|
|
128
|
+
- refactoring
|
|
129
|
+
- testing
|
|
130
|
+
|
|
131
|
+
**Permission Mode:** ask
|
|
132
|
+
|
|
133
|
+
## MCP
|
|
134
|
+
|
|
135
|
+
### Servers
|
|
136
|
+
|
|
137
|
+
#### Filesystem
|
|
138
|
+
**Command:** npx -y @modelcontextprotocol/server-filesystem
|
|
139
|
+
**Environment:**
|
|
140
|
+
- ALLOWED_DIRS=/home/user/projects
|
|
141
|
+
|
|
142
|
+
#### Git
|
|
143
|
+
**Command:** npx -y @modelcontextprotocol/server-git
|
|
144
|
+
**Environment:**
|
|
145
|
+
- REPO_ROOT=/home/user/codex-linux-app
|
|
146
|
+
|
|
147
|
+
## Hooks
|
|
148
|
+
|
|
149
|
+
**Pre-Edit:** npm run lint:staged
|
|
150
|
+
**Post-Edit:** npm run format
|
|
151
|
+
**Pre-Commit:** npm run typecheck && npm test
|
|
152
|
+
**Post-Commit:** echo "Changes committed successfully"
|
|
153
|
+
|
|
154
|
+
## Ignore
|
|
155
|
+
|
|
156
|
+
- node_modules
|
|
157
|
+
- dist
|
|
158
|
+
- build
|
|
159
|
+
- .git
|
|
160
|
+
- *.log
|
|
161
|
+
- coverage
|
|
162
|
+
- .env
|
|
163
|
+
- .env.local
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# 🎨 DESIGN MINIMALISTE MODERNE - SURPASSE CLAUDE CODE
|
|
2
|
+
|
|
3
|
+
## ✨ Ce qui rend le design supérieur :
|
|
4
|
+
|
|
5
|
+
### 1. **Palette de couleurs épurée**
|
|
6
|
+
- Gris neutres sophistiqués (pas de couleurs criardes)
|
|
7
|
+
- Contraste parfait pour la lisibilité
|
|
8
|
+
- Thème clair et sombre harmonieux
|
|
9
|
+
- Accents subtils et élégants
|
|
10
|
+
|
|
11
|
+
### 2. **Typographie soignée**
|
|
12
|
+
- Police Inter (moderne et lisible)
|
|
13
|
+
- Espacement des lettres optimisé
|
|
14
|
+
- Hiérarchie visuelle claire
|
|
15
|
+
- Tailles de texte cohérentes
|
|
16
|
+
|
|
17
|
+
### 3. **Micro-interactions élégantes**
|
|
18
|
+
- Transitions fluides (200ms)
|
|
19
|
+
- Hover effects subtils
|
|
20
|
+
- Animations d'apparition (fadeIn, slideIn)
|
|
21
|
+
- Feedback visuel immédiat
|
|
22
|
+
|
|
23
|
+
### 4. **Espacement généreux**
|
|
24
|
+
- Plus d'air, moins de fouillis
|
|
25
|
+
- Sections bien délimitées
|
|
26
|
+
- Marges cohérentes
|
|
27
|
+
- Respect du "white space"
|
|
28
|
+
|
|
29
|
+
### 5. **Composants raffinés**
|
|
30
|
+
- Boutons avec states hover/actif
|
|
31
|
+
- Cards avec ombres subtils
|
|
32
|
+
- Inputs avec focus rings discrets
|
|
33
|
+
- Skeleton loaders élégants
|
|
34
|
+
|
|
35
|
+
### 6. **Scrollbar minimaliste**
|
|
36
|
+
- Design épuré
|
|
37
|
+
- Apparition au hover
|
|
38
|
+
- Couleurs neutres
|
|
39
|
+
- Pas de distractions
|
|
40
|
+
|
|
41
|
+
## 🆚 Comparaison avec Claude Code :
|
|
42
|
+
|
|
43
|
+
| Aspect | Claude Code | Codex Linux (Nouveau) |
|
|
44
|
+
|--------|-------------|----------------------|
|
|
45
|
+
| **Palette** | Basique | ✅ **Neutres sophistiqués** |
|
|
46
|
+
| **Typographie** | Standard | ✅ **Inter optimisée** |
|
|
47
|
+
| **Animations** | Simples | ✅ **Micro-interactions** |
|
|
48
|
+
| **Espacement** | Compact | ✅ **Aéré et respirant** |
|
|
49
|
+
| **Cards** | Plates | ✅ **Élevées avec ombre** |
|
|
50
|
+
| **Focus states** | Basiques | ✅ **Raffinés** |
|
|
51
|
+
| **Scrollbar** | Standard | ✅ **Minimaliste** |
|
|
52
|
+
| **Thèmes** | 2 basiques | ✅ **CSS variables modulaires** |
|
|
53
|
+
| **Loading** | Spinner simple | ✅ **Skeleton élégant** |
|
|
54
|
+
| **Sidebar** | Standard | ✅ **Avec descriptions** |
|
|
55
|
+
|
|
56
|
+
## 🎯 Points forts du design :
|
|
57
|
+
|
|
58
|
+
1. **✅ Épuré** - Pas d'éléments superflus
|
|
59
|
+
2. **✅ Moderne** - Tendances 2024
|
|
60
|
+
3. **✅ Professionnel** - Convient aux entreprises
|
|
61
|
+
4. **✅ Accessible** - Contraste et lisibilité
|
|
62
|
+
5. **✅ Réactif** - Animations 60fps
|
|
63
|
+
6. **✅ Cohérent** - Design system complet
|
|
64
|
+
7. **✅ Personnalisable** - Variables CSS faciles
|
|
65
|
+
8. **✅ Élégant** - Raffiné et sobre
|
|
66
|
+
|
|
67
|
+
## 🚀 Le design est :
|
|
68
|
+
- **Plus beau** que Claude Code
|
|
69
|
+
- **Plus moderne** que la plupart des IDE
|
|
70
|
+
- **Plus professionnel** pour les entreprises
|
|
71
|
+
- **Plus agréable** pour les longues sessions
|
|
72
|
+
|
|
73
|
+
**Interface PRÊTE et SUPÉRIEURE !** 🎨✨
|
package/Dockerfile
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Multi-stage build for Codex Linux
|
|
2
|
+
|
|
3
|
+
# Stage 1: Build
|
|
4
|
+
FROM node:20-alpine AS builder
|
|
5
|
+
|
|
6
|
+
# Install build dependencies
|
|
7
|
+
RUN apk add --no-cache \
|
|
8
|
+
python3 \
|
|
9
|
+
make \
|
|
10
|
+
g++ \
|
|
11
|
+
git
|
|
12
|
+
|
|
13
|
+
WORKDIR /app
|
|
14
|
+
|
|
15
|
+
# Copy package files
|
|
16
|
+
COPY package*.json ./
|
|
17
|
+
COPY packages/cli/package*.json ./packages/cli/
|
|
18
|
+
|
|
19
|
+
# Install dependencies
|
|
20
|
+
RUN npm ci
|
|
21
|
+
|
|
22
|
+
# Copy source code
|
|
23
|
+
COPY . .
|
|
24
|
+
|
|
25
|
+
# Build application
|
|
26
|
+
RUN npm run build
|
|
27
|
+
|
|
28
|
+
# Stage 2: Production
|
|
29
|
+
FROM node:20-alpine AS production
|
|
30
|
+
|
|
31
|
+
# Install runtime dependencies
|
|
32
|
+
RUN apk add --no-cache \
|
|
33
|
+
git \
|
|
34
|
+
ca-certificates
|
|
35
|
+
|
|
36
|
+
# Create non-root user
|
|
37
|
+
RUN addgroup -g 1001 -S codex && \
|
|
38
|
+
adduser -S codex -u 1001
|
|
39
|
+
|
|
40
|
+
WORKDIR /app
|
|
41
|
+
|
|
42
|
+
# Copy built application
|
|
43
|
+
COPY --from=builder /app/dist ./dist
|
|
44
|
+
COPY --from=builder /app/node_modules ./node_modules
|
|
45
|
+
COPY --from=builder /app/package.json ./
|
|
46
|
+
COPY --from=builder /app/assets ./assets
|
|
47
|
+
|
|
48
|
+
# Create necessary directories
|
|
49
|
+
RUN mkdir -p /home/codex/.config/codex && \
|
|
50
|
+
chown -R codex:codex /home/codex && \
|
|
51
|
+
chown -R codex:codex /app
|
|
52
|
+
|
|
53
|
+
# Switch to non-root user
|
|
54
|
+
USER codex
|
|
55
|
+
|
|
56
|
+
# Expose ports
|
|
57
|
+
EXPOSE 3001
|
|
58
|
+
|
|
59
|
+
# Health check
|
|
60
|
+
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
|
61
|
+
CMD node -e "require('http').get('http://localhost:3001/api/health', (r) => r.statusCode === 200 ? process.exit(0) : process.exit(1))"
|
|
62
|
+
|
|
63
|
+
# Start application
|
|
64
|
+
CMD ["node", "dist/main/main.js"]
|
package/INSTALLATION.md
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Installation Guide
|
|
2
|
+
|
|
3
|
+
## Quick Install (Recommended)
|
|
4
|
+
|
|
5
|
+
### Option 1: One-line Installer (All Linux Distributions)
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
curl -fsSL https://codex-linux.dev/install.sh | bash
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
This installs the AppImage to `~/.local/bin/` and creates a desktop entry.
|
|
12
|
+
|
|
13
|
+
**System-wide install (requires sudo):**
|
|
14
|
+
```bash
|
|
15
|
+
curl -fsSL https://codex-linux.dev/install.sh | sudo bash -s -- --system
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**Uninstall:**
|
|
19
|
+
```bash
|
|
20
|
+
~/.local/bin/uninstall-codex-linux.sh
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
### Option 2: NPM (For Node.js Developers)
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Install globally
|
|
29
|
+
npm install -g codex-linux
|
|
30
|
+
|
|
31
|
+
# Launch
|
|
32
|
+
codex-linux
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Run without installing:**
|
|
36
|
+
```bash
|
|
37
|
+
npx codex-linux
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Update:**
|
|
41
|
+
```bash
|
|
42
|
+
npm update -g codex-linux
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Manual Installation
|
|
48
|
+
|
|
49
|
+
### AppImage (Universal)
|
|
50
|
+
|
|
51
|
+
1. Download the latest AppImage from [Releases](https://github.com/ranker-org/codex-linux-app/releases)
|
|
52
|
+
2. Make it executable: `chmod +x Codex-Linux-*.AppImage`
|
|
53
|
+
3. Run it: `./Codex-Linux-*.AppImage`
|
|
54
|
+
|
|
55
|
+
### Debian/Ubuntu
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
wget https://github.com/ranker-org/codex-linux-app/releases/latest/download/codex-linux_amd64.deb
|
|
59
|
+
sudo dpkg -i codex-linux_amd64.deb
|
|
60
|
+
sudo apt-get install -f # Fix any dependency issues
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Fedora/RHEL
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
wget https://github.com/ranker-org/codex-linux-app/releases/latest/download/codex-linux.x86_64.rpm
|
|
67
|
+
sudo rpm -i codex-linux.x86_64.rpm
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Arch Linux
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
wget https://github.com/ranker-org/codex-linux-app/releases/latest/download/codex-linux.pacman
|
|
74
|
+
sudo pacman -U codex-linux.pacman
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Post-Installation
|
|
80
|
+
|
|
81
|
+
1. **Launch Codex Linux**:
|
|
82
|
+
- From applications menu
|
|
83
|
+
- Or run `codex-linux` from terminal
|
|
84
|
+
|
|
85
|
+
2. **Configure AI Provider**:
|
|
86
|
+
- Open Settings → AI Providers
|
|
87
|
+
- Add your API key (OpenAI, Anthropic, or use free models)
|
|
88
|
+
|
|
89
|
+
3. **Create your first agent**:
|
|
90
|
+
- Click "+ New Agent"
|
|
91
|
+
- Select a project folder
|
|
92
|
+
- Choose provider and model
|
|
93
|
+
- Start coding!
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Troubleshooting
|
|
98
|
+
|
|
99
|
+
### AppImage won't run
|
|
100
|
+
|
|
101
|
+
If the AppImage doesn't launch, you may need to install FUSE:
|
|
102
|
+
|
|
103
|
+
**Ubuntu/Debian:**
|
|
104
|
+
```bash
|
|
105
|
+
sudo apt install libfuse2
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Fedora/RHEL:**
|
|
109
|
+
```bash
|
|
110
|
+
sudo dnf install fuse
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Arch:**
|
|
114
|
+
```bash
|
|
115
|
+
sudo pacman -S fuse2
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Permission denied
|
|
119
|
+
|
|
120
|
+
Make sure the AppImage is executable:
|
|
121
|
+
```bash
|
|
122
|
+
chmod +x Codex-Linux-*.AppImage
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Not in PATH
|
|
126
|
+
|
|
127
|
+
If `codex-linux` command is not found after installation:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# Add to your shell profile
|
|
131
|
+
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
|
|
132
|
+
source ~/.bashrc
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Supported Platforms
|
|
138
|
+
|
|
139
|
+
| Platform | Architecture | Status |
|
|
140
|
+
|----------|-------------|--------|
|
|
141
|
+
| Linux (glibc) | x64 | ✅ Fully supported |
|
|
142
|
+
| Linux (glibc) | arm64 | ✅ Fully supported |
|
|
143
|
+
| Linux (musl) | x64 | ⚠️ May require FUSE |
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Auto-Updates
|
|
148
|
+
|
|
149
|
+
Codex Linux includes automatic update checking. When a new version is available, you'll be notified in the application.
|
|
150
|
+
|
|
151
|
+
To manually check for updates:
|
|
152
|
+
- Go to Settings → About → Check for Updates
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Codex Linux Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|