## Why

Tool instances need configuration (API keys, settings, files) that varies by user and project. Currently there's no way to manage these configs. Users need to store LLM API keys, editor preferences, and tool-specific settings that get mounted into containers at runtime.

## What Changes

- Add ToolConfig model for storing key-value configs per user/project/tool
- Add category and interfaces fields to ToolType model
- Create API for managing tool configs (global and project-scoped)
- Mount configs into containers when starting instances
- Add OpenCode as built-in tool type with terminal interface
- Update frontend to show tool categories and interface-appropriate actions

## Capabilities

### New Capabilities
- `tool-config-management`: Store and manage tool configurations
- `tool-categories`: Categorize tools and expose appropriate interfaces

### Modified Capabilities
- `tool-types`: Add category and interfaces fields

## Impact
- Backend: New model, API endpoints, container startup changes
- Frontend: Config management UI, category display
- Database: New tool_configs table, migrations for tool_types