Skip to content

Conversation

@Shironex
Copy link
Collaborator

@Shironex Shironex commented Dec 10, 2025

Overview

This PR extends the application's AI model support with multiple providers, introduces AI profile management, adds git worktree isolation for feature execution, and includes numerous UI/UX improvements.

Key Features

🤖 Multi-Provider AI Model Support

  • Claude Integration: Full support for Claude models (Opus, Sonnet, Haiku) with thinking levels (None, Low, Medium, High, Ultrathink)
  • Codex/OpenAI Integration: Support for GPT-5.1 Codex models (Max, Standard, Mini) via OpenAI CLI
  • CLI Detection: Automatic detection of Claude CLI and Codex CLI installations with helpful setup guidance
  • Model Registry: Centralized model management system with provider abstraction

👤 AI Profile Management System

  • Custom Profiles: Create, edit, and manage custom AI profiles with specific model and thinking configurations
  • Built-in Profiles: 5 default profiles (Heavy Task, Balanced, Quick Edit, Codex Power, Codex Fast)
  • Profile-Only Mode: Simplified UI option to show only profiles, hiding advanced model tweaking options
  • Drag & Drop Reordering: Reorder profiles via drag-and-drop interface
  • Profile View: New dedicated view for managing AI profiles with sidebar integration
  • Keyboard Shortcuts:
    • Press M to navigate to AI Profiles view from sidebar
    • Press N in profiles view to create a new profile
    • Visual shortcut indicators displayed in UI

🌳 Git Worktree Isolation

  • Isolated Feature Execution: Execute features in isolated git worktrees to prevent conflicts
  • Branch Management: Automatic branch creation and cleanup for feature worktrees
  • Rollback Capability: Easy reversion of agent changes if they don't meet requirements
  • Git Diff Visualization: Enhanced GitDiffPanel component showing changes in both worktree and main project contexts
  • Worktree Settings: Toggle worktree usage in settings (experimental feature)

🔧 MCP Server Integration

  • Codex MCP Support: MCP server integration for Codex CLI communication
  • TOML Configuration: CodexConfigManager for managing MCP server settings
  • JSON-RPC Communication: Standalone MCP server script for Codex CLI interaction

🎨 UI/UX Improvements

  • Enhanced Settings View:
    • Tabbed navigation (API Keys, Claude, Codex, Appearance, Kanban, Defaults, Danger Zone)
    • OpenAI API key management and connection testing
    • Claude CLI and Codex CLI status indicators
    • Improved layout and organization
  • Kanban Board Enhancements:
    • Tooltips on cards with full branch names
    • Improved card layout and overflow handling
    • Image preview persistence when switching tabs
    • Model display fixes (removed hardcoded values)
  • Git Diff Panel: Grouped file status display showing counts and icons for each file type
  • Modal Improvements: Increased max-width, tabbed interface for feature modals
  • Badge Component: New reusable badge component for consistent UI
  • Keyboard Shortcuts: Added shortcuts for AI Profiles navigation and profile creation with visual indicators

🛠️ Technical Improvements

  • Type Safety: Enhanced TypeScript types for models, providers, thinking levels, and profiles
  • Project Analysis: New FileTreeNode and ProjectAnalysis interfaces for project structure analysis
  • Error Handling: Improved authentication error messages and CLI detection feedback
  • State Management: Extended Zustand store with profile management, worktree settings, and project analysis state
  • IPC Enhancements: New IPC handlers for model detection, provider status, and worktree operations

Files Changed

  • 48 files changed: 9,674 insertions(+), 3,962 deletions(-)

Major New Files

  • app/src/components/views/profiles-view.tsx - AI profile management UI
  • app/electron/services/model-provider.js - Model provider abstraction
  • app/electron/services/model-registry.js - Model registry system
  • app/electron/services/worktree-manager.js - Git worktree management
  • app/electron/services/codex-cli-detector.js - Codex CLI detection
  • app/electron/services/codex-config-manager.js - Codex configuration management
  • app/electron/services/codex-executor.js - Codex execution service
  • app/electron/services/mcp-server-stdio.js - MCP server communication
  • app/src/components/ui/git-diff-panel.tsx - Git diff visualization component
  • app/src/components/ui/badge.tsx - Badge component

