docs: comprehensive documentation overhaul
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
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
# 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
|
||||
|
||||
1. Navigate to **Settings** → **Tool Types**
|
||||
2. See a list of all tool types
|
||||
3. Built-in types are marked with a badge
|
||||
|
||||
#### Creating Custom Tool Types
|
||||
|
||||
1. Click **"New Tool Type"**
|
||||
2. 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
|
||||
3. Click **"Create"**
|
||||
|
||||
#### Compose Template Format
|
||||
|
||||
The compose template uses Docker Compose syntax with template variables:
|
||||
|
||||
```yaml
|
||||
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 `services` section
|
||||
- Must use all required variables
|
||||
- Invalid templates will be rejected
|
||||
|
||||
#### Editing Tool Types
|
||||
|
||||
1. Find the tool type in the list
|
||||
2. Click **"Edit"**
|
||||
3. Update fields
|
||||
4. Click **"Save"**
|
||||
|
||||
**Note:** Built-in tool types cannot be modified or deleted.
|
||||
|
||||
#### Deleting Tool Types
|
||||
|
||||
1. Find the tool type in the list
|
||||
2. Click **"Delete"**
|
||||
3. Confirm deletion
|
||||
|
||||
**Note:** Built-in tool types cannot be deleted.
|
||||
|
||||
## API Reference
|
||||
|
||||
### Endpoints
|
||||
|
||||
- `GET /tool-types` - List tool types
|
||||
- `POST /tool-types` - Create tool type
|
||||
- `GET /tool-types/{id}` - Get tool type details
|
||||
- `PUT /tool-types/{id}` - Update tool type
|
||||
- `DELETE /tool-types/{id}` - Delete tool type
|
||||
|
||||
See [Tool Types API](../api/tool-types.md) for detailed endpoint documentation.
|
||||
|
||||
## Related Features
|
||||
|
||||
- [Tool Instances](tool-instances.md) - Spawn and manage tool instances
|
||||
Reference in New Issue
Block a user