182 Commits

Author SHA1 Message Date
Mufeed VH
8af922944b feat: implement custom slash commands system
Adds a comprehensive slash command system that allows users to create and manage custom commands:

- Backend implementation in Rust for discovering, loading, and managing slash commands
- Support for both user-level (~/.claude/commands/) and project-level (.claude/commands/) commands
- YAML frontmatter support for command metadata (description, allowed-tools)
- Command namespacing with directory structure (e.g., /namespace:command)
- Detection of special features: bash commands (\!), file references (@), and arguments ($ARGUMENTS)

Frontend enhancements:
- SlashCommandPicker component with autocomplete UI and keyboard navigation
- SlashCommandsManager component for CRUD operations on commands
- Integration with FloatingPromptInput to trigger picker on "/" input
- Visual indicators for command features (bash, files, arguments)
- Grouped display by namespace with search functionality

API additions:
- slash_commands_list: Discover all available commands
- slash_command_get: Retrieve specific command by ID
- slash_command_save: Create or update commands
- slash_command_delete: Remove commands

This implementation provides a foundation for users to create reusable command templates and workflows. Commands are stored as markdown files with optional YAML frontmatter for metadata.

Addresses #127 and #134
2025-07-06 22:51:08 +05:30
Vivek R
985de02404 fix: correct file mention replacement in FloatingPromptInput
- Fix handleFileSelect to properly find @ position instead of assuming cursorPosition-1
- Replace entire @query text with selected file path instead of appending
- Add error handling for edge cases where @ symbol cannot be found
- Resolves issue where typing @READ and selecting README.md resulted in @READ@README.md

Fixes #114
2025-07-06 16:52:19 +05:30
Vivek R
4cd104b1dd refactor: Store pasted images in memory as base64 data URLs
- Remove save_clipboard_image and cleanup_temp_images backend commands
- Update FloatingPromptInput to store pasted images as data URLs in the prompt
- Update ImagePreview component to handle both file paths and data URLs
- Update extractImagePaths to properly handle quoted data URLs
- Update handleRemoveImage to handle data URL removal

This eliminates file system operations for pasted images and stores them directly
in the prompt as base64 data URLs (e.g., @"data:image/png;base64,...").
Images are now fully self-contained within the session without creating temp files.
2025-07-06 16:45:12 +05:30
Vivek R
2009601dd9 feat: Add clipboard image paste support and fix image previews in CC sessions
- Add save_clipboard_image and cleanup_temp_images commands in Rust backend
- Implement paste event handler in FloatingPromptInput to capture pasted images
- Save pasted images to .claude_temp/session_id/ directory
- Add automatic cleanup of temp images when session ends

- Fix image preview display for file paths containing spaces
- Update regex patterns to handle both quoted (@"path with spaces") and unquoted (@path) mentions
- Automatically wrap paths with spaces in quotes when inserting
- Update remove handler to properly handle both quoted and unquoted paths

Users can now paste images directly from clipboard (e.g., screenshots) and see proper previews for all image files regardless of filename format.
2025-07-06 16:35:41 +05:30
Vivek R
10628fcc82 Add AGPL-3.0 license to package.json and Cargo.toml 2025-07-06 15:19:34 +05:30
Vivek R
f94490aa6a refactor: convert project list to responsive grid layout
- Change from vertical list to responsive grid (1/2/3 columns)
- Update project page container from centered to full-width
- Improve card layout with better vertical spacing
- Simplify session count and file indicators
- Ensure cards have consistent height in grid
2025-07-06 15:19:34 +05:30
Vivek R
6b9393f4d3 feat: implement hooks system for project configuration
- Add HooksEditor component for managing project hooks
- Add ProjectSettings component for project-specific configurations
- Create hooksManager utility for hook operations
- Add hooks type definitions
- Update backend commands to support hooks functionality
- Integrate hooks into main app, agent execution, and Claude sessions
- Update API and utilities to handle hooks data
2025-07-06 15:19:34 +05:30
bfmvsa
1922ffc145 Changes size of the icon according to apple design guidelines. 2025-07-06 15:19:26 +05:30
Vivek R
8899defb97 feat: integrate Claude binary and improve build workflow
- Add predev script to build executables before starting dev server
- Configure Tauri to include claude-code as external binary
- Reorganize Tauri command handlers with clear section comments for better maintainability
- Add bun build temporary files to .gitignore