Modified Files

  • app/src/store/app-store.ts - Extended with profiles, worktrees, and model types
  • app/src/components/views/settings-view.tsx - Major refactor with new sections
  • app/src/components/views/board-view.tsx - Enhanced with profile support
  • app/src/components/layout/sidebar.tsx - Added keyboard shortcut for profiles navigation
  • app/src/hooks/use-keyboard-shortcuts.ts - Added profiles and addProfile shortcuts
  • app/electron/services/feature-executor.js - Multi-provider support
  • app/electron/main.js - New IPC handlers and worktree integration
  • app/src/lib/electron.ts - Extended API with new methods

Breaking Changes

None - This is a feature addition that maintains backward compatibility.

Testing

  • Test Claude CLI detection and model selection
  • Test Codex CLI detection and model execution
  • Test AI profile creation, editing, and deletion
  • Test worktree isolation and rollback functionality
  • Test profile-only mode toggle
  • Verify git diff panel displays correctly
  • Test feature execution with different profiles
  • Test keyboard shortcuts (M for profiles, N for new profile)

Migration Notes

  • Existing features will continue to work with default model settings
  • Users can optionally enable worktree isolation in settings
  • AI profiles are automatically initialized with built-in defaults
  • OpenAI API key can be added in the new Codex section of settings

Related Issues

Closes #[issue-number] (if applicable)


Note: This is a draft PR. Please review and test before marking as ready for review.

Shironex and others added 29 commits December 10, 2025 00:58
…tures

- Added a new service to detect the installation status of Claude Code CLI, providing users with installation recommendations and commands.
- Integrated CLI detection into the SettingsView to inform users about the CLI status and its benefits for ultrathink tasks.
- Enhanced feature creation and editing dialogs to allow users to select from multiple models (Haiku, Sonnet, Opus) and specify thinking levels (None, Low, Medium, High, Ultrathink).
- Updated the feature executor to utilize the selected model and thinking configuration during task execution, improving flexibility and performance.

This update enhances user experience by providing clearer options for model selection and ensuring optimal performance with the Claude CLI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
- Implemented IPC handlers for checking Codex CLI installation status, retrieving available models, and checking provider statuses.
- Enhanced the SettingsView to include OpenAI API key management and connection testing.
- Updated the feature executor to support multiple model providers (Claude and Codex), allowing for improved flexibility in feature execution.
- Introduced utility functions to determine model types and support for thinking controls.

This update enhances the application's capabilities by integrating Codex CLI support and improving model management, providing users with a more robust experience.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
…pport

# Conflicts:
#	.automaker/feature_list.json
#	app/src/components/views/board-view.tsx
#	app/src/components/views/kanban-column.tsx
#	app/src/components/views/settings-view.tsx
- Increase dialog max-width to 2xl for better content display
- Add tabbed interface to feature modal (prompt/model/testing)
- Streamline model selection with compact button layout
- Remove unused OpenAI O3/O4 models from registry
- Add model string validation and fallback logic
- Add "Uncategorized" category support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
- Fix model string validation in feature executor
- Remove hardcoded opus 4.5 references
- Update kanban card to show actual selected model
- Clean up completed feature contexts
- Standardize feature list with model/thinking fields

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
- Fixed the closure of the IPC handler in main.js to ensure proper function execution.
…and authentication checks

- Updated the FeatureExecutor to wrap content blocks in an async generator for multimodal prompt compatibility.
- Added authentication checks in the ClaudeProvider to ensure proper API key or token availability, including loading from local CLI config.
- Improved error handling for missing authentication, providing clear console messages for user guidance.

