Commit Graph

34 Commits

Author SHA1 Message Date
Kacper
d5d6cdf80f refactor(auth): enhance authentication detection and status handling
- Improved the CodexCliDetector to provide detailed logging and better error handling when reading the authentication file.
- Updated the authentication method determination in the settings and setup views to prioritize CLI-based methods over traditional API key methods.
- Expanded the CodexAuthStatus interface to include new authentication methods, ensuring accurate representation of the authentication state.
- Enhanced UI feedback in the settings view to reflect the new authentication methods, improving user experience.
2025-12-10 23:35:09 +01:00
Kacper
6086d22a44 refactor(settings-view): streamline authentication status handling
- Removed unused state variables related to shortcut editing in the settings view.
- Updated authentication status handling for Claude and Codex to use more precise type definitions, improving type safety and clarity.
- Enhanced the ElectronAPI and SetupAPI interfaces to include optional properties for stored OAuth and API keys, ensuring better alignment with the runtime API responses.
2025-12-10 23:19:09 +01:00
Kacper
6c56c1564c Merge branch 'main' of https://github.com/webdevcody/automaker
# Conflicts:
#	app/src/app/page.tsx
2025-12-10 19:18:17 +01:00
Kacper
3bd28d3084 feat(setup): implement setup wizard for CLI tools configuration
- Added a new SetupView component to guide users through the installation and authentication of Claude and Codex CLIs.
- Integrated IPC handlers for checking CLI status, installing, and authenticating both CLIs.
- Enhanced the app store to manage setup state, including first run detection and progress tracking.
- Updated the main application view to redirect to the setup wizard on first run.
- Improved user experience by providing clear instructions and feedback during the setup process.

These changes streamline the initial configuration of CLI tools, ensuring users can easily set up their development environment.
2025-12-10 19:15:29 +01:00
Cody Seibert
f9ba1c260a feat(ui): add per-project themes and fix scrolling/styling issues
- Add per-project theme support with theme selector in sidebar
- Fix file diffs scrolling in agent output modal with proper overflow handling
- Improve cursor styling across all interactive elements (buttons, tabs, checkboxes)
- Enhance hotkey styling to use consistent theme colors
- Fix Kanban board flash/refresh issues with React.memo optimizations
- Update tab component for better theme integration with proper active states

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

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
2025-12-10 12:56:24 -05:00
Kacper
02eeb1031e Merge remote-tracking branch 'origin/main' into feat/extend-models-support 2025-12-10 14:57:37 +01:00
Cody Seibert
72cc43d02f feat(feature-suggestions): implement feature suggestions and spec regeneration functionality
- Introduced a new `FeatureSuggestionsService` to analyze projects and generate feature suggestions based on the project structure and existing features.
- Added IPC handlers for generating and stopping feature suggestions, as well as checking their status.
- Implemented a `SpecRegenerationService` to create and regenerate application specifications based on user-defined project overviews and definitions.
- Enhanced the UI with a `FeatureSuggestionsDialog` for displaying generated suggestions and allowing users to import them into their project.
- Updated the sidebar and board view components to integrate feature suggestions and spec regeneration functionalities, improving project management capabilities.

These changes significantly enhance the application's ability to assist users in feature planning and specification management.
2025-12-10 08:51:33 -05:00
Kacper
55b8e6858e feat(types): resolve TypeScript errors and enhance project analysis features
- 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.
2025-12-10 13:56:33 +01:00
Kacper
7ab2aaaa23 feat(worktree): enhance worktree management and git diff functionality
- 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.
2025-12-10 13:41:52 +01:00
Kacper
a78b6763de feat(core): implement git worktree checkpoint system
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>
2025-12-10 12:28:13 +01:00
Kacper
ba4cde7328 Merge main into feat/extend-models-support
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
2025-12-10 10:25:13 +01:00
SuperComboGamer
d014a0ba4f feat(sidebar): implement trash functionality for project management
- Added a new `trashItem` method in the Electron API to move projects to the system trash.
- Enhanced the sidebar component to include a trash button and manage trashed projects.
- Implemented functionality to restore and permanently delete projects from the trash.
- Updated the application state to track trashed projects and provide user feedback through toast notifications.