These changes enable proper Claude binary integration and ensure executables are built before development.

Fixes #136
2025-07-05 16:47:09 +05:30
Mufeed VH
19be82047b docs: add website link to project title in README
Make the Claudia title in README.md clickable by adding a link to https://claudiacode.com
2025-07-04 21:00:18 +05:30
Mufeed VH
7accf1cd03 feat(components): add comprehensive TodoReadWidget with advanced viewing capabilities
- Add TodoReadWidget component with multiple view modes (list, board, timeline, stats)
- Implement search and filtering functionality for todo items
- Add export capabilities (JSON and Markdown formats)
- Include rich UI with animations, progress tracking, and interactive elements
- Integrate TodoReadWidget into StreamMessage component for todoread tool support
- Add status indicators, dependency tracking, and completion rate calculations
2025-07-04 20:38:29 +05:30
Mufeed VH
19cf623d64 feat(agents): enhance execution control with stop functionality and improved database handling
- Refactor database path handling in agents.rs to initialize paths earlier and make them available to all async tasks
- Add immediate session ID updates to the database when session IDs are extracted
- Implement stop/cancel functionality for running agent sessions in both AgentRunOutputViewer and AgentRunView
- Improve loading states and event listener management in AgentRunOutputViewer
- Add stop button UI controls with proper styling and positioning
- Enhance error handling and logging throughout the agent execution flow
2025-07-04 20:27:12 +05:30
Mufeed VH
85dce56e04 feat(storage): add comprehensive database management interface
- Add new storage commands module with full CRUD operations
- Implement SQLite database viewer with table browsing, search, and pagination
- Add row editing, insertion, and deletion capabilities
- Include SQL query editor for advanced operations
- Add database reset functionality with confirmation dialogs
- Export storage API methods for frontend integration
- Add storage tab to settings with modern UI components
- Implement comprehensive error handling and loading states
- Add tooltips for truncated content and responsive design
- Include proper TypeScript interfaces for all data structures

This enables users to directly interact with the SQLite database through a
user-friendly interface, providing transparency and control over stored data.
2025-07-04 20:02:37 +05:30
Vivek R
680ec451cd Remove Running Sessions components from CC Agents
- Deleted RunningSessionsView.tsx file
  - Removed import and usage in CCAgents.tsx
  - Removed 'Running Sessions' tab from navigation
  - Removed activeTab state management
  - Simplified UI to show only agents list
2025-07-04 19:26:41 +05:30
Mufeed VH
7a2372dcde feat(agents): improve session ID extraction and JSONL file handling
- Fix session ID extraction to use correct field name "session_id" instead of "sessionId"
- Add comprehensive database update logging with error handling
- Implement cross-project session file search in get_session_output
- Add new load_agent_session_history command for robust JSONL loading
- Update UI components to prioritize JSONL file loading over fallback methods
- Improve error handling and logging throughout the session management flow
- Fix BufReader imports and alias conflicts in Tauri backend