This update enhances the robustness of feature execution and ensures proper authentication management for the Claude SDK.
- Updated the model version strings for Sonnet and Haiku to reflect the correct versions (Sonnet 4.5 and Haiku 4.5).
- Ensured consistency in model naming conventions within the formatModelName function.

This change improves clarity and accuracy in model representation.
Resolved conflicts:
- feature_list.json: Merged all features from both branches
- feature-loader.js: Included both model/thinkingLevel and error fields
- board-view.tsx: Merged model/thinkingLevel and error fields, kept currentProject check
- settings-view.tsx: Merged CLI status checks with navigation/scroll code
- app-store.ts: Included both model/thinkingLevel and error fields in Feature interface

Fixed linting errors in settings-view.tsx
- Enhanced error messages in FeatureExecutor and ClaudeProvider to provide clearer guidance on missing authentication.
- Added checks for Claude CLI installation status to inform users if they need to authenticate via CLI or set environment variables.
- Improved fallback error messages to ensure users receive relevant instructions regardless of the authentication method.

These changes enhance user experience by providing more informative feedback regarding authentication issues.
Added Claude and Codex navigation items to sidebar and implemented
scroll-to functionality with proper id attributes and scroll margins.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
- Added a new CodexConfigManager to manage TOML configuration for MCP server settings.
- Introduced MCP server IPC handlers in main.js to facilitate feature status updates.
- Enhanced CodexExecutor and FeatureExecutor to configure and utilize MCP server settings.
- Created a standalone MCP server script for JSON-RPC communication with Codex CLI.
- Updated model-provider to pass MCP server configuration to the executor.

These changes enable seamless integration of the MCP server with Codex CLI, improving feature management and execution capabilities.
…e modal

Lifts image preview state up to parent components to prevent loss of preview
thumbnails when switching between tabs. Added previewMap/onPreviewMapChange
props to DescriptionImageDropZone for parent-controlled state management.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
…component

- Updated CardHeader to use a block layout and added conditional padding for better spacing.
- Modified title and description elements to handle overflow, ensuring text remains within bounds.
- Improved agent info panel layout with flex-wrap for better responsiveness.
- Enhanced summary section with overflow handling and consistent spacing for a cleaner UI.

These changes improve the overall presentation and usability of the KanbanCard component.
Add comprehensive worktree management system to enable task isolation and rollback capabilities. This allows users to revert agent changes if they don't satisfy requirements or break functionality.

Key components:
- New WorktreeManager service for branch and worktree operations
- GitDiffPanel component for visualizing changes
- Enhanced UI components with worktree integration
- Auto-mode service enhancements for worktree workflow

Modified files: worktree-manager.js, git-diff-panel.tsx, main.js, preload.js, feature-loader.js, agent-output-modal.tsx, board-view.tsx, kanban-card.tsx, electron.ts, app-store.ts, electron.d.ts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
- Add @radix-ui/react-tooltip dependency
- Implement tooltip component for better UX
- Add tooltips to branch badges with full branch names
- Convert revert button to icon-only with tooltip
- Improve button layout and spacing in waiting_approval cards
- Update feature statuses and add new profile feature

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
Add new profiles view component with sidebar integration and state management for AI provider profiles. Users can now create and manage custom AI profiles for different tasks (e.g., heavy-task with Claude Opus, debugging with Codex).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
- Integrated git worktree isolation for feature execution, allowing agents to work in isolated branches.
- Added GitDiffPanel component to visualize changes in both worktree and main project contexts.
- Updated AutoModeService and IPC handlers to support worktree settings.
- Implemented Git API for non-worktree operations, enabling file diff retrieval for the main project.
- Enhanced UI components to reflect worktree settings and improve user experience.

These changes provide a more robust and flexible environment for feature development and testing.
…eatures