This update significantly improves project management by allowing users to easily manage deleted projects without permanent loss.
2025-12-09 22:37:04 -05:00
Kacper
4b55390a01 fix(agent-context-parser): update model version strings for consistency
- 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.
2025-12-10 04:25:48 +01:00
Kacper
89c5a1688f Merge branch 'main' into feat/extend-models-support 2025-12-10 03:56:36 +01:00
Kacper
cd7d4ab138 feat(ui): improve modal UX and model management
- 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>
2025-12-10 03:27:11 +01:00
Cody Seibert
7b760090e4 feat(automaker): enhance feature management and UI components
- Updated `.gitignore` to include agent context files and user-uploaded images for better organization.
- Added "Uncategorized" category to `categories.json` for improved feature classification.
- Populated `feature_list.json` with new features, including detailed descriptions and image attachments for better context.
- Changed application icon to `icon_gold.png` for a refreshed look.
- Enhanced `AutoModeService` to support max concurrency and periodic checks, improving feature execution management.
- Updated image handling in `DescriptionImageDropZone` to save images in the project directory.
- Improved UI components with better styling and responsiveness, including drag-and-drop functionality for project management.

This update significantly enhances the feature management process and user experience within the application.
2025-12-09 21:23:09 -05:00
Kacper
6d130ca2b5 feat: add Codex CLI detection and model management APIs
- 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)
2025-12-10 03:00:15 +01:00
Kacper
dcaf96aad3 feat(cli): implement Claude CLI detection and model selection for features
- 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>
2025-12-10 00:58:50 +01:00
Kacper
6f9d90b199 feat(markdown): integrate Markdown component for enhanced text rendering
- Added a reusable Markdown component to render markdown content with styled typography for dark mode.
- Updated KanbanCard to utilize the new Markdown component for displaying feature summaries, improving readability and presentation.
- Included the `react-markdown` library as a dependency for markdown parsing.

Modified: package.json, package-lock.json, markdown.tsx, kanban-card.tsx
2025-12-09 23:49:19 +01:00
Kacper
ef0519adf9 feat(kanban): add feature summary display and agent context info
Enhance Kanban cards to show comprehensive feature information:
- Add feature summary field to display completed work details
- Show agent context info (model, progress, tasks) on cards
- Display tool usage and token consumption metrics
- Add expandable summary dialog for detailed view
- Update prompts to require summary when marking features complete
- Improve UI for waiting_approval and verified states

Modified: kanban-card.tsx, board-view.tsx, feature-loader.js,
mcp-server-factory.js, prompt-builder.js, app-store.ts
Created: agent-context-parser.ts

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

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
2025-12-09 23:27:25 +01:00
Kacper
835d1ed021 feat: enhance follow-up feature handling and improve async processing
- Implemented asynchronous follow-up work in AutoModeService to allow immediate API response, enabling smoother user experience.
- Updated BoardView to handle follow-up prompts more efficiently, including state management and success notifications.
- Adjusted mock AutoMode API to simulate background processing for follow-up tasks, aligning with real implementation behavior.

These changes streamline the workflow for sending follow-up prompts and improve the responsiveness of the UI.
2025-12-09 22:43:33 +01:00
Kacper
bfc0934ce9 feat: implement follow-up and commit features for waiting_approval status
- Added functionality to allow users to send follow-up prompts for features in the waiting_approval status, enabling continued work with additional instructions.
- Implemented a commit feature that allows users to mark waiting_approval features as verified and commit changes directly.
- Updated the UI to include buttons for follow-up and commit actions on Kanban cards and integrated dialogs for user interaction.
- Enhanced the feature loader and executor to handle the new status and actions appropriately.

This update improves the workflow for managing features that require manual review and enhances user experience in the auto mode.
2025-12-09 22:25:20 +01:00
Kacper
2c01587180 feat: improve agent output modal with parsed log viewer
Add a parsed log viewer to the agent output modal that groups and colors
log entries by type (tool calls, phases, errors, success messages, etc.)
similar to Coolify logs. Includes:

- New log-parser.ts utility for parsing agent output into structured entries
- New LogViewer component with collapsible entries and colored badges
- Toggle between Parsed and Raw view modes in the modal header
- Type-specific colors (amber for tools, cyan for phases, red for errors)
- Expand/Collapse all buttons for better navigation
- JSON content detection and formatting within entries

Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-09 21:20:25 +01:00
Cody Seibert
081f7c6007 feat: add image drag and drop to Kanban card description
Add ability to drag and drop images into the description section when creating
new Kanban cards. Images are saved to a temp directory and their paths are stored
with the feature for agent context.