This enhances the reliability of agent session tracking and output retrieval
by properly handling Claude Code's actual JSON structure and implementing
better fallback mechanisms for session data access.
2025-07-04 19:12:47 +05:30
Mufeed VH
9eeb336a8b feat(ui): enhance card hover effects with trailing border animation and fix symbol alignment
- Add trailing border effect to agent and project cards with animated conic gradient
- Fix rotating symbol vertical alignment from text-bottom to middle with position offset
- Implement CSS custom properties for smooth border animation on hover
- Maintain consistent styling across shimmer.css and styles.css files
2025-07-04 18:45:46 +05:30
Mufeed VH
9b4777978e feat(version): enhance version detection and display across sidecar and binary installations
- Implement regex-based version extraction for more reliable parsing
- Add version detection for bundled sidecar installations with proper execution
- Improve version checking for sidecar binary with timeout and error handling
- Update UI to display version with "v" prefix for consistency
- Add comprehensive logging for version detection debugging
- Handle edge cases in version extraction with fallback mechanisms
2025-07-04 18:25:06 +05:30
Mufeed VH
6ab32ea20f feat(ui): enhance loading spinner and update command configuration
- Increase rotating symbol size to 1.5rem for better visibility
- Remove inline size classes in favor of CSS-based sizing
- Add 'claude' command capability alongside 'claude-code' sidecar
- Remove deprecated externalBin configuration from tauri.conf.json
- Standardize rotating symbol styling across components

This improves the visual feedback for loading states and cleans up
the command execution configuration for better flexibility.
2025-07-04 17:58:52 +05:30
Vivek R
55220ab1f3 feat(build): standardize Claude Code version and enhance build flexibility
- Pin Claude Code version to 1.0.41 across all build scripts for consistency
- Add version parameter support to fetch-and-build.js script
- Enhance build script with improved CLI argument parsing
- Add prebuild hook to automatically build current platform executables

Changes made:
• package.json: Add --version=1.0.41 to all build:executables scripts
• package.json: Add prebuild script to run build:executables:current
• scripts/fetch-and-build.js: Add parseArguments() function for CLI parsing
• scripts/fetch-and-build.js: Add determineClaudeCodeVersion() for version resolution
• scripts/fetch-and-build.js: Update fetchClaudeCodePackage() to accept version parameter
• scripts/fetch-and-build.js: Enhance usage documentation and error messages
2025-07-04 14:20:11 +05:30
Vivek R
11d9469e49 feat(agents): Major refactor of agent execution system
- Refactored execute_agent function with comprehensive error handling
- Added new imports: Arc, Mutex for thread safety and tauri_plugin_shell
- Improved Claude binary detection and command building
- Enhanced argument handling for agent execution
- Added better process management and output streaming
- Implemented more robust error propagation and logging
- Expanded command construction with proper environment setup
- Added extensive documentation and error context
2025-07-04 14:20:07 +05:30
Vivek R
f5cefb97ba feat: implement sidecar binary support and enhance Claude execution system
- **Enhanced Claude Binary Management**: Added support for sidecar binary execution alongside system binaries
- **Improved Command Creation**: Refactored command creation logic with separate functions for sidecar and system binaries
- **Enhanced Process Management**: Better process lifecycle management with improved error handling
- **Updated Tauri Configuration**: Added shell plugin configuration and expanded security policies
- **Agent Commands**: Enhanced agent management with improved error handling and validation

- **Redesigned Claude Version Selector**: Complete UI overhaul with modern select component and better UX
- **Enhanced Settings Integration**: Improved settings page integration with new selector component
- **API Layer Updates**: Updated API calls to support new binary execution modes
- **UI Component Improvements**: Better visual feedback and loading states

- **Updated Capabilities**: Enhanced Tauri capabilities for better security and functionality
- **Documentation Updates**: Updated scripts README with new build instructions
- **Security Enhancements**: Improved CSP policies and asset protocol configuration

- Added  function to determine execution mode
- Implemented  for sidecar binary execution
- Implemented  for system binary execution
- Enhanced process management with better error handling

- Replaced radio group with modern select component
- Added visual indicators for different installation types
- Improved loading states and error feedback
- Better responsive design and accessibility

- Enhanced CSP policies for better security
- Improved asset protocol configuration
- Better error handling and validation throughout
- Optimized process management and resource usage

- 10 files modified with 647 additions and 208 deletions
- Major changes in Claude execution system and UI components
- Configuration updates for enhanced security and functionality