- Fixed TypeScript errors across the codebase, including updates to various files for improved type safety.
- Introduced new `FileTreeNode` and `ProjectAnalysis` interfaces to support project analysis functionality.
- Added `Badge` component for UI consistency and improved visual representation.
- Enhanced `useElectronAgent` and `electron` API with additional methods for project management.
- Updated `AnalysisView` to utilize new types and improve type annotations for better clarity.

These changes contribute to a more robust and type-safe codebase, facilitating future development and analysis capabilities.
Adds a new setting to show only AI profiles by default, hiding advanced
model tweaking options (Claude SDK, thinking levels, Codex) for a cleaner
UI. Users can toggle advanced options when needed via "Show Advanced" button.

- Added showProfilesOnly setting in app store and settings view
- Modified board-view dialogs to conditionally hide advanced options
- Added toggle buttons to temporarily show advanced options in both
  add and edit feature modals
- Enhanced settings view with proper icons and descriptions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
Replace individual file status badges with grouped status summaries showing count and icon for each file type (modified, untracked, etc.). This improves UX when dealing with large changesets by reducing visual clutter.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
Wrap built-in profiles section with DndContext and SortableContext
to allow reordering of pre-configured profiles, matching the behavior
available for custom profiles.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
- Add M shortcut to navigate to AI Profiles from sidebar
- Add N shortcut to create new profile in profiles view
- Display keyboard shortcut indicators in UI

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
@Shironex Shironex marked this pull request as ready for review December 10, 2025 14:09
@Shironex Shironex merged commit 9924187 into main Dec 10, 2025
@Shironex Shironex deleted the feat/extend-models-support branch December 10, 2025 16:40
juniorcammel pushed a commit to juniorcammel/automaker that referenced this pull request Dec 29, 2025
Phase 1 complete - Document fixes for 3 MCP server bugs:
- Bug AutoMaker-Org#1: JSON format inconsistency (array vs object, IDs lost)
- Bug AutoMaker-Org#2: HTTP error handling (cryptic error messages)
- Bug AutoMaker-Org#3: Race condition in auto-test (server not found)

All bugs validated with multiple MCP server types (stdio + HTTP).
Patches available for re-application after upstream updates.

Related to upstream PR AutoMaker-Org#286 (MCP server support).
juniorcammel pushed a commit to juniorcammel/automaker that referenced this pull request Dec 29, 2025
Fixes critical issues preventing MCP servers from working properly:

Bug AutoMaker-Org#1: Add syncSuccess validation before showing success toasts
- Prevents misleading success messages when save actually failed
- Shows proper error toast if sync to disk fails

Bug AutoMaker-Org#2: Fix MCP export to use array format with preserved IDs
- Changes from object with server names as keys to array format
- Preserves server IDs and names in export JSON

Bug AutoMaker-Org#3: Improve HTTP error handling with better error messages
- Extracts error messages from response JSON when available
- Falls back to status text for better error reporting

Bug AutoMaker-Org#4: Enable MCP functionality in web mode (CRITICAL)
- Removes isElectron() check from syncSettingsToServer()
- Allows web mode to save MCP servers to disk via backend
- Without this fix, web mode cannot save any MCP configuration

All changes maintain backward compatibility with Electron mode.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
shaal added a commit to shaal/automaker that referenced this pull request Jan 15, 2026
Reverting the proxy-aware error handling changes from claude-provider.ts
to maintain fork cleanliness. The fork should not modify core AutoMaker
files so upstream updates can be merged without conflicts.

Instead of code changes, proxy error troubleshooting is now documented
in docs/cli-proxy-setup.md with a table of common errors and fixes.

Changes:
- Revert claude-provider.ts to match upstream/main exactly
- Add "Identifying Proxy Errors in AutoMaker" section to docs
- Update todo AutoMaker-Org#2 to reflect documentation approach
- Mark todo AutoMaker-Org#9 (minimize core changes) as complete

This keeps all fork changes isolated to:
- New files only (start-with-proxy.sh, docs/cli-proxy-setup.md)
- Todo tracking files in todos/

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants