Commit Graph

288 Commits

Author SHA1 Message Date
Kacper
7fdc2b2fab refactor: update app specification generation and XML handling
- Enhanced instructions for generating app specifications to clarify XML output requirements.
- Updated permission mode in spec generation options to ensure read-only access.
- Improved logging to capture XML content extraction and handle potential issues with incomplete responses.
- Ensured that only valid XML is saved, avoiding conversational text from the response.
2025-12-18 13:09:50 +01:00
Kacper
a860b3cf45 Merge main into refactor/frontend
Merge latest features from main including:
- PR #161 (worktree-confusion): Clarified branch handling in dialogs
- PR #160 (speckits-rebase): Planning mode functionality

Resolved conflicts:
- add-feature-dialog.tsx: Combined TanStack Router navigation with branch selection state
- worktree-integration.spec.ts: Updated tests for new worktree behavior (created at execution time)
- package-lock.json: Regenerated after merge

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 12:00:45 +01:00
Cody Seibert
20d7fb1949 refactor: update Playwright config and worktree integration tests
- Adjusted Playwright configuration to set workers to undefined for improved test execution.
- Updated comments in worktree integration tests to clarify branch creation logic and ensure accurate assertions regarding branch and worktree paths.
2025-12-18 00:22:37 -05:00
Cody Seibert
a192eaa20f test: update worktree integration tests for branch input handling
- Added functionality to select "Other branch" in the edit feature dialog, enabling the branch input field.
- Updated the locator for the branch input from 'edit-feature-branch' to 'edit-feature-input' for consistency across tests.
2025-12-18 00:00:00 -05:00
Cody Seibert
99fe6f6497 refactor: clarify branch name handling in feature dialogs
- Updated comments in AddFeatureDialog and EditFeatureDialog to better explain the logic for determining the final branch name based on the current worktree context.
- Adjusted logic to ensure that an empty string indicates "unassigned" for primary worktrees, while allowing for the use of the current branch when applicable.
- Simplified branch name handling in useBoardActions to reflect these changes.
2025-12-17 23:38:19 -05:00
Cody Seibert
35c6beca37 fix: address PR 161 review comments
- Fix unknown status bypassing worktree filtering in use-board-column-features.ts
- Remove unused props projectPath and onWorktreeCreated from use-board-drag-drop.ts
- Fix test expecting worktreePath during edit (worktrees created at execution time)
- Remove unused setAutoModeRunning from dependency array
- Remove unused imports (BranchAutocomplete, cn)
- Fix htmlFor accessibility issue in branch-selector.tsx
- Remove empty finally block in resume-feature.ts
- Remove duplicate setTimeout state reset in create-pr-dialog.tsx
- Consolidate duplicate state reset logic in context-view.tsx
- Simplify branch name defaulting logic in use-board-actions.ts
- Fix branchName reset to null when worktree is deleted
2025-12-17 23:24:54 -05:00
Cody Seibert
f7cb92fa9d test: update status management test for auto mode service
- Modified the test to check that runningCount is 0 when no features are running, ensuring accurate status reporting.
2025-12-17 23:05:39 -05:00
Cody Seibert
b403d0d570 Merge main into worktree-confusion: resolve conflicts maintaining both sets of changes 2025-12-17 23:01:48 -05:00
Cody Seibert
c80ae3367a refactor: improve dialog and auto mode service functionality
- Refactored DialogContent component to use forwardRef for better integration with refs.
- Enhanced auto mode service by introducing an auto loop for processing features concurrently.
- Updated error handling and feature management logic to streamline operations.
- Cleaned up code formatting and improved readability across various components and services.
2025-12-17 22:45:39 -05:00
SuperComboGamer
f3dbc996d4 FINAL 2025-12-17 22:34:19 -05:00
Cody Seibert
0549b8085a feat: enhance UI components and branch management
- Added new RadioGroup and Switch components for better UI interaction.
- Introduced BranchSelector for improved branch selection in feature dialogs.
- Updated Autocomplete and BranchAutocomplete components to handle error states.
- Refactored feature management to archive verified features instead of deleting them.
- Enhanced worktree handling by removing worktreePath from features, relying on branchName instead.
- Improved auto mode functionality by integrating branch management and worktree updates.
- Cleaned up unused code and optimized existing logic for better performance.
2025-12-17 22:29:39 -05:00
SuperComboGamer
760f254f78 fix comment gemini 2025-12-17 22:20:16 -05:00
SuperComboGamer
91bff6c572 fix tests 2025-12-17 22:04:39 -05:00
Kacper
019ac56ceb feat: enhance suggestion generation with structured output and increased max turns
- Updated MAX_TURNS to allow for more iterations in suggestion generation: quick (5 to 50), standard (20 to 100), and extended (50 to 250).
- Introduced a JSON schema for structured output in suggestions, improving the format and consistency of generated suggestions.
- Modified the generateSuggestions function to utilize structured output when available, with a fallback to text parsing for compatibility.