- All existing functionality preserved
- New sidecar binary support tested
- UI components thoroughly tested for accessibility and responsiveness
2025-07-04 03:27:57 +05:30
Vivek R
91151530a5 feat: update build script to use proper Tauri sidecar triple naming convention
- Update output file names to follow Tauri v2 sidecar naming format (name-platform-architecture)
- Use standard Rust target triples: x86_64-apple-darwin, aarch64-unknown-linux-gnu, etc.
- Fix getCurrentPlatform() to return proper target triples
- Update platform matching logic for current platform builds
- Add documentation explaining the new naming convention
- Maintain support for modern, baseline, and musl variants

Files now properly follow the Tauri sidecar binary naming standard as documented at:
https://v2.tauri.app/develop/sidecar/
2025-07-03 23:36:51 +05:30
Vivek R
526db2f925 feat(build): add comprehensive Claude Code executable build system
Add complete build infrastructure for creating single-file Claude Code executables
across all supported platforms using Bun's native compilation features.

- **Cross-platform builds**: Support for Linux (glibc/musl), macOS (Intel/ARM), Windows
- **CPU optimization variants**: Modern (AVX2+) and baseline (pre-2013) CPU support
- **Embedded assets**: All executables include yoga.wasm and ripgrep binaries
- **Optimized builds**: Minification and sourcemaps for production-ready binaries
2025-07-03 20:12:04 +05:30
Vivek R
552ae03362 docs: add CONTRIBUTING.md
Closes #109
2025-07-03 14:07:55 +05:30
Mufeed VH
f1377833b3 feat(ui): enhance timeline sidebar with slide-in animation and responsive layout
- Add slide-in animation to timeline sidebar using framer-motion
- Implement responsive layout adjustments for main content area
- Add proper timeline header with close button
- Fix floating prompt input positioning to accommodate timeline
- Reorder CSS imports for proper style precedence
- Fix animation scaling issue in rotating symbol keyframes

The timeline now slides in from the right with a smooth spring animation
and properly adjusts the main content area width on larger screens.
2025-07-02 20:49:56 +05:30
Mufeed VH
2d73a38222 refactor: remove screenshot functionality and headless_chrome dependency
Remove the screenshot capture system and associated UI components to simplify the codebase.

- Remove screenshot.rs command module and related functionality
- Remove headless_chrome dependency from Cargo.toml
- Update Cargo.lock to reflect dependency changes
- Remove screenshot handlers and UI from WebviewPreview component
- Clean up screenshot-related API calls and imports
- Remove camera icon and capture controls from preview interface

This reduces bundle size and eliminates an underutilized feature.
2025-07-02 20:29:38 +05:30
Mufeed VH
c3f39b966f feat(agents): enhance git commit bot with remote sync and conflict resolution
Add comprehensive remote repository synchronization workflow to git commit bot:
- Implement git fetch and status checking before committing
- Add automatic pull and merge conflict resolution procedures
- Include detailed merge conflict handling instructions
- Ensure local repository is up-to-date before proceeding with commits

This enhancement improves the reliability of the git commit bot by preventing
conflicts and ensuring proper synchronization with remote repositories.
2025-07-02 20:15:09 +05:30
Mufeed VH
444b2758b2 Merge remote-tracking branch 'origin/main'
Resolves merge conflicts after sandbox removal and prompt queuing implementation.
This merge combines:
- feat(ui): add prompt queuing system and improve session management (local)
- refactor: remove sandbox system and simplify agent architecture (remote)
- feat: enhance timeline UI with slide-in animation and improved layout (remote)
2025-07-02 20:06:20 +05:30
Mufeed VH
b126288797 feat(ui): add prompt queuing system and improve session management
- Add prompt queue to handle multiple prompts when Claude is processing
- Improve session reconnection with better event listener management
- Fix race conditions in session initialization and cleanup
- Replace Loader2 with rotating symbol for consistent loading states
- Remove TokenCounter integration and loading-disabled input restrictions
- Enhance cancellation logic with proper state cleanup
- Update thinking mode phrase formatting in FloatingPromptInput
- Improve UI layout with better spacing and error positioning

