1→ 2→ Autocoder+ 3→ 4→ 5→ Autocoder+ is an enhanced fork of Autocoder that adds interactive permission management, 6→ parallel dual-agent execution, terminal observation views, spec refinement with re-validation, 7→ and infrastructure discovery. It provides developers with greater control over autonomous 8→ coding agents through a sleek, modern UI while maintaining the core test-driven development 9→ workflow of the original. 10→ 11→ 12→ 13→ 14→ React 18 with TypeScript 15→ Tailwind CSS v4 (modern/sleek design system) 16→ TanStack Query for server state 17→ WebSocket for live updates 18→ Radix UI primitives 19→ 20→ 21→ Python 3.11+ 22→ FastAPI 23→ SQLite with SQLAlchemy ORM 24→ Claude Agent SDK 25→ psutil for cross-platform process control 26→ 27→ 28→ REST API for CRUD operations 29→ WebSocket for streaming logs, status, permissions 30→ MCP (Model Context Protocol) for agent-accessible tools 31→ 32→ 33→ 34→ 35→ 36→ - Python 3.11+ with pip 37→ - Node.js 18+ with npm 38→ - Claude Code CLI installed and authenticated 39→ - Git for version control 40→ 41→ 42→ 43→ 160 44→ 45→ 46→ 47→ 48→ 49→ - Can create, edit, delete projects 50→ - Can start, stop, pause agents 51→ - Can grant or deny permissions to agents 52→ - Can edit project specifications 53→ - Can view all terminal output 54→ - Can configure infrastructure 55→ 56→ 57→ - All routes require the app to be running locally (no remote access by default) 58→ 59→ 60→ 61→ 62→ Local-only access (no authentication required for local use) 63→ none 64→ 65→ 66→ Agents operate under a configurable permission system 67→ 68→ - Read/Write/Edit within project directory 69→ - Bash commands from allowlist 70→ - Feature database tools 71→ 72→ 73→ - WebSearch 74→ - WebFetch 75→ - Additional folder access 76→ - External API access 77→ - Database connections 78→ 79→ 80→ 81→ 82→ 83→ 84→ - Pre-configured permissions list per project 85→ - UI to view and edit permissions before/during agent run 86→ - Permission categories: folders, tools, external services 87→ - When agent needs unavailable permission, feature marked as "stalled" 88→ - Stalled features show reason (which permission needed) 89→ - Grant permission from UI to unstall feature 90→ - Permission changes take effect immediately for running agents 91→ - Permission presets (minimal, standard, full access) 92→ - Permission history/audit log 93→ - Import/export permission configurations 94→ 95→ 96→ 97→ - Run two agents in parallel on same project 98→ - Smart feature assignment prevents conflicts 99→ - Agent A and Agent B work on non-overlapping features 100→ - Feature dependency detection (don't assign dependent features to different agents) 101→ - File-level conflict detection (avoid features touching same files) 102→ - Coordinated git commits (sequential, not concurrent) 103→ - Agent status shown independently (running/paused/stopped/stalled) 104→ - Can start/stop/pause each agent independently 105→ - Load balancing between agents 106→ - Graceful handling when one agent crashes 107→ 108→ 109→ 110→ - Two terminal panels (one per agent) 111→ - Split-screen or tabbed view option 112→ - Real-time streaming of agent output 113→ - Color-coded output (errors in red, success in green, tools in blue) 114→ - Scrollback buffer with search 115→ - Auto-scroll with manual override 116→ - Clear terminal button 117→ - Copy output to clipboard 118→ - Permission request notifications appear in terminal 119→ - Quick-grant permission button in terminal view 120→ - Timestamp on each line 121→ - Filter by message type (info, error, tool, permission) 122→ 123→ 124→ 125→ - "Edit Spec" button accessible anytime 126→ - Full spec editor with syntax highlighting 127→ - Side-by-side diff view when editing 128→ - Save triggers re-validation analysis 129→ - Automatic detection of affected features 130→ - Affected passing features marked as "pending" for re-test 131→ - Summary of changes and affected features before confirm 132→ - Spec version history 133→ - Rollback to previous spec version 134→ - Partial spec updates (edit sections without full rewrite) 135→ 136→ 137→ 138→ - Infrastructure section in spec creation wizard 139→ - Questions about existing services (databases, servers, proxies) 140→ - Auto-discovery of local services on common ports 141→ - Connectivity test for each configured service 142→ - Store infrastructure config in project (infrastructure.yaml) 143→ - Agents receive infrastructure context 144→ - Service templates (PostgreSQL, MySQL, Redis, Nginx, etc.) 145→ - Custom service definition 146→ - Credentials stored securely (or reference to env vars) 147→ - Health check endpoints for services 148→ - Infrastructure status dashboard 149→ 150→ 151→ 152→ - Project list with status indicators 153→ - Create new project wizard 154→ - Delete project (with confirmation) 155→ - Duplicate project 156→ - Project settings panel 157→ - Progress statistics per project 158→ - Last activity timestamp 159→ - Quick actions (start, stop, edit spec) 160→ 161→ 162→ 163→ - Kanban board view (Pending, In Progress, Stalled, Done) 164→ - "Stalled" column for permission-blocked features 165→ - Feature detail modal 166→ - Feature search and filter 167→ - Bulk actions on features 168→ - Feature priority adjustment 169→ - Manual mark as passing (with confirmation) 170→ - Feature categories and tags 171→ 172→ 173→ 174→ - Sleek, modern aesthetic (not neobrutalism) 175→ - Dark mode default with light mode option 176→ - Smooth animations and transitions 177→ - Responsive design (desktop-first, tablet-friendly) 178→ - Consistent spacing and typography 179→ - Subtle shadows and depth 180→ - Clean iconography 181→ - Progress indicators with percentage 182→ - Toast notifications for actions 183→ - Keyboard shortcuts for common actions 184→ 185→ 186→ 187→ 188→ 189→ 190→ - id (integer, primary key) 191→ - name (string, unique) 192→ - path (string) 193→ - created_at (datetime) 194→ - updated_at (datetime) 195→ - spec_version (integer) 196→ 197→ 198→ - id (integer, primary key) 199→ - project_id (foreign key) 200→ - priority (integer) 201→ - category (string) 202→ - name (string) 203→ - description (text) 204→ - steps (json array) 205→ - passes (boolean) 206→ - in_progress (boolean) 207→ - stalled (boolean) 208→ - stall_reason (string, nullable) 209→ - assigned_agent (string, nullable: "A" or "B") 210→ - created_at (datetime) 211→ - updated_at (datetime) 212→ 213→ 214→ - id (integer, primary key) 215→ - project_id (foreign key) 216→ - permission_type (string: folder, tool, service) 217→ - permission_value (string) 218→ - granted (boolean) 219→ - created_at (datetime) 220→ 221→ 222→ - id (integer, primary key) 223→ - project_id (foreign key) 224→ - feature_id (foreign key, nullable) 225→ - agent_id (string: "A" or "B") 226→ - permission_type (string) 227→ - permission_value (string) 228→ - status (string: pending, granted, denied) 229→ - requested_at (datetime) 230→ - resolved_at (datetime, nullable) 231→ 232→ 233→ - id (integer, primary key) 234→ - project_id (foreign key) 235→ - service_type (string) 236→ - service_name (string) 237→ - host (string) 238→ - port (integer) 239→ - credentials_ref (string, nullable) 240→ - health_check_url (string, nullable) 241→ - last_health_check (datetime, nullable) 242→ - is_healthy (boolean) 243→ 244→ 245→ - id (integer, primary key) 246→ - project_id (foreign key) 247→ - version (integer) 248→ - content (text) 249→ - created_at (datetime) 250→ - change_summary (string, nullable) 251→ 252→ 253→ 254→ 255→ 256→ 257→ - GET /api/projects - List all projects 258→ - POST /api/projects - Create new project 259→ - GET /api/projects/{name} - Get project details 260→ - PUT /api/projects/{name} - Update project 261→ - DELETE /api/projects/{name} - Delete project 262→ - POST /api/projects/{name}/duplicate - Duplicate project 263→ 264→ 265→ - GET /api/projects/{name}/agents/status - Get both agents' status 266→ - POST /api/projects/{name}/agents/{agent_id}/start - Start agent A or B 267→ - POST /api/projects/{name}/agents/{agent_id}/stop - Stop agent 268→ - POST /api/projects/{name}/agents/{agent_id}/pause - Pause agent 269→ - POST /api/projects/{name}/agents/{agent_id}/resume - Resume agent 270→ 271→ 272→ - GET /api/projects/{name}/features - List features with filters 273→ - GET /api/projects/{name}/features/{id} - Get feature details 274→ - PUT /api/projects/{name}/features/{id} - Update feature (limited fields) 275→ - POST /api/projects/{name}/features/{id}/unstall - Clear stalled status 276→ - GET /api/projects/{name}/features/stats - Get statistics 277→ 278→ 279→ - GET /api/projects/{name}/permissions - List all permissions 280→ - POST /api/projects/{name}/permissions - Add permission 281→ - PUT /api/projects/{name}/permissions/{id} - Update permission 282→ - DELETE /api/projects/{name}/permissions/{id} - Remove permission 283→ - GET /api/projects/{name}/permission-requests - List pending requests 284→ - POST /api/projects/{name}/permission-requests/{id}/grant - Grant request 285→ - POST /api/projects/{name}/permission-requests/{id}/deny - Deny request 286→ 287→ 288→ - GET /api/projects/{name}/spec - Get current spec 289→ - PUT /api/projects/{name}/spec - Update spec (triggers re-validation) 290→ - GET /api/projects/{name}/spec/history - Get spec history 291→ - POST /api/projects/{name}/spec/rollback/{version} - Rollback to version 292→ - POST /api/projects/{name}/spec/analyze-changes - Preview impact of changes 293→ 294→ 295→ - GET /api/projects/{name}/infrastructure - List infrastructure 296→ - POST /api/projects/{name}/infrastructure - Add service 297→ - PUT /api/projects/{name}/infrastructure/{id} - Update service 298→ - DELETE /api/projects/{name}/infrastructure/{id} - Remove service 299→ - POST /api/projects/{name}/infrastructure/{id}/test - Test connectivity 300→ - POST /api/projects/{name}/infrastructure/discover - Auto-discover services 301→ 302→ 303→ - WS /ws/projects/{name} - Real-time updates (logs, status, permissions) 304→ 305→ 306→ 307→ 308→ 309→ - Header: App title, project selector, global actions 310→ - Main area: Context-dependent content (dashboard, kanban, editor) 311→ - Right panel (collapsible): Terminal views (stacked or tabbed) 312→ - Footer: Status bar with connection indicator 313→ 314→ 315→ - Dashboard: Project overview, quick stats, recent activity 316→ - Kanban: Feature board with Pending/In Progress/Stalled/Done columns 317→ - Spec Editor: Full-screen editor with preview 318→ - Permissions: Table of permissions with add/edit/delete 319→ - Infrastructure: Service list with health status 320→ - Settings: Project configuration 321→ 322→ 323→ - ProjectSelector: Dropdown with project list and create option 324→ - AgentControl: Start/stop/pause buttons for each agent 325→ - TerminalPanel: Scrolling log view with filters 326→ - FeatureCard: Compact feature display for kanban 327→ - FeatureModal: Detailed feature view with actions 328→ - PermissionEditor: Form for adding/editing permissions 329→ - SpecDiffViewer: Side-by-side spec comparison 330→ - InfrastructureCard: Service status with test button 331→ - ProgressRing: Circular progress indicator 332→ - Toast: Notification component 333→ 334→ 335→ 336→ 337→ 338→ 339→ - Background: #0f0f0f (near black) 340→ - Surface: #1a1a1a (card backgrounds) 341→ - Surface elevated: #242424 (modals, dropdowns) 342→ - Border: #2e2e2e (subtle borders) 343→ - Text primary: #ffffff 344→ - Text secondary: #a0a0a0 345→ - Accent: #3b82f6 (blue) 346→ - Success: #22c55e (green) 347→ - Warning: #f59e0b (amber) 348→ - Error: #ef4444 (red) 349→ - Stalled: #8b5cf6 (purple) 350→ 351→ 352→ - Background: #fafafa 353→ - Surface: #ffffff 354→ - Surface elevated: #ffffff 355→ - Border: #e5e5e5 356→ - Text primary: #0f0f0f 357→ - Text secondary: #6b6b6b 358→ - (Same accent colors) 359→ 360→ 361→ 362→ - Font family: Inter (sans-serif) 363→ - Monospace: JetBrains Mono (terminal, code) 364→ - Heading sizes: 2xl (32px), xl (24px), lg (20px), base (16px) 365→ - Body: 14px base, 12px small 366→ 367→ 368→ - Base unit: 4px 369→ - Padding: 8px (sm), 16px (md), 24px (lg), 32px (xl) 370→ - Border radius: 4px (sm), 8px (md), 12px (lg) 371→ 372→ 373→ - Shadows: Subtle (0 1px 3px rgba(0,0,0,0.1)) 374→ - Transitions: 150ms ease for interactions 375→ - Hover states: Slight brightness increase 376→ 377→ 378→ 379→ 380→ 381→ Core Infrastructure Setup 382→ 383→ - Set up project structure (backend, frontend directories) 384→ - Initialize FastAPI backend with SQLAlchemy 385→ - Create database models (projects, features, permissions, etc.) 386→ - Set up React frontend with Vite and TypeScript 387→ - Configure Tailwind CSS with custom design tokens 388→ - Establish WebSocket connection infrastructure 389→ 390→ 391→ 392→ Permission System 393→ 394→ - Implement permissions database table and API 395→ - Create permission editor UI component 396→ - Build permission checking logic in agent runner 397→ - Implement "stalled" feature status 398→ - Create permission request/grant flow 399→ - Add permission presets 400→ 401→ 402→ 403→ Dual Agent Execution 404→ 405→ - Extend process manager for dual agents 406→ - Implement feature assignment algorithm 407→ - Add conflict detection (file-level, dependency) 408→ - Create coordinated git commit system 409→ - Build independent agent controls in UI 410→ - Handle agent crash scenarios 411→ 412→ 413→ 414→ Terminal Views 415→ 416→ - Create terminal panel component 417→ - Implement log streaming per agent 418→ - Add color coding and filtering 419→ - Build scrollback with search 420→ - Add permission request inline notifications 421→ - Implement copy and clear functions 422→ 423→ 424→ 425→ Spec Refinement 426→ 427→ - Build spec editor with syntax highlighting 428→ - Implement diff view component 429→ - Create change impact analysis 430→ - Build feature re-validation logic 431→ - Add spec version history 432→ - Implement rollback functionality 433→ 434→ 435→ 436→ Infrastructure Discovery 437→ 438→ - Create infrastructure configuration UI 439→ - Build service connectivity tester 440→ - Implement auto-discovery for common ports 441→ - Create service templates 442→ - Add health check monitoring 443→ - Integrate with spec creation wizard 444→ 445→ 446→ 447→ Modern UI Polish 448→ 449→ - Implement dark/light mode toggle 450→ - Add smooth animations and transitions 451→ - Create responsive layouts 452→ - Build toast notification system 453→ - Add keyboard shortcuts 454→ - Final visual polish pass 455→ 456→ 457→ 458→ 459→ 460→ 461→ - All 160 features pass automated testing 462→ - Dual agents can run simultaneously without conflicts 463→ - Permission system correctly stalls/unstalls features 464→ - Spec changes properly trigger re-validation 465→ - Infrastructure connectivity tests work reliably 466→ 467→ 468→ - UI is intuitive and requires minimal learning 469→ - Actions provide clear feedback 470→ - Terminal views are responsive and readable 471→ - No UI lag or freezing during agent operations 472→ 473→ 474→ - No console errors in normal operation 475→ - API responses under 200ms for simple queries 476→ - WebSocket reconnects automatically on disconnect 477→ - Graceful error handling throughout 478→ 479→ 480→ - Consistent visual language across all components 481→ - Smooth 60fps animations 482→ - Proper dark/light mode support 483→ - Professional, modern appearance 484→ 485→ 486→ 487→ Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.