feat(commands): add /agent-factory:deploy command
This commit is contained in:
parent
f3a3dcd997
commit
cd74a4e8b0
1 changed files with 102 additions and 0 deletions
102
commands/deploy.md
Normal file
102
commands/deploy.md
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
---
|
||||
description: Configure deployment for your agent system. Supports /schedule (cloud), Desktop scheduled tasks, cron/launchd, systemd, and Docker.
|
||||
argument-hint: "Optional: deployment target (schedule, desktop, local, vps, docker)"
|
||||
allowed-tools: ["Read", "Write", "Edit", "Glob", "Grep", "Bash", "Agent", "AskUserQuestion"]
|
||||
---
|
||||
|
||||
You are running `/agent-factory:deploy` — a guided deployment configuration for autonomous agent systems.
|
||||
|
||||
If $ARGUMENTS specifies a target, skip to that target's section. Otherwise, ask the user to choose.
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Scan existing system
|
||||
|
||||
Read the user's agent system:
|
||||
- Glob for `.claude/agents/*.md` — list all agents with names and models
|
||||
- Glob for `.claude/skills/*/SKILL.md` and `.claude/skills/*.md` — list all skills
|
||||
- Read `.claude/settings.json` if it exists — check hook configuration
|
||||
- Check for existing automation: `automation/`, `HEARTBEAT.md`, `docker-compose.yml`
|
||||
- Read `CLAUDE.md` for project context
|
||||
|
||||
Summarize what was found before proceeding.
|
||||
|
||||
---
|
||||
|
||||
## Step 2: Choose deployment target
|
||||
|
||||
Ask using AskUserQuestion:
|
||||
"Where should your agents run? Choose a deployment target:
|
||||
|
||||
1. **Cloud (/schedule)** — Runs on Anthropic's cloud. Needs GitHub repo. No local file access. 1-hour minimum interval. Best for: PR reviews, CI triage, repo maintenance.
|
||||
2. **Desktop scheduled tasks** — Runs on your machine via Claude Code Desktop app. Local file access. 1-minute minimum interval. Best for: local automation, file processing.
|
||||
3. **Local (cron/launchd)** — Traditional scheduler. Runs headless via `claude -p`. Full local access. Best for: personal daily pipelines, development.
|
||||
4. **VPS (systemd)** — Linux server with systemd service/timer. Always-on. Best for: team pipelines, production workloads.
|
||||
5. **Docker** — Containerized agent. Portable, isolated. Best for: reproducible deployments, security isolation."
|
||||
|
||||
If `$ARGUMENTS` matches a target name, skip this question.
|
||||
|
||||
---
|
||||
|
||||
## Step 3: Configure chosen target
|
||||
|
||||
### Cloud (/schedule)
|
||||
|
||||
1. Check GitHub connection: suggest `/web-setup` if not connected
|
||||
2. Explain: "Cloud tasks clone your repo on each run. Local files are not accessible. MCP connectors provide external service access."
|
||||
3. Generate a task prompt from the user's pipeline skills
|
||||
4. Guide the user through `/schedule` to create the task
|
||||
5. Note minimum 1-hour interval
|
||||
|
||||
### Desktop scheduled tasks
|
||||
|
||||
1. Explain: "Desktop tasks run on your machine with full local file access."
|
||||
2. Guide through the Desktop app's Schedule page
|
||||
3. Configure permission mode for unattended operation
|
||||
|
||||
### Local (cron/launchd)
|
||||
|
||||
1. Read `${CLAUDE_PLUGIN_ROOT}/scripts/templates/automation.sh`
|
||||
2. Copy and customize to `automation/run-pipeline.sh`
|
||||
3. Replace SKILL_NAME with the user's pipeline name
|
||||
4. Ask: "What schedule? (e.g., daily at 07:00, every 2 hours)"
|
||||
5. For macOS: read `${CLAUDE_PLUGIN_ROOT}/scripts/templates/launchd.plist`, customize, save to `automation/`
|
||||
6. For Linux: generate cron entry
|
||||
7. Provide exact activation commands
|
||||
|
||||
### VPS (systemd)
|
||||
|
||||
1. Read `${CLAUDE_PLUGIN_ROOT}/scripts/templates/systemd-service.unit`
|
||||
2. Ask: "What Linux user runs the agent?" and "Absolute path to project?"
|
||||
3. Customize and save service + timer units to `automation/`
|
||||
4. Copy automation.sh template to `automation/run-pipeline.sh`
|
||||
5. Provide setup instructions including `systemctl enable/start`
|
||||
|
||||
### Docker
|
||||
|
||||
1. Read `${CLAUDE_PLUGIN_ROOT}/scripts/templates/docker/` templates (created in Session 6)
|
||||
2. If templates don't exist yet: generate basic Dockerfile + docker-compose.yml inline
|
||||
3. Customize with project-specific values
|
||||
4. Save to project root
|
||||
5. Provide `docker compose up -d` instructions
|
||||
|
||||
---
|
||||
|
||||
## Step 4: Verify deployment
|
||||
|
||||
For each target, provide a verification command:
|
||||
- Cloud: `/schedule list` → task visible
|
||||
- Desktop: Check Schedule page in Desktop app
|
||||
- Local: `crontab -l | grep claude` or `launchctl list | grep claude`
|
||||
- VPS: `systemctl status claude-agent`
|
||||
- Docker: `docker compose ps`
|
||||
|
||||
Use the `deployment-advisor` agent when the user needs guidance choosing between targets.
|
||||
|
||||
---
|
||||
|
||||
## Step 5: Next steps
|
||||
|
||||
Tell the user:
|
||||
- "Run `/agent-factory:status` to check your deployment"
|
||||
- "Run `/agent-factory:evaluate` to assess your system's capability coverage"
|
||||
Loading…
Add table
Add a link
Reference in a new issue