- Create DescriptionImageDropZone component with drag/drop support
- Integrate with Add Feature dialog in board-view
- Add FeatureImagePath interface to track temp file paths
- Update saveFeatures to persist imagePaths
- Add saveImageToTemp to mock electron API
- Add test utilities for image upload testing

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-09 12:47:24 -05:00
Cody Seibert
9bae205312 Implement project picker keyboard shortcut and enhance feature management
- Added a new keyboard shortcut 'P' to open the project picker dropdown.
- Implemented functionality to select projects using number keys, allowing users to quickly switch between projects.
- Updated the feature list to include a new feature for project selection via keyboard shortcuts.
- Removed obsolete coding_prompt.md and added initializer_prompt.md for better session management.
- Introduced context management for features, enabling reading, writing, and deleting context files.
- Updated package dependencies to include @radix-ui/react-checkbox for enhanced UI components.

This commit enhances user experience by streamlining project selection and improves the overall feature management process.

🤖 Generated with Claude Code
2025-12-09 12:20:07 -05:00
Cody Seibert
5e606726eb Add delete confirmation dialog for kanban cards
When clicking the trash icon to delete a feature card, users now see a
confirmation dialog asking them to confirm the deletion. This prevents
accidental deletions and provides a clear cancel option.

- Added Dialog component with confirm/cancel buttons to kanban-card
- Updated mock electron API to support test feature injection via __mockFeatures
- Added test utilities for delete confirmation dialog interactions
- Fixed test infrastructure to properly load mock features

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-09 08:42:11 -05:00
Cody Seibert
188de1bbca feat(kanban): Persist categories to .automaker/categories.json
Categories are now saved to a categories.json file in the .automaker
directory. This ensures categories persist even when all feature cards
are deleted. The category autocomplete now shows suggestions from both
existing features AND the persisted categories file.

- Add persistedCategories state and load/save functions in board-view
- Merge persisted categories with feature categories for suggestions
- Auto-save categories when adding or editing features
- Update mock Electron API to handle categories.json file

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-09 08:34:54 -05:00
Cody Seibert
04b54bfadf Verify backtick shortcut for sidebar toggle with tooltip - The feature to add a backtick shortcut to toggle the left side panel was already implemented. On hover of the toggle button, a tooltip shows the shortcut info. 2025-12-09 08:13:03 -05:00
Cody Seibert
e4b45f53f3 feat: Update feature list and add project initialization utilities
- Removed obsolete feature from feature_list.json related to context file deletion.
- Added new features for keyboard shortcuts in Kanban and context management.
- Introduced project initialization utilities to create necessary .automaker directory structure and files when opening a new project.
- Updated the AgentOutputModal and other components to reference the new agents-context directory.
- Enhanced Playwright tests for context file management and project initialization.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-09 02:26:32 -05:00
Cody Seibert
edc4721927 feat(kanban): Delete agent context file when feature is verified
When an agent marks a feature as verified, the context file in
.automaker/agents-context/{featureId}.md is now automatically deleted.

Changes:
- Updated mock implementation in electron.ts to delete context files
  when simulateAutoModeLoop completes with verified status
- Added setupMockProjectWithContextFile utility function to tests/utils.ts
- Updated feature_list.json to mark feature as verified

The real implementation was already present in auto-mode-service.js:
- deleteContextFile() method removes the context file
- updateFeatureStatus() calls deleteContextFile when status="verified"

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-09 01:42:10 -05:00
Cody Seibert
f4df08f9b4 Implement context files feature - verified
- Added Context view with file list sidebar and text/image editor
- Added Context navigation item to sidebar
- Added deleteFile API method to Electron IPC
- Updated coding_prompt.md to include Step 1.5 for loading context files
- Updated mock Electron API to properly handle context directory
- Added test utilities for context view navigation

Features:
- Left panel with list of all context files
- Text editor for editing .md, .txt, and other text files
- Image preview for .png, .jpg, .gif, and other image files
- Add new text or image files via dialog
- Delete files with confirmation dialog
- Drag and drop file upload support
- Auto-save detection with Save button

All Playwright tests passing (9/9)
Deleted test file after verification

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-09 01:20:56 -05:00
Cody Seibert
2822cdfc32 Update app_spec.txt and coding_prompt.md for improved clarity and consistency
- Updated references to `app_spec.txt` and `feature_list.json` in app_spec.txt to include the correct path.
- Enhanced coding_prompt.md by incorporating testing utilities for better test management and readability.
- Added new utility functions in tests/utils.ts to streamline test interactions.

This commit aims to improve documentation accuracy and maintainability of testing practices.
2025-12-09 00:45:34 -05:00
Cody Seibert
9392422d35 Implement initial project structure and features for Automaker application, including environment setup, auto mode services, and session management. Update port configurations to 3007 and add new UI components for enhanced user interaction. 2025-12-08 21:11:00 -05:00
Cody Seibert
3c8e786f29 initial commit 2025-12-07 16:43:26 -05:00