diff --git a/.automaker/claude-progress.txt b/.automaker/claude-progress.txt deleted file mode 100644 index 2791b522..00000000 --- a/.automaker/claude-progress.txt +++ /dev/null @@ -1,290 +0,0 @@ -# Automaker Development Progress - -## Session 1 - Initial Setup (December 7, 2024) - -### Accomplishments -1. **Created Next.js + Electron project structure** - - Set up Next.js with TypeScript, Tailwind CSS, and App Router - - Configured Electron main process with IPC bridge - - Created preload script for secure context isolation - -2. **Implemented Core UI Components** - - Sidebar with collapsible functionality - - Welcome view with project creation/opening - - Kanban Board view with drag-and-drop (dnd-kit) - - Spec Editor view for app_spec.txt - - Code Explorer view with file tree - - Agent Chat view (mock implementation) - -3. **Set up State Management** - - Zustand store with persist middleware - - Theme management (dark/light mode) - - Project and feature state management - -4. **Configured Testing Infrastructure** - - Playwright test framework - - 17 passing tests for foundation features - - Tests cover: app loading, sidebar, theme toggle, project dialogs, kanban board - -5. **Implemented Mock IPC for Web Development** - - Mock Electron API for browser-based development - - "Web Mode" indicator shows when running in browser - -### Features Marked as Passing (6/25) -1. Initialize the Electron application shell -2. Render Kanban columns -3. Add new feature card -4. Implement Dark Mode -5. Responsive Sidebar -6. Mock Electron for Web Dev - -### Next Steps (Priority Order) -1. Complete "Create New Project" workflow - need to verify file creation works -2. Complete "Open Existing Project" workflow - need to test with real Electron -3. Implement "Load cards from .automaker/feature_list.json" - connect to file system -4. Implement drag-and-drop persistence to .automaker/feature_list.json -5. Add Settings page for API key management -6. Integrate AI SDKs (Claude, Gemini) for agent functionality - -### Technical Notes -- Project runs on port 3000 -- Use `npm run dev:web` for browser-based development -- Use `npm run dev:electron` for full Electron mode -- All tests use Playwright with 10s timeout - -### Current Status -- 6/25 features passing (24%) -- 17/17 Playwright tests passing -- No critical bugs or console errors -- Git commit: feat: Initialize Automaker - Autonomous AI Development Studio - ---- - -## Session 2 - Project Management & Kanban Features (December 7, 2024) - -### Accomplishments -1. **Completed "Create New Project" workflow** - - Full end-to-end workflow with dialog, name/path inputs - - Creates project folder with app_spec.txt and .automaker/feature_list.json - - Navigates to board view after creation - - Project appears in recent projects list - -2. **Verified "Project List Persistence"** - - Projects persist across page reloads - - Recent projects section shows after creating projects - -3. **Implemented "Load cards from .automaker/feature_list.json"** - - Cards load from mock .automaker/feature_list.json - - Cards appear in correct columns based on passes status - - Features with passes:false go to Backlog - - Features with passes:true go to Verified - -4. **Completed "Edit card details" feature** - - Click edit button on any card to open edit dialog - - Edit category, description, and steps - - Changes persist in .automaker/feature_list.json - - Dialog pre-populates with existing data - -### Features Marked as Passing This Session -1. Create 'New Project' workflow -2. Project List Persistence -3. Load cards from .automaker/feature_list.json -4. Edit card details - -### Playwright Tests Added -- create button enables when name and path are entered -- creates project and navigates to board view -- created project appears in recent projects on welcome view -- loads cards from .automaker/feature_list.json and displays them in correct columns -- features with passes:true appear in verified column -- can edit feature card details -- edit dialog shows existing feature data - -### Next Steps (Priority Order) -1. Implement drag-and-drop persistence (update .automaker/feature_list.json on drag) -2. Implement "Open Existing Project" workflow -3. Add Settings page for API key management -4. Integrate AI SDKs (Claude, Gemini) for agent functionality - -### Technical Notes -- All 24 Playwright tests passing -- Mock IPC correctly handles file read/write operations -- Edit feature uses dynamic testid pattern for reliable selection - -### Current Status -- 10/25 features passing (40%) -- 24/24 Playwright tests passing -- No critical bugs or console errors - ---- - -### Session 2 Continued - Open Existing Project (December 7, 2024) - -### Additional Accomplishments -5. **Completed "Open Existing Project" workflow** - - Click Open Project card to trigger directory selection - - Mock prompt dialog for testing in web mode - - Project loads into dashboard with Kanban board - - Features load from mock .automaker/feature_list.json - - Recent project cards can be clicked to reopen projects - -### Additional Features Marked as Passing -5. Open 'Existing Project' workflow - -### Additional Playwright Tests Added -- opens existing project and navigates to board view -- opened project loads into dashboard with features -- can click on recent project to reopen it - -### Next Steps (Priority Order) -1. Implement drag-and-drop persistence (update .automaker/feature_list.json on drag) -2. Add Settings page for API key management -3. Integrate AI SDKs (Claude, Gemini) for agent functionality - -### Updated Current Status -- 11/25 features passing (44%) -- 27/27 Playwright tests passing -- No critical bugs or console errors - ---- - -### Session 2 Final - Settings Page (December 7, 2024) - -### Final Accomplishments -6. **Implemented "Manage API Keys" Settings page** - - Full Settings view accessible from sidebar - - Anthropic API key input with visibility toggle - - Google API key input with visibility toggle - - Keys persist to localStorage - - Security notice about local storage - - Save confirmation feedback - - Navigation back to home - -### Final Features Marked as Passing -6. Manage API Keys - -### Final Playwright Tests Added (8 new tests) -- can navigate to settings page -- shows Anthropic and Google API key inputs -- can enter and save Anthropic API key -- can enter and save Google API key -- API key inputs are password type by default -- can toggle API key visibility -- can navigate back to home from settings -- shows security notice about local storage - -### Next Steps (Priority Order) -1. Implement drag-and-drop persistence (update .automaker/feature_list.json on drag) -2. Integrate AI SDKs (Claude, Gemini) for agent functionality -3. Implement Interactive New Project Interview (AI-powered) - -### Final Session Status -- 12/25 features passing (48%) -- 35/35 Playwright tests passing -- No critical bugs or console errors -- All new features have comprehensive test coverage - ---- - -## Session 3 - Drag and Drop Implementation (December 7, 2024) - -### Accomplishments -1. **Completed "Drag and drop cards" feature** - - Verified drag-and-drop was already implemented with dnd-kit - - Added data-testid to drag handles for reliable test selection - - Added touch-none CSS class to drag handles to prevent text selection - - Feature uses PointerSensor with 8px activation distance - - moveFeature action updates status in Zustand store - - saveFeatures effect writes updated .automaker/feature_list.json to disk - -2. **Added Playwright tests for drag and drop** - - Test: "can drag card from Backlog to In Progress column" - - Test: "drag and drop updates feature status and triggers file save" - - Tests use mouse events for reliable dnd-kit interaction - - Tests verify card moves between columns visually - -3. **Fixed port conflict issues** - - Updated playwright.config.ts to use port 3002 - - Resolved lock file conflicts between Next.js instances - -### Feature Marked as Passing This Session -1. Drag and drop cards - -### Playwright Tests Added (2 new tests) -- can drag card from Backlog to In Progress column -- drag and drop updates feature status and triggers file save - -### Technical Notes -- Drag-and-drop uses dnd-kit with closestCorners collision detection -- KanbanCard uses useSortable hook -- KanbanColumn uses useDroppable hook -- handleDragEnd in BoardView calls moveFeature and triggers auto-save -- Tests use page.mouse.move with steps: 20 to properly trigger dnd-kit - -### Next Steps (Priority Order) -1. Integrate AI SDKs (Claude, Gemini) for agent functionality -2. Implement Interactive New Project Interview (AI-powered) -3. Implement agent file system tools (read, write, terminal) - -### Current Status -- 13/25 features passing (52%) -- 37/37 Playwright tests passing -- No critical bugs or console errors -- Kanban board fully functional with drag-and-drop persistence - ---- - -## Session 4 - Project Analysis Feature (December 7, 2024) - -### Accomplishments -1. **Implemented "Analyze codebase file structure" feature** - - Created new Analysis view accessible from sidebar navigation - - Added "analysis" view type to the app store - - Implemented recursive directory scanning with depth limit - - File tree parsed correctly into memory with counts - - Shows statistics: total files, total directories, files by extension - - Interactive expandable file tree display - - Ignores common non-code directories (node_modules, .git, etc.) - -2. **Added Analysis state management** - - Added `FileTreeNode` and `ProjectAnalysis` interfaces to store - - Added `projectAnalysis` and `isAnalyzing` state - - Added actions: `setProjectAnalysis`, `setIsAnalyzing`, `clearAnalysis` - -3. **Enhanced mock API for realistic testing** - - Extended mock readdir to return nested directory structure - - Mock provides src/, tests/, public/ subdirectories with files - - Returns file entries for various extensions (.ts, .tsx, .json, etc.) - -4. **Added comprehensive Playwright tests (7 new tests)** - - can navigate to analysis view when project is open - - analysis view shows 'No Analysis Yet' message initially - - shows 'Analyze Project' button - - can run project analysis - - analysis shows file tree after running - - analysis shows files by extension breakdown - - file tree displays correct structure with directories and files - -### Feature Marked as Passing This Session -1. Analyze codebase file structure - -### Files Created/Modified -- Created: `src/components/views/analysis-view.tsx` -- Modified: `src/store/app-store.ts` (added analysis types and state) -- Modified: `src/app/page.tsx` (added AnalysisView) -- Modified: `src/components/layout/sidebar.tsx` (added Analysis navigation) -- Modified: `src/lib/electron.ts` (enhanced mock readdir) -- Created: `tests/analysis.spec.ts` - -### Next Steps (Priority Order) -1. Integrate Claude 3.5 Opus SDK for AI functionality -2. Implement Interactive New Project Interview (AI-powered) -3. Implement agent file system tools (read, write, terminal) -4. Generate app_spec.txt from existing code (requires AI) -5. Generate .automaker/feature_list.json from existing code (requires AI) - -### Current Status -- 14/25 features passing (56%) -- 44/44 Playwright tests passing -- No critical bugs or console errors -- Analysis feature complete with file tree scanning and statistics diff --git a/.automaker/coding_prompt.md b/.automaker/coding_prompt.md index 111f5c30..a48f7ff4 100644 --- a/.automaker/coding_prompt.md +++ b/.automaker/coding_prompt.md @@ -20,16 +20,13 @@ cat app_spec.txt # 4. Read the feature list to see all work cat .automaker/feature_list.json | head -50 -# 5. Read progress notes from previous sessions -cat claude-progress.txt - -# 6. Read the memory file - lessons learned from previous agents +# 5. Read the memory file - lessons learned from previous agents cat .automaker/memory.md -# 7. Check recent git history +# 6. Check recent git history git log --oneline -20 -# 8. Count remaining features +# 7. Count remaining features cat .automaker/feature_list.json | grep -E '"status": "(backlog|in_progress)"' | wc -l ``` @@ -40,7 +37,7 @@ for the application you're building. ### STEP 1.5: LOAD PROJECT CONTEXT (MANDATORY) -The `.automaker/context/` directory contains additional context files that provide important information for development. Always load these files to understand: +The `.automaker/context/` directory contains user-provided context files that provide important information for development. Always load these files to understand: - Design guidelines and requirements - API documentation - Reference implementations @@ -63,6 +60,8 @@ done **Note:** Image files (.png, .jpg, etc.) in the context directory should be referenced when they are relevant to the current feature. Use them as visual references for UI implementation. +**Agent Context:** Your working context and progress for each feature is automatically saved to `.automaker/agents-context/${featureId}.md`. This is loaded automatically when resuming features - you don't need to manually load these files. + ### STEP 2: START SERVERS (IF NOT RUNNING) If `init.sh` exists, run it: @@ -238,25 +237,14 @@ git commit -m "Implement [feature name] - verified and cleaned up git push origin main ``` -### STEP 9: UPDATE PROGRESS NOTES - -Update `claude-progress.txt` with: - -- What you accomplished this session -- Which test(s) you completed -- Any issues discovered or fixed -- What should be worked on next -- Current completion status (e.g., "45/200 features verified") - -### STEP 10: END SESSION CLEANLY +### STEP 9: END SESSION CLEANLY Before context fills up: 1. Commit all working code -2. Update claude-progress.txt -3. Update .automaker/feature_list.json if tests verified -4. Ensure no uncommitted changes -5. Leave app in working state (no broken features) +2. Update .automaker/feature_list.json if tests verified +3. Ensure no uncommitted changes +4. Leave app in working state (no broken features) --- diff --git a/.automaker/feature_list.json b/.automaker/feature_list.json index c8676888..6c0b68c5 100644 --- a/.automaker/feature_list.json +++ b/.automaker/feature_list.json @@ -4,8 +4,7 @@ "category": "Kanban", "description": "Remove drag icon from cards when in in progress or verified. also add a timer that tracks how long it has been since the agent started, a count up timer basically formatted 00:00", "steps": [], - "status": "in_progress", - "startedAt": "2025-12-09T07:08:26.822Z" + "status": "in_progress" }, { "id": "feature-1765261027396-b78maajg7", @@ -19,24 +18,21 @@ "category": "Context", "description": "Add Context File should show a file name and a textarea for the context info, that text area should allow drag n drop for txt files and .md files which the system will parse and put into the text area", "steps": [], - "status": "in_progress", - "startedAt": "2025-12-09T07:04:29.353Z" + "status": "in_progress" }, { "id": "feature-1765262348401-hivjg6vuq", "category": "Kanban", "description": "Make in progress column double width so that the cards display 2 columns masonry layout", "steps": [], - "status": "in_progress", - "startedAt": "2025-12-09T07:04:18.731Z" + "status": "in_progress" }, { "id": "feature-1765262430461-vennhg2b5", "category": "Core", "description": "When the electron ui refreshes, it often redirects me back to the overview, remeber my last route and restore on app load", "steps": [], - "status": "in_progress", - "startedAt": "2025-12-09T07:04:14.040Z" + "status": "in_progress" }, { "id": "feature-1765263521367-vse4n57j8", @@ -50,15 +46,13 @@ "category": "Core", "description": "When opening a new project, verify the .automaker directory is created with necessary files and kick off an agent to analyze the project, refactor the app_spec to describe the project and it's tech stack, and any features currently implemented, also define a blank feature_list.json, create necessary context and agents-context directories, and coding_prompt.md.", "steps": [], - "status": "in_progress", - "startedAt": "2025-12-09T07:09:12.619Z" + "status": "in_progress" }, { "id": "feature-1765263831805-mr6mduv8p", "category": "Core", "description": "remove claude-progress from anywhere in code or prompts as it's no longer needed", "steps": [], - "status": "in_progress", - "startedAt": "2025-12-09T07:09:11.202Z" + "status": "verified" } ] \ No newline at end of file diff --git a/reference/README.md b/reference/README.md index 7cd95df6..b5600ca4 100644 --- a/reference/README.md +++ b/reference/README.md @@ -106,7 +106,6 @@ my_project/ ├── .automaker/feature_list.json # Test cases (source of truth) ├── app_spec.txt # Copied specification ├── init.sh # Environment setup script -├── claude-progress.txt # Session progress notes ├── .claude_settings.json # Security settings └── [application files] # Generated application code ``` diff --git a/reference/prompts/coding_prompt.md b/reference/prompts/coding_prompt.md index 7288471c..db5c9f5e 100644 --- a/reference/prompts/coding_prompt.md +++ b/reference/prompts/coding_prompt.md @@ -20,13 +20,10 @@ cat app_spec.txt # 4. Read the feature list to see all work cat .automaker/feature_list.json | head -50 -# 5. Read progress notes from previous sessions -cat claude-progress.txt - -# 6. Check recent git history +# 5. Check recent git history git log --oneline -20 -# 7. Count remaining tests +# 6. Count remaining tests cat .automaker/feature_list.json | grep '"passes": false' | wc -l ``` @@ -201,25 +198,14 @@ git commit -m "Implement [feature name] - verified and cleaned up git push origin main ``` -### STEP 9: UPDATE PROGRESS NOTES - -Update `claude-progress.txt` with: - -- What you accomplished this session -- Which test(s) you completed -- Any issues discovered or fixed -- What should be worked on next -- Current completion status (e.g., "45/200 tests passing") - -### STEP 10: END SESSION CLEANLY +### STEP 9: END SESSION CLEANLY Before context fills up: 1. Commit all working code -2. Update claude-progress.txt -3. Update .automaker/feature_list.json if tests verified -4. Ensure no uncommitted changes -5. Leave app in working state (no broken features) +2. Update .automaker/feature_list.json if tests verified +3. Ensure no uncommitted changes +4. Leave app in working state (no broken features) --- diff --git a/reference/prompts/initializer_prompt.md b/reference/prompts/initializer_prompt.md index 140e5ce7..8b29c825 100644 --- a/reference/prompts/initializer_prompt.md +++ b/reference/prompts/initializer_prompt.md @@ -99,9 +99,8 @@ the highest-priority features from .automaker/feature_list.json. Remember: Before your context fills up: 1. Commit all work with descriptive messages -2. Create `claude-progress.txt` with a summary of what you accomplished -3. Ensure .automaker/feature_list.json is complete and saved -4. Leave the environment in a clean, working state +2. Ensure .automaker/feature_list.json is complete and saved +3. Leave the environment in a clean, working state The next agent will continue from here with a fresh context window.