# Dependencies

## Internal Dependencies

```mermaid
graph LR
    subgraph Core["Core Infrastructure"]
        Docker["docker-compose.yml\n(Container Defs)"]
        Cron["run_cronjob_every_10mins.py\n(Scheduler)"]
        Setup["skills/setup/run.sh\n(Bootstrap)"]
    end
    
    subgraph Configs["Configuration"]
        Bootstrap["agents-bootstrap/*.md"]
        Memories["memories/*/"]
        Skills["skills/*/SKILL.md"]
    end
    
    subgraph Jobs["Cronjobs"]
        AdminJobs["cronjobs/team-admin/"]
        WorkflowJobs["cronjobs/team-workflow/"]
        CodeExpertJobs["cronjobs/team-code-expert/"]
    end
    
    Docker --> Cron
    Docker --> Setup
    Setup --> Configs
    Setup --> Skills
    Cron --> AdminJobs
    Cron --> WorkflowJobs
    Cron --> CodeExpertJobs
    Configs --> Jobs
```

### docker-compose.yml depends on
- **run_cronjob_every_10mins.py**: None (runs on host independently)
- **Agents bootstrap**: Agents reference memories/ and skills/

### run_cronjob_every_10mins.py depends on
- **cronjob.json configs**: Load job definitions for each role
- **~/.bashrc**: Source for environment variables (CRONJOB_*, MINIMAX_*, GITHUB_*)

### skills/setup/run.sh depends on
- **memories/**: Source files for copying
- **skills/**: Source directories for symlinking
- **openclaw.json**: Target config for extraDirs modification

## External Dependencies

### Python Standard Library Only (No pip packages needed)
| Module | Purpose | Source |
|--------|---------|--------|
| json | Config parsing | stdlib |
| subprocess | Command execution | stdlib |
| shlex | Shell parsing | stdlib |
| datetime | Time handling | stdlib |
| pathlib | Path resolution | stdlib |
| urllib.request | HTTP calls | stdlib |
| argparse | CLI parsing | stdlib |
| os | OS operations | stdlib |

### External Services
| Service | Purpose | Access Method |
|---------|---------|---------------|
| Feishu Cloud | Messaging & notifications | HTTPS REST API |
| GitHub | PR & repo operations | GitHub App + API |
| Jira | Issue tracking | REST API |
| Grafana | Metrics & clinic | REST API |
| MiniMax | AI model inference | HTTPS REST API |

### Runtime Environment Variables
| Variable | Purpose | Set By |
|---------|---------|--------|
| MINIMAX_API_KEY | AI API key | Host environment |
| GITHUB_APP_ID | GitHub App ID (3002333) | Host environment |
| GITHUB_APP_INSTALLATION_ID | Installation ID (113867057) | Host environment |
| GITHUB_APP_PRIVATE_KEY_PATH | Path to PEM file | Host environment |
| JIRA_API_TOKEN | Jira authentication | Host environment |
| GRAFANA_API_TOKEN | Grafana authentication | Host environment |
| CRONJOB_*_APP_ID | Role-specific Feishu app ID | Host environment |
| CRONJOB_*_APP_SECRET | Role-specific Feishu app secret | Host environment |

## Third-Party Tools
| Tool | Version | Purpose |
|------|---------|---------|
| ruff | v0.8.0 | Python linting & formatting |
| pre-commit | latest | Git hooks |
| gh CLI | latest | GitHub CLI (installed by agent bootstrap) |
| docker | latest | Container runtime |
