Development Workflow Enforcement & Automation
Development Workflow
Separation of Duties: See Separation of Duties - Getting started guides document onboarding. They do NOT own agent manifests, execution, or infrastructure configuration. Enforcement & Automation
Last Updated: 2025-01-XX
Status: Production Ready
See Branch Naming Rules for strict branch naming enforcement.
Daily Workflow Options
Option 1: Docker Compose (Local)
cd $LLM_ROOT/kagent-demo/demo && docker-compose up -d curl http://localhost:3008/health # Agent Tracer curl http://localhost:3006/health # Agent Router curl http://localhost:3003/health # Agent Mesh
Option 2: DDEV (Drupal Platform)
cd $LLM_ROOT/demo_llm-platform ddev start ddev platform status open https://llm-platform.ddev.site
Option 3: OrbStack Kubernetes
kubectl apply -f deployment/orbstack/ kubectl get pods -n development open http://192.168.139.2:4000 # Agent Router open http://192.168.139.2:6006 # Phoenix
Option 4: LLMCLI Infrastructure
llmcli infra core # Core services llmcli infra ai # AI services llmcli infra all # Full platform llmcli infra status # Check status
Worktree-Only Workflow
Setup Script
#!/bin/bash # setup-worktree.sh ISSUE_ID=$1 ISSUE_TYPE=${2:-feature} ISSUE_TITLE=$(glab issue view $ISSUE_ID --json title -q .title | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g') BRANCH_NAME="${ISSUE_TYPE}/${ISSUE_ID}-${ISSUE_TITLE}" cd ~/Sites/LLM && git worktree add "worktrees/${BRANCH_NAME}" -b "${BRANCH_NAME}" main
Pre-commit Hook
#!/bin/bash REPO_ROOT=$(git rev-parse --show-toplevel) if [[ ! "$REPO_ROOT" =~ ~/Sites/.workingtrees/LLM ]]; then echo "Commits only in worktrees!" exit 1 fi BRANCH=$(git rev-parse --abbrev-ref HEAD) if [[ "$BRANCH" == "main" ]]; then echo "Protected branch: main" exit 1 fi
Merge Train Config
workflow: rules: - if: $CI_MERGE_REQUEST_EVENT_TYPE == "merge_train" - if: $CI_MERGE_REQUEST_EVENT_TYPE == "merged_result" - if: $CI_COMMIT_BRANCH
Quality Gates
- 80%+ coverage
- Lint passing
- TypeScript strict
- No console.log
Closes #14