This enhances the suggestion generation process, allowing for more thorough exploration and better output formatting.
2025-12-18 03:55:34 +01:00
SuperComboGamer
3cd6e8c13b build fix 2025-12-17 21:50:48 -05:00
SuperComboGamer
ca8341bf39 Merge remote-tracking branch 'origin/main' into implement-planning/speckits 2025-12-17 21:40:42 -05:00
SuperComboGamer
160bd8bfc7 FINSIHED 2025-12-17 21:29:36 -05:00
SuperComboGamer
0d1138dfcf feat: add task progress tracking to auto mode
- Introduced TaskProgressPanel to display task execution status in the AgentOutputModal.
- Enhanced useAutoMode hook to emit events for task start, completion, and phase completion.
- Updated AutoModeEvent type to include new task-related events.
- Implemented task parsing from generated specifications to track progress accurately.
- Improved auto mode service to handle task progress updates and emit relevant events.
2025-12-17 20:11:30 -05:00
SuperComboGamer
b112747073 feat: implement plan approval functionality in board view
- Introduced PlanApprovalDialog for reviewing and approving feature plans.
- Added state management for pending plan approvals and loading states.
- Enhanced BoardView to handle plan approval actions, including approve and reject functionalities.
- Updated KanbanCard and KanbanBoard components to include buttons for viewing and approving plans.
- Integrated plan approval logic into the auto mode service, allowing for user feedback and plan edits.
- Updated app state to manage default plan approval settings and integrate with existing feature workflows.
2025-12-17 19:39:09 -05:00
Kacper
e1c3b7528f feat: enhance root layout with navigation and theme handling
- Added useNavigate hook to facilitate programmatic navigation.
- Implemented a useEffect to redirect to the board view if a project was previously open and the root path is accessed.
- Updated theme class application to ensure proper filtering of theme options.

This improves user experience by ensuring the correct view is displayed upon navigation and enhances theme management.
2025-12-18 01:37:33 +01:00
Kacper
e78bfc80ec feat: refactor spec-view to folder pattern and add feature count selector
Closes #151

- Refactor spec-view.tsx from 1,230 lines to ~170 lines following folder-pattern.md
- Create unified CreateSpecDialog with all features from both dialogs:
  - featureCount selector (20/50/100) - was missing in spec-view
  - analyzeProject checkbox - was missing in sidebar
- Extract components: spec-header, spec-editor, spec-empty-state
- Extract hooks: use-spec-loading, use-spec-save, use-spec-generation
- Extract dialogs: create-spec-dialog, regenerate-spec-dialog
- Update sidebar to use new CreateSpecDialog with analyzeProject state
- Delete deprecated project-setup-dialog.tsx

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 00:14:44 +01:00
Kacper
3eac848d4f fix: use double quotes for git branch format string on Linux
The git branch --format option needs proper quoting to work
cross-platform. Single quotes are preserved literally on Windows,
while unquoted format strings may be misinterpreted on Linux.
Using double quotes works correctly on both platforms.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 23:03:29 +01:00
Kacper
76cb72812f fix: normalize worktree paths and update branch listing logic
- Updated the branch listing command to remove quotes around branch names, ensuring compatibility across platforms.
- Enhanced worktree path comparisons in tests to normalize path separators, improving consistency between server and client environments.
- Adjusted workspace root resolution to reflect the correct directory structure for the UI.