This enables users to queue multiple prompts without waiting for the current
one to complete, providing a smoother interaction experience.
2025-07-02 19:49:00 +05:30
Vivek R
443e8e157a feat: enhance timeline UI with slide-in animation and improved layout
- Add slide-in animation for timeline panel using framer-motion
- Implement responsive layout adjustments when timeline is open
- Add close button (X icon) to timeline header for better UX
- Wrap timeline in AnimatePresence for smooth enter/exit transitions
- Adjust main content and floating prompt input positioning when timeline is visible
- Improve timeline visual hierarchy with proper header and content sections
- Add spring animation with damping for smooth timeline panel transitions
2025-07-02 19:35:38 +05:30
Vivek R
2dfdf31b83 refactor: remove sandbox system and simplify agent architecture
Remove the entire sandbox security system including:
- All sandbox-related Rust code and dependencies (gaol crate)
- Sandbox command handlers and platform-specific implementations
- Comprehensive test suite for sandbox functionality
- Agent sandbox settings UI components

Simplify agent configuration by removing sandbox and permission fields:
- Remove sandbox_enabled, enable_file_read, enable_file_write, enable_network from agent configs
- Update all CC agents to use simplified configuration format
- Remove sandbox references from documentation and UI
2025-07-02 19:19:20 +05:30
Mufeed VH
124fe1544f fix(agents): improve session tracking accuracy with process registry cross-check
- Cross-check database running sessions with actual process registry
- Filter out stale database entries for crashed processes without cleanup
- Add comprehensive comments explaining the reliability improvements
- Fix sticky header z-index layering issue in AgentExecution component

This addresses cases where agent processes crash without properly updating
the database status, ensuring the UI shows only truly active sessions.
2025-07-02 18:34:13 +05:30
Mufeed VH
d431f3286d feat(ui): add WebFetch tool widget with comprehensive content display
- Add WebFetchWidget component with URL display, prompt handling, and content preview
- Integrate WebFetch widget into StreamMessage tool rendering pipeline
- Include loading states, error handling, and expandable content functionality
- Support both basic URL fetching and prompted analysis workflows
2025-07-02 18:26:57 +05:30
Mufeed VH
a7e17f16ec fix(agents): improve process termination with multi-layer kill strategy
Resolves #87 and #9 by implementing a robust three-tier process
termination approach:

1. ProcessRegistry kill - primary method using run_id tracking
2. ClaudeProcessState kill - fallback via stored process handle
3. System kill command - last resort using PID and OS commands

Key improvements:
- Enhanced logging throughout termination flow for better debugging
- Graceful fallback between termination methods
- Proper UI state management even when backend termination fails
- Track run_id in AgentExecution component for targeted process killing
- Comprehensive error handling with user-friendly feedback
- Consistent event emission for UI synchronization

