Loading...
Loading...
Compare original and translation side by side
autosupervisedstep_by_steppriority_basedautosupervisedstep_by_steppriority_basedmanualcronwebhookmanualcronwebhookjqcurlgitjqcurlgitsops/my-sop.md---
name: deploy-frontend
description: Deploy frontend to staging
version: "1.0.0"
priority: high
execution_mode: supervised
triggers:
- type: manual
- type: cron
expression: "0 9 * * *"
---sops/my-sop.md---
name: deploy-frontend
description: Deploy frontend to staging
version: "1.0.0"
priority: high
execution_mode: supervised
triggers:
- type: manual
- type: cron
expression: "0 9 * * *"
---cd /job && npm run buildcd /job && npm run buildcd /job && npm testcd /job && npm testecho "Deploying to staging..."echo "Deploying to staging..."curl -s https://staging.example.com/healthundefinedcurl -s https://staging.example.com/healthundefinedsop-listsop-listsop-execute deploy-frontendsop-execute deploy-frontendsop-approve <run-id>sop-approve <run-id>sop-status <run-id>sop-status <run-id>sop-listsop-listsop-execute <sop-name>
sop-execute <sop-name> --payload '{"key": "value"}'sop-execute <sop-name>
sop-execute <sop-name> --payload '{"key": "value"}'sop-approve <run-id>sop-approve <run-id>sop-reject <run-id> --reason "Not ready for deployment"sop-reject <run-id> --reason "Not ready for deployment"sop-status <run-id>sop-status <run-id>sop-runs
sop-runs --sop <sop-name>sop-runs
sop-runs --sop <sop-name>---
name: <unique-name>
description: <what this does>
version: "1.0.0"
priority: normal # low, normal, high, critical
execution_mode: supervised # auto, supervised, step_by_step, priority_based
triggers:
- type: manual
- type: cron
expression: "0 9 * * *"
- type: webhook
path: /webhook/deploy
------
name: <unique-name>
description: <what this does>
version: "1.0.0"
priority: normal # low, normal, high, critical
execution_mode: supervised # auto, supervised, step_by_step, priority_based
triggers:
- type: manual
- type: cron
expression: "0 9 * * *"
- type: webhook
path: /webhook/deploy
---command to runcommand to runanother commandundefinedanother commandundefined┌─────────────────┐
│ sop-execute │
│ (start run) │
└────────┬────────┘
│
▼
┌────────────┐
│ Auto Mode? │───Yes──► Execute All Steps
└─────┬──────┘ and Complete
│ No
▼
┌────────────┐
│ Supervised │───Wait for──►┌─────────────┐
│ Mode │ Approval │sop-approve │
└─────┬──────┘ └──────┬──────┘
│ │
▼ ▼
┌────────────┐ Execute Remaining
│StepByStep │───Wait for──► Steps One-by-One
│ Mode │ Approval with Approval Each
└───────────┘┌─────────────────┐
│ sop-execute │
│ (start run) │
└────────┬────────┘
│
▼
┌────────────┐
│ Auto Mode? │───Yes──► Execute All Steps
└─────┬──────┘ and Complete
│ No
▼
┌────────────┐
│ Supervised │───Wait for──►┌─────────────┐
│ Mode │ Approval │sop-approve │
└─────┬──────┘ └──────┬──────┘
│ │
▼ ▼
┌────────────┐ Execute Remaining
│StepByStep │───Wait for──► Steps One-by-One
│ Mode │ Approval with Approval Each
└───────────┘~/.thepopebot/sop-state/<run-id>.json{
"run_id": "run-abc123",
"sop_name": "deploy-frontend",
"status": "running",
"current_step": 2,
"started_at": "2024-01-15T09:00:00Z",
"payload": {"key": "value"},
"history": [
{"step": 1, "status": "completed", "output": "...", "timestamp": "..."},
{"step": 2, "status": "pending_approval", "output": "...", "timestamp": "..."}
]
}~/.thepopebot/sop-state/<run-id>.json{
"run_id": "run-abc123",
"sop_name": "deploy-frontend",
"status": "running",
"current_step": 2,
"started_at": "2024-01-15T09:00:00Z",
"payload": {"key": "value"},
"history": [
{"step": 1, "status": "completed", "output": "...", "timestamp": "..."},
{"step": 2, "status": "pending_approval", "output": "...", "timestamp": "..."}
]
}~/.thepopebot/sop-audit/<run-id>.json<run-id>.log~/.thepopebot/sop-audit/<run-id>.json<run-id>.log---
name: deploy-production
description: Deploy to production with approval
priority: critical
execution_mode: step_by_step
triggers:
- type: manual
------
name: deploy-production
description: Deploy to production with approval
priority: critical
execution_mode: step_by_step
triggers:
- type: manual
---npm testnpm testnpm run buildnpm run build./deploy.sh production./deploy.sh productioncurl -s https://production.example.com/healthundefinedcurl -s https://production.example.com/healthundefined---
name: process-daily-data
description: Daily data processing pipeline
priority: high
execution_mode: auto
triggers:
- type: cron
expression: "0 2 * * *"
------
name: process-daily-data
description: Daily data processing pipeline
priority: high
execution_mode: auto
triggers:
- type: cron
expression: "0 2 * * *"
---curl -o data/raw.json https://api.example.com/datacurl -o data/raw.json https://api.example.com/datanode transform.js data/raw.json > data/processed.jsonnode transform.js data/raw.json > data/processed.jsonnode validate.js data/processed.jsonnode validate.js data/processed.jsonmv data/processed.json archive/$(date +%Y%m%d).jsonundefinedmv data/processed.json archive/$(date +%Y%m%d).jsonundefined