This addresses potential discrepancies in branch names and worktree paths, particularly on Windows systems.
2025-12-17 22:52:40 +01:00
Kacper
bfc8f9bc26 fix: use browser history in web mode for proper URL routing
The router was using memory history with initial entry "/" which caused
all routes to render the index component regardless of the browser URL.

Changes:
- Use browser history when not in Electron (for e2e tests and dev)
- Use memory history only in Electron environment
- Update test utilities to use persist version 2 to match app store

This fixes e2e tests that navigate directly to /board, /context, /spec

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 22:37:58 +01:00
Kacper
8f2e06bc32 fix: improve waitForBoardView to handle zustand hydration
The zustand store may not have hydrated from localStorage by the time
the board view first renders, causing board-view-no-project to appear
briefly. Use waitForFunction to poll until board-view appears.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 22:19:53 +01:00
Kacper
2c9f77356f fix: update e2e test navigation to use direct routes
The index route (/) now shows WelcomeView instead of auto-redirecting
to board view. Updated test utilities to navigate directly to the
correct routes:

- navigateToBoard -> /board
- navigateToContext -> /context
- navigateToSpec -> /spec
- navigateToAgent -> /agent
- navigateToSettings -> /settings
- waitForBoardView -> navigates to /board first

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 22:08:05 +01:00
Kacper
ea1b10fea6 fix: skip electron plugin in CI to prevent X11 display error
The vite-plugin-electron was trying to spawn Electron during the Vite
dev server startup, which fails in CI because there's no X11 display.

