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.