83f94b1f09
Add complete documentation structure: - Frontend architecture documentation - Database schema documentation - Deployment guides (Docker, Traefik, Authentik, Environment) - Development guides (Setup, Testing, Contributing, Quality Gates) - Deployment architecture documentation - Updated docs README with complete navigation All new features and APIs are now documented. Quality gates: docs only, no code changes
2.5 KiB
2.5 KiB
Tool Types
Overview
Tool types define development tools that can be spawned for projects. Headquarter includes built-in types and supports creating custom tool types with Docker Compose templates.
How to Use
Built-in Tool Types
Headquarter includes these built-in tool types:
VS Code Server
- Image:
lscr.io/linuxserver/code-server:latest - Purpose: Full VS Code in the browser
- Features: Extensions, terminal, debugging
- Access: Port 8443
Jupyter Notebook
- Image:
jupyter/scipy-notebook:latest - Purpose: Interactive Python development
- Features: Notebooks, data visualization
- Access: Port 8888
Managing Tool Types
Viewing Tool Types
- Navigate to Settings → Tool Types
- See a list of all tool types
- Built-in types are marked with a badge
Creating Custom Tool Types
- Click "New Tool Type"
- Fill in the form:
- Name: Unique identifier (e.g.,
my-custom-tool) - Display Name: Human-readable name
- Description: What this tool does
- Compose Template: Docker Compose YAML
- Name: Unique identifier (e.g.,
- Click "Create"
Compose Template Format
The compose template uses Docker Compose syntax with template variables:
version: "3.8"
services:
my-tool:
image: my-image:latest
container_name: {{TOOL_NAME}}
environment:
- VARIABLE=value
volumes:
- {{REPO_PATH}}:/workspace
ports:
- "8080:8080"
Required Variables:
{{TOOL_NAME}}- Unique name for the container{{REPO_PATH}}- Path to the repository
Validating Templates
The system validates templates:
- Must be valid YAML
- Must contain a
servicessection - Must use all required variables
- Invalid templates will be rejected
Editing Tool Types
- Find the tool type in the list
- Click "Edit"
- Update fields
- Click "Save"
Note: Built-in tool types cannot be modified or deleted.
Deleting Tool Types
- Find the tool type in the list
- Click "Delete"
- Confirm deletion
Note: Built-in tool types cannot be deleted.
API Reference
Endpoints
GET /tool-types- List tool typesPOST /tool-types- Create tool typeGET /tool-types/{id}- Get tool type detailsPUT /tool-types/{id}- Update tool typeDELETE /tool-types/{id}- Delete tool type
See Tool Types API for detailed endpoint documentation.
Related Features
- Tool Instances - Spawn and manage tool instances