- Use Vite's function config to check command type (serve vs build)
- Only skip electron plugin during dev server (command=serve) in CI
- Always include electron plugin during build for dist-electron/main.js
- Add VITE_SKIP_ELECTRON env var support for explicit control
- Update playwright.config.ts to pass VITE_SKIP_ELECTRON in CI

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 21:48:30 +01:00
Kacper
784188cf52 fix: improve theme handling to support all themes
- index.html: Apply actual theme class instead of only 'dark'
- __root.tsx: Use themeOptions to dynamically generate theme classes
  - Fixes missing themes: cream, sunset, gray

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 21:18:54 +01:00
Kacper
1d945f4f75 fix: update API key test to use backend endpoint
- Use /api/setup/verify-claude-auth instead of removed Next.js route
- Add placeholder for Gemini test (needs backend endpoint)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 21:14:03 +01:00
Kacper
b0a9c89157 chore: add directory output options for Electron builds
- Introduced new build commands for Electron in package.json to support directory output.
- Updated CI workflow to utilize the new directory-only build command for faster execution.
2025-12-17 20:57:13 +01:00
Kacper
45eaf91cb3 chore: enhance Electron build scripts in package.json
- Added new build commands for Electron to support directory output for Windows, macOS, and Linux.
- This update improves the flexibility of the build process for different deployment scenarios.
2025-12-17 20:54:26 +01:00
Kacper
ad4da23743 Merge main into refactor/frontend
- Resolved conflicts from apps/app to apps/ui migration
- Moved worktree-panel component to apps/ui
- Moved dependency-resolver.ts to apps/ui
- Removed worktree-selector.tsx (replaced by worktree-panel)
- Merged theme updates, file browser improvements, and Gemini fixes
- Merged server dependency resolver and auto-mode-service updates

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 20:14:19 +01:00
Kacper
5136c32b68 refactor: move from next js to vite and tanstack router 2025-12-17 20:11:26 +01:00
Web Dev Cody
cffdec91f1 Merge pull request #140 from AutoMaker-Org/feature/feature-1765862386892-fyafrxpcq
redesign file browser a bit
2025-12-17 12:52:19 -05:00
Cody Seibert
d9c87f8116 fix: skip flaky file browser test in CI
- Marked the test for opening a project via file browser as skipped in CI due to its unreliability in headless environments.
- This change aims to maintain the stability of the test suite while addressing the underlying issue in future updates.
2025-12-17 12:43:16 -05:00
Web Dev Cody
acfb8d2255 Merge pull request #139 from AutoMaker-Org/themes-and-notif
added 3 new themes and modified ding notif to be less harsh on the ears
2025-12-17 12:24:28 -05:00
Web Dev Cody
fe6106e807 Merge pull request #137 from AutoMaker-Org/fix/agent-output
refactor: remove direct file saving from AgentOutputModal and impleme…
2025-12-17 12:24:14 -05:00
trueheads
2af43d7c2d fixing import of Themes to satisfy pr build 2025-12-17 09:53:57 -06:00
Cody Seibert
a7a6ff2e6c redesign file browser a bit 2025-12-17 10:52:39 -05:00
trueheads
8f598d7ce3 gemini fixes and unbreaking scroll logic 2025-12-17 09:49:12 -06:00
trueheads
7f8092264a added 3 new themes and modified ding notif to be less harsh on the ears 2025-12-17 09:37:03 -06:00
Kacper
e0471fef09 feat: enhance summary extraction to support <summary> tags
- Updated the extractSummary function to capture content between <summary> and </summary> tags for improved log parsing.
- Retained fallback logic to extract summaries from traditional ## Summary sections, ensuring backward compatibility.
2025-12-17 16:36:56 +01:00
Kacper
043edde63b refactor: implement gemini suggestions 2025-12-17 16:19:31 +01:00
Web Dev Cody
4b9a211c49 Merge pull request #138 from AutoMaker-Org/refactor-worktree
refactor worktree into smaller components
2025-12-17 09:36:31 -05:00
Kacper
b59bbd93ba feat: add TodoWrite support in log viewer for enhanced task management
- Introduced a new TodoListRenderer component to display parsed todo items with status indicators and colors.
- Implemented a parseTodoContent function to extract todo items from TodoWrite JSON content.
- Enhanced LogEntryItem to conditionally render todo items when a TodoWrite entry is detected, improving log entry clarity and usability.
- Updated UI to visually differentiate between todo item statuses, enhancing user experience in task tracking.
2025-12-17 14:54:32 +01:00
Kacper
2a782392bc feat: enhance log parsing to support <summary> tags for structured output
- Introduced support for <summary> tags in log entries, allowing for better organization and parsing of summary content.
- Updated the detectEntryType function to recognize <summary> tags as a preferred format for summaries.
- Implemented summary accumulation logic to handle content between <summary> and </summary> tags.
- Modified the prompt in auto-mode service to instruct users to wrap their summaries in <summary> tags for consistency in log output.
2025-12-17 14:33:13 +01:00
Kacper
fe56ba133e feat: enhance log viewer with tool category support and filtering
- Added tool category icons and colors for log entries based on their metadata, improving visual differentiation.
- Implemented search functionality and filters for log entry types and tool categories, allowing users to customize their view.
- Enhanced log entry parsing to include tool-specific summaries and file paths, providing more context in the logs.
- Introduced a clear filters button to reset search and category filters, improving user experience.
- Updated the log viewer UI to accommodate new features, including a sticky header for better accessibility.
2025-12-17 14:30:24 +01:00
Cody Seibert
40a3046a3b refactor worktree into smaller components 2025-12-17 08:20:00 -05:00
Kacper
266e0c54b9 refactor: remove direct file saving from AgentOutputModal and implement debounced file writing in auto-mode service
- Removed the saveOutput function from AgentOutputModal to streamline state management, ensuring local state updates without direct file writes.
- Introduced a debounced file writing mechanism in the auto-mode service to handle incremental updates to agent output, improving performance and reliability.
- Enhanced error handling during file writes to prevent execution interruptions and ensure all content is saved correctly.
2025-12-17 13:22:20 +01:00
Cody Seibert
31550ab4e7 Merge branch 'main' into feature-dependency-improvements 2025-12-17 00:23:59 -05:00