---
name: jeremylongshore/coreweave-local-dev-loop
source: https://app.decimal.ai/s/jeremylongshore-coreweave-local-dev-loop@1/SKILL.md
source_sha256: 26a7850f1089
---

# CoreWeave Local Dev Loop

> **Community-contributed.** Not affiliated with, endorsed by, or sponsored by CoreWeave, Inc. CoreWeave is a registered trademark of CoreWeave, Inc.

## Overview

Local development workflow for CoreWeave: build containers, test YAML manifests with dry-run, push to registry, and deploy to CoreWeave CKS.

## Prerequisites

- Completed `coreweave-install-auth` setup
- Docker installed locally
- Container registry access (Docker Hub, GHCR, or CoreWeave registry)

## Instructions

### Step 1: Project Structure

```
my-inference-service/
├── Dockerfile
├── src/
│   ├── server.py          # Inference server code
│   └── model_config.py    # Model configuration
├── k8s/
│   ├── deployment.yaml    # GPU deployment manifest
│   ├── service.yaml       # Service and ingress
│   └── hpa.yaml           # Horizontal pod autoscaler
├── scripts/
│   ├── build.sh           # Build and push container
│   └── deploy.sh          # Deploy to CoreWeave
├── .env.local
└── Makefile
```

### Step 2: Build and Push Container

```bash
# Build locally
docker build -t my-inference:latest .

# Tag for registry
docker tag my-inference:latest ghcr.io/myorg/my-inference:v1.0.0

# Push
docker push ghcr.io/myorg/my-inference:v1.0.0
```

### Step 3: Validate Manifests Before Deploy

```bash
# Dry-run against CoreWeave cluster
kubectl apply -f k8s/deployment.yaml --dry-run=server

# Diff against current state
kubectl diff -f k8s/deployment.yaml

# Check resource requests match available GPU types
kubectl get nodes -l gpu.nvidia.com/class=A100_PCIE_80GB --no-headers | wc -l
```

### Step 4: Deploy and Watch

```bash
kubectl apply -f k8s/
kubectl rollout status deployment/my-inference
kubectl logs -f deployment/my-inference
```

## Error Handling

| Error | Cause | Solution |
|-------|-------|----------|
| Image pull backoff | Wrong registry or no pull secret | Create imagePullSecret |
| CUDA mismatch | Driver vs container version | Match CUDA version to node drivers |
| Dry-run fails | Invalid manifest | Fix YAML syntax |

## Resources

- [CoreWeave CKS Docs](https://docs.coreweave.com/docs/products/cks)
- [kubectl dry-run](https://kubernetes.io/docs/reference/kubectl/)

## Next Steps

See `coreweave-sdk-patterns` for inference client patterns.