> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scriptonia.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Tool Manager

> ToolManager produces meta, GitHub, and export-related artifacts.

## Purpose and Responsibilities

* Generate **meta** files: **github\_push.yaml**, **export.zip** (or its description/metadata in the tree).
* Configure external integrations: GitHub, export, and tooling.
* Coordinate with **ProductManager**, **FrontendDev**, **BackendDev**, **DevOpsEngineer** for service and export needs.

***

## Input/Output

### Input (from `generateFileContentWithAgent`)

* `file`, `requirements`, `config`, `filePath`, `workflowContext`, `existingDeliverables` — Same pattern as Product Manager. Typical paths: `meta/github_push.yaml`, `meta/export.zip`.

### Output

* **YAML** for `github_push.yaml` (repo setup, branch, secrets placeholders). For `export.zip`, the `FileDefinition` may be `type: 'code'`; the actual ZIP is produced later in the pipeline from deliverables.

***

## Prompt Engineering

* **Agent system:**\
  `"You are a Tool Manager agent. You configure external services, integrations, and tooling. Coordinate with all other agents for service requirements."`
* **Full prompt:** Same `generateFileContentWithAgent` template; content must be appropriate for GitHub and export (e.g. repo name, `GITHUB_TOKEN` placement, which folders to include).
* **Model:** `callOpenRouter(..., 'GROK', { temperature: 0.8 })`.

***

## File Assignment

`getAgentForFile` assigns to **ToolManager** when the path contains:

* `github`, `meta`, or `export`

***

## Examples

* **meta/github\_push.yaml** — Repository name, default branch, CI hints, env var placeholders. Used by GitHub upload flow.
* **meta/export.zip** — In the template this is a `FileDefinition` with `type: 'code'`; the real ZIP is built from deliverables (e.g. in `projects/generate` or the execution pipeline).

***

## Customization Options

* **Agent system:** Edit the ToolManager entry in `agentSystemPrompts` in `lib/platform-templates.ts`.
* **Assignment:** Map new paths (e.g. `slack.yaml`, `webhooks.yaml`) to ToolManager in `getAgentForFile`.
* **Templates:** Add `meta/` or `tooling/` entries in the platform `folderStructure` and ensure `getAgentForFile` matches.

***
