e4c5e7f2db
- Update tasks.md to mark all 140 tasks as complete - Archive tool-workshop change to openspec/changes/archive/2026-05-22-tool-workshop/
3.4 KiB
3.4 KiB
Why
The current tool system is too rigid. Tool types are hardcoded with compose templates, configs are simple key-value pairs, and the UI is a basic flat list. Users need a true "tool workshop" where they can:
- Define new tools with either Docker Compose or Dockerfile
- Configure rich tool settings including ports, commands, working directories, and volume mounts
- Create reusable config file collections (e.g., dotfiles, IDE settings) that mount into containers
- Wait for tools to be ready with configurable health/readiness probes before considering the build complete
This unlocks the platform from built-in tools to a true marketplace of user-defined and user-configured tools.
What Changes
- Enhance ToolType model: Add
dockerfile_template,readiness_probe(command + timeout),build_contextfield - Enhance ToolConfig model: Add
port_override,start_command,working_directory,environment_variables,volumes - Create ConfigFolder model: Named collections of files mountable as volumes, with per-project overrides
- Add readiness probe system: Instance creation waits for probe command with configurable timeout
- Unified Tool Workshop UI: Single page replacing
/tool-configsand/tool-typeswith:- Tool Type builder (compose or dockerfile)
- Tool Config editor (split-pane with all new fields)
- Config Folder manager (file collections with mount paths)
- Live validation and preview
- Update instance creation flow: Support dockerfile builds, mount config folders, apply readiness probes
- Database migrations: New columns on
tool_types,tool_configs; newconfig_folderstable
Capabilities
New Capabilities
tool-workshop: Unified tool definition, configuration, and deployment interfaceconfig-folders: Reusable per-user file collections mountable into containers with per-project overridesreadiness-probes: Build-time health checks that wait for tools to be ready before marking instances as running
Modified Capabilities
tool-types: Enhanced with dockerfile support, readiness probes, build contexttool-config-management: Extended with port overrides, volumes, environment variables, working directorytool-instances: Instance creation supports dockerfile builds, config folder mounts, probe waiting
Impact
- Backend:
- Models:
ToolType,ToolConfig, newConfigFolder - API: New endpoints for config folders, updated tool type/config endpoints
- Services: Docker build service (for dockerfiles), readiness probe service
- Instance creation: Dockerfile build path, volume mounting, probe execution
- Models:
- Frontend:
- New
ToolWorkshopPagecomponent (replaces/tool-configsand/tool-types) - New components: Dockerfile editor, readiness probe config, config folder manager, volume mount editor
- Updated routing and navigation
- New
- Database:
tool_types: Adddockerfile_template,readiness_probe,build_contexttool_configs: Addport_override,start_command,working_directory,environment_variables,volumes- New
config_folderstable
- User Experience: Users can now define entirely new tools, configure them richly, and reuse config collections across projects
Supersedes
This change supersedes tool-config-ui-rework which scoped only to the UI rework and basic new fields. This is a comprehensive expansion of the tool system.