feat: Enhance tool management and documentation in Castle

- Introduced category tools support in the `castle create` command.
- Added detailed guides for creating components in CLAUDE.md.
- Implemented new API endpoints for listing and retrieving tool details.
- Updated component and tool models to include additional metadata.
- Improved error handling and response structures in service actions.
- Enhanced documentation for component registry and web APIs.
This commit is contained in:
2026-02-21 00:09:34 -08:00
parent f39a551aad
commit 08c6f3fa83
34 changed files with 1748 additions and 296 deletions

View File

@@ -0,0 +1,31 @@
export const RUNNER_LABELS: Record<string, string> = {
python_uv_tool: "Python (uv)",
command: "Command",
python_module: "Python module",
container: "Container",
node: "Node.js",
remote: "Remote",
}
export const TOOL_TYPE_LABELS: Record<string, string> = {
python_standalone: "Python package",
script: "Shell script",
}
export const ROLE_DESCRIPTIONS: Record<string, string> = {
service: "Exposes HTTP endpoints",
tool: "CLI utility installed to PATH",
worker: "Background process (no HTTP)",
job: "Runs on a schedule",
frontend: "Built static assets",
remote: "Hosted externally",
containerized: "Runs in a container",
}
export function runnerLabel(runner: string): string {
return RUNNER_LABELS[runner] ?? runner
}
export function toolTypeLabel(toolType: string): string {
return TOOL_TYPE_LABELS[toolType] ?? toolType
}