workflow-local-dev
Workflow Local Development
Quick Reference
Key Commands
| Task | Command |
|---|---|
| Check pods | kubectl get pods --context kind-kind |
| Restart component | tilt trigger workflow-<service> |
| View component logs | tilt logs workflow-<service> |
Locally Deployed Components
These workflow services are deployed locally as shared dependencies:
workflow-catalog, workflow-executions-api, workflow-engine-worker, workflow-consumer, workflow-validator, workflows-worker, standalone-tasks-worker
Utility Scripts
Execute these scripts for common operations:
Check Pod Status
bash .cursor/skills/workflow-local-dev/scripts/check-pods.sh
Restart a Service
bash .cursor/skills/workflow-local-dev/scripts/restart-service.sh <service-name>
# Example: bash .cursor/skills/workflow-local-dev/scripts/restart-service.sh catalog
Tail Service Logs
bash .cursor/skills/workflow-local-dev/scripts/tail-logs.sh <service-name>
# Example: bash .cursor/skills/workflow-local-dev/scripts/tail-logs.sh executions-api
Query Database
bash .cursor/skills/workflow-local-dev/scripts/db-query.sh "<SQL query>"
# Example: bash .cursor/skills/workflow-local-dev/scripts/db-query.sh "SELECT * FROM workflow_engine.workflows ORDER BY created_at DESC LIMIT 5"
Development Workflow
Use this flow primarily when containers fail locally or when you need to debug runtime behavior.
- Capture current status:
kubectl get pods --context kind-kind - Rebuild/restart component:
tilt trigger workflow-<service> - Watch logs or health:
kubectl logs -f <pod> --context kind-kind - Inspect configuration or data (if needed):
bash .cursor/skills/workflow-local-dev/scripts/db-query.sh "<SQL query>"
Troubleshooting
Pod Issues
kubectl get pods --context kind-kind
kubectl describe pod <pod-name> --context kind-kind
kubectl logs -f <pod-name> --context kind-kind
Temporal Workflows
Open http://localhost:8081 (Temporal UI) and search by workflow ID.
Database State
# Use the db-query script (runs psql inside the postgres pod)
bash .cursor/skills/workflow-local-dev/scripts/db-query.sh "SELECT * FROM workflow_engine.workflows ORDER BY created_at DESC LIMIT 5"
Pulsar Messages
pulsar-admin topics stats persistent://public/dap/<topic>
pulsar-client consume persistent://public/dap/<topic> -s test-sub -n 10
Using Kubernetes MCP (When Available)
If the Kubernetes MCP server is enabled, you can use MCP tools instead of shell commands for a more integrated experience. The MCP defaults to the kind-kind context.
List Pods
Tool: pods_list
Arguments: { "labelSelector": "app=workflow-catalog" }
Or list all pods:
Tool: pods_list
Arguments: {}
Get Pod Logs
Tool: pods_log
Arguments: {
"name": "workflow-catalog-xxxxx",
"namespace": "default",
"tail": 100
}
For previous container logs (after crash):
Tool: pods_log
Arguments: {
"name": "workflow-catalog-xxxxx",
"namespace": "default",
"previous": true
}
Execute Commands in Pods (e.g., Database Queries)
Tool: pods_exec
Arguments: {
"name": "postgres-xxxxx",
"namespace": "default",
"command": ["psql", "-U", "postgres", "-d", "temporal", "-c", "SELECT * FROM workflow_engine.workflows ORDER BY created_at DESC LIMIT 5"]
}
Delete Pod (Force Restart)
Tool: pods_delete
Arguments: {
"name": "workflow-catalog-xxxxx",
"namespace": "default"
}
Get Pod Details
Tool: pods_get
Arguments: {
"name": "workflow-catalog-xxxxx",
"namespace": "default"
}
List Cluster Events (Troubleshooting)
Tool: events_list
Arguments: { "namespace": "default" }
Note: When using MCP tools, you don't need to specify
contextas it defaults tokind-kind. The MCP approach is useful when you want the agent to directly interact with the cluster without spawning shell processes.
Additional Resources
- For complete service URLs and infrastructure details, see reference.md
More from lgariv-dn/frontend-skills
react-best-practices
React performance optimization guidelines from Vercel Engineering. This skill should be used proactively when writing, reviewing, or refactoring React code to ensure optimal performance patterns. Triggers on tasks involving React components, bundle optimization, or performance improvements.
37e2e-ci-debug
Debug CI E2E failures from pull requests by inspecting GitHub checks, downloading Playwright reports, and mapping failures to local Nx commands. Use when debugging failed E2E tests in PR workflows.
15yeet
Use only when the user explicitly asks to stage, commit, push, and open a GitHub pull request in one flow using the GitHub CLI (`gh`).
4pr-demo-recorder
Records scripted webreel demos of a PR's changes using the current branch's PR description, linked Jira ticket, reproduction artifacts, and newly-added Playwright E2E tests as the source of truth. Use when the user asks to "create a demo for this PR", "record a webreel for AR-XXXXX", "demo this fix/feature", "generate a demo video", "make a video of the E2E flow", "demo this epic", or "record a visual for this change". Handles single-concern PRs, large multi-concern PRs, and epic-level demos with one or many videos. Always plans scope, flow, data source, and format with the user via AskUserQuestion before recording — never records unprompted.
1