This ensures agents can be properly stopped without requiring
application restart, addressing the core issue where STOP
requests were ignored and processes continued running.
2025-07-02 18:17:05 +05:30
Mufeed VH
e8c54d7fad feat: implement resumable Claude sessions with background execution (#93)
This comprehensive update adds support for resumable Claude Code sessions that can run in the background and be resumed later. Key improvements include:

Backend enhancements:
- Enhanced ProcessRegistry to track both agent runs and Claude sessions
- Added new Tauri commands: list_running_claude_sessions, get_claude_session_output
- Improved Claude process management with proper session ID extraction and lifecycle handling
- Enhanced cancellation logic with registry-based process killing and fallback mechanisms
- Added live output capture and storage for session persistence

Frontend improvements:
- New RunningClaudeSessions component to display and manage active sessions
- Added streaming state management and session tracking in App component
- Implemented navigation protection when Claude is actively streaming
- Enhanced ClaudeCodeSession component with streaming callbacks and session management

Configuration updates:
- Updated .gitignore to exclude documentation files (AGENTS.md, CLAUDE.md, *_TASK.md)

This feature enables users to start Claude sessions, navigate away while Claude continues processing, and resume sessions later from the Projects view, significantly improving the user experience for long-running AI interactions.
2025-07-02 18:07:14 +05:30
Mufeed VH
4fb6fd5159 actions(claude): use opus for @claude invocations 2025-06-27 16:12:12 +05:30
Mufeed VH
b3350bc364 Add Claude Code GitHub actions (#55)
* Claude PR Assistant workflow

* Claude Code Review workflow
2025-06-27 16:07:31 +05:30
Mufeed VH
ccd95330cb feat(ui): add web search widget and enhance tool widgets
- Add WebSearchWidget for displaying search results with collapsible sections and clickable links
- Enhance GrepWidget with improved result parsing, visual design, and structured display
- Replace external links in GitHubAgentBrowser with Tauri shell integration for desktop security
- Update StreamMessage to support WebSearch tool rendering
- Add ReactMarkdown support for rich text display in search results
2025-06-25 21:02:50 +05:30
Mufeed VH
915914e735 fix(tauri): add missing icon.icns to bundle configuration
Fixes the 'No matching IconType' error when running 'bun run tauri build' on macOS. The .icns file format is required for macOS application bundles but was missing from the icon array in tauri.conf.json.

Addresses: https://github.com/getAsterisk/claudia/issues/37#issuecomment-3003969906
2025-06-25 16:53:21 +05:30
Mufeed VH
b44612204e feat(ui): add thinking mode selector to floating prompt input
Add comprehensive thinking mode selection with 5 levels (Auto, Think, Think Hard, Think Harder, Ultrathink) to the FloatingPromptInput component. Features include:

- New ThinkingModeIndicator component with visual level bars
- Thinking mode picker with tooltips and descriptions
- Automatic phrase appending to prompts based on selected mode
- Brain icon integration and enhanced UI layout
- State management for thinking mode selection

This enhancement allows users to control Claude's reasoning depth directly from the prompt interface.
2025-06-25 05:24:25 +05:30
Mufeed VH
fa691dfad0 refactor(ui): clean up components and improve thinking widget design
- Remove debug console.log from StreamMessage component
- Simplify ThinkingWidget by removing unused signature parameter
- Update ThinkingWidget color scheme from purple to gray for subtlety
- Add italic styling to thinking content for better visual distinction
- Trim whitespace from thinking content display
- Streamline ThinkingWidget layout by removing unnecessary prose wrapper
2025-06-25 05:10:44 +05:30
Mufeed VH
0a70ac0146 feat(ui): enhance message rendering with thinking widget and session improvements
- Add ThinkingWidget component for displaying AI reasoning content in collapsible interface
- Improve session initialization by removing redundant event listener and enhancing ID extraction
- Enhance StreamMessage component to handle diverse content structures and thinking content
- Add comprehensive debug logging for better message structure understanding
- Fix cost display logic to handle both cost_usd and total_cost_usd fields
- Refactor user message rendering to support both nested and direct content structures
2025-06-25 04:37:16 +05:30
Mufeed VH
d8695c4096 refactor(ci): streamline build pipeline and cleanup dependencies
- Remove Rust linter step from CI workflow to speed up builds
- Remove unused gaol dependency from Cargo.toml
- Update windows-sys dependency to 0.60.2 in Cargo.lock

This simplifies the build process and reduces unnecessary dependencies
while maintaining core functionality.
2025-06-25 03:58:54 +05:30
Mufeed VH
bcffce0a08 style: apply cargo fmt across entire Rust codebase
- Remove Rust formatting check from CI workflow since formatting is now applied
- Standardize import ordering and organization throughout codebase
- Fix indentation, spacing, and line breaks for consistency
- Clean up trailing whitespace and formatting inconsistencies
- Apply rustfmt to all Rust source files including checkpoint, sandbox, commands, and test modules

This establishes a consistent code style baseline for the project.
2025-06-25 03:45:59 +05:30
Mufeed VH
bb48a32784 config(tauri): simplify icon configuration to use unified PNG format
- Replace platform-specific icon formats (icns, ico) with single icon.png
- Add icon_template.ico for development reference
- Streamlines build process across platforms
2025-06-25 03:41:17 +05:30
Mufeed VH
88cc37203b docs(cc-agents): add comprehensive README with agent catalog and usage guide
- Add detailed documentation for CC Agents feature
- Include agent catalog with Git Commit Bot, Security Scanner, and Unit Tests Bot
- Document import/export functionality and file format specifications
- Provide technical implementation details for backend and frontend
- Add contributing guidelines for community agent development
- Include visual elements with badges and structured tables for better UX
2025-06-25 03:29:09 +05:30
Mufeed VH
5b5569507d feat(sandbox): implement cross-platform support with Windows fallback
- Add conditional compilation for Unix-specific gaol sandbox functionality
- Implement Windows-compatible SandboxExecutor with no-op sandboxing
- Update ProfileBuilder to handle both Unix and Windows platforms
- Add platform-specific dependency declaration for gaol crate
- Modify agent and claude commands to use appropriate sandbox implementation
- Update test modules with conditional compilation for Unix-only tests
- Ensure graceful degradation on Windows with logging warnings

This change enables the application to build and run on Windows while
maintaining full sandbox security on Unix-like systems.
2025-06-25 03:17:33 +05:30
Mufeed VH
3dbeaa4746 refactor: clean up migration code and improve widget display formatting
- Remove obsolete migrate_agent_runs_to_session_ids function from agents commands
- Add trailing empty line removal logic to ReadResultWidget for cleaner code display
- Improve code presentation consistency in UI components
2025-06-25 03:06:13 +05:30
Mufeed VH
5e9738ca80 ci: add comprehensive build test workflow for cross-platform CI
- Add GitHub Actions workflow for automated build testing
- Support multi-platform builds (Linux, Windows, macOS)
- Include Rust formatting and linting checks
- Add Bun frontend build and caching
- Implement concurrency cancellation for efficiency
- Add build artifact upload on failure for debugging
- Include PR status comments with build results
2025-06-25 02:58:46 +05:30
Mufeed VH
c48a63f170 feat(claude-binary): implement robust version selector with enhanced binary detection
This commit provides a comprehensive solution to Claude binary detection issues
by implementing a user-friendly version selector UI and improving the binary
discovery logic. It addresses all concerns raised in multiple PRs and comments.

Changes:
- Add ClaudeVersionSelector component for selecting from multiple installations
- Update ClaudeBinaryDialog to use version selector instead of manual path input
- Fix unused variable warning in production builds (claude.rs:442)
- Improve select_best_installation to handle production build restrictions
- Add listClaudeInstallations API endpoint to fetch all available installations
- Make Claude version indicator clickable to navigate to Settings
- Move Claude installation selector to General tab in Settings (per user request)
- Enhance dialog UX with loading states and clear installation instructions
- Add Radix UI radio-group dependency for version selector

Fixes:
- Production build warning about unused claude_path variable
- Version detection failures in production builds due to process restrictions
- Poor UX when Claude binary is not found (now shows helpful dialog)
- Inability to easily switch between multiple Claude installations

This implementation takes inspiration from:
- PR #3: Version selector dropdown approach (preferred by users)
- PR #4: Binary detection improvements and path validation
- PR #39: Additional detection methods and error handling
- Commit 5a29f9a: Shared claude binary detection module architecture

Addresses feedback from:
- getAsterisk/claudia#4 (comment): User preference for dropdown selector
- Production build restrictions that prevent version detection
- Need for better error handling when Claude is not installed

The solution provides a seamless experience whether Claude is installed via:
- npm/yarn/bun global installation
- nvm-managed Node.js versions
- Homebrew on macOS
- System-wide installation
- Local user installation (~/.local/bin, etc.)

Refs: #3, #4, #39, 5a29f9a
2025-06-25 02:49:24 +05:30