## 1. Database & Models

- [x] 1.1 Add category and interfaces fields to ToolType model
- [x] 1.2 Create ToolConfig model with user/project/tool scopes
- [x] 1.3 Create Alembic migrations for tool_types and tool_configs

## 2. Backend - Tool Config API

- [x] 2.1 Create GET/POST/PUT/DELETE endpoints for tool configs
- [x] 2.2 Support global and project-scoped configs
- [x] 2.3 Mount configs into containers when starting instances
- [x] 2.4 Update start_instance to inject env vars and write files

## 3. Backend - Tool Type Updates

- [x] 3.1 Update ToolType API to include category and interfaces
- [x] 3.2 Update seed data with categories and interfaces
- [x] 3.3 Add OpenCode as built-in tool type

## 4. Frontend - Tool Config UI

- [x] 4.1 Create tool config management page/component
- [x] 4.2 Support env var and file config types
- [x] 4.3 Show configs per tool type with global/project toggle

## 5. Frontend - Category & Interface Support

- [x] 5.1 Display tool categories in lists
- [x] 5.2 Show interface-appropriate actions (Open for web, Terminal for CLI)
- [x] 5.3 Update instance list to check interfaces

## 6. OpenCode Integration

- [x] 6.1 Create OpenCode compose template
- [x] 6.2 Ensure terminal access works
- [x] 6.3 Mount repo and configs correctly

## 7. Quality Gates

- [x] 7.1 Run ruff and mypy
- [x] 7.2 Run frontend typecheck and lint
- [x] 7.3 Test end-to-end