Check Project Setup
Verify your project structure meets platform requirements before deployment.
Quick Verification
# Check which folders exist
test -d backend && echo "✓ backend/" || echo "✗ no backend/"
test -d frontend && echo "✓ frontend/" || echo "✗ no frontend/"
# Quick checks
test -f backend/Dockerfile && echo "✓ Backend Dockerfile exists" || echo "✗ Missing backend/Dockerfile"
test -f Dockerfile && echo "✓ Root Dockerfile exists" || echo "✗ Missing root Dockerfile"
grep -q '"build"' frontend/package.json && echo "✓ Frontend has build script" || echo "✗ Frontend missing build script"
Project Types
Fullstack (both backend/ AND frontend/ exist)
- Requires
backend/Dockerfileand/healthendpoint - Frontend must be SPA with build script
Backend-Only (Dockerfile in root)
- Requires
Dockerfilein root and/healthendpoint
Frontend-Only (package.json in root)
- Must be SPA (Next.js, React, Vue, Angular, Svelte)
Required: Health Check Endpoint
Your backend MUST implement a /health endpoint for Kubernetes readiness/liveness probes.
| Setting | Value |
|---------|-------|
| Default path | /health (configurable via healthCheckPath) |
| Success codes | HTTP 200-399 |
| Failure codes | HTTP 400-599 |
| Timeout | 10 seconds |
| Poll interval | Every 10 seconds |
Verify: grep -r "/health" backend/ or grep -r "/health" .
Example implementations - See HEALTH_ENDPOINTS.md for code examples in Go, Node.js, Python, FastAPI, Flask.
Required: Dockerfile
For fullstack: backend/Dockerfile required.
For backend-only: Dockerfile in root required.
Important: Build context is repository root. All COPY paths must be relative to repo root.
Dockerfile examples - See DOCKERFILE_EXAMPLES.md for templates in Go, Node.js, Python.
Quick Checklist
Fullstack:
- [ ]
backend/andfrontend/exist - [ ]
backend/Dockerfileexists - [ ] Backend has
/healthendpoint - [ ] Frontend is SPA with build script
Backend-Only:
- [ ]
Dockerfileexists in root - [ ] Entry point exists (main.go, package.json, app.py)
- [ ] Backend has
/healthendpoint
Frontend-Only:
- [ ]
package.jsonexists in root - [ ] Frontend is SPA with build script
All Projects:
- [ ]
.chrono/config.yamlexists (runchrono init)
Optional: Object Storage
If your app requires file upload (images, documents, etc.), enable S3 object storage.
Enable Object Storage (via MCP)
Use the configure_storage MCP tool:
{
"pipelineId": "<your-pipeline-id>",
"storageType": "object_storage",
"enabled": true
}
Response when enabled:
{
"message": "S3 Object Storage successfully enabled for pipeline",
"pipelineId": "<pipeline-id>",
"appName": "<app-name>",
"storageType": "object_storage",
"enabled": true,
"status": "enabled"
}
Environment Variables Injected
| Variable | Value | Purpose |
|----------|-------|---------|
| CHRONO_CDN_URL | https://cdn.chrono-ai.fun/{appName} | CDN base URL for accessing files |
Object Storage Checklist
- [ ] File upload functionality needed
- [ ] Use
configure_storageMCP tool to enable object storage - [ ] App uses
CHRONO_CDN_URLenv var for CDN URLs
Note: See chrono-storage skill for upload implementation examples.
Final Verification
# Fullstack
test -f backend/Dockerfile && echo "✓ PASS" || echo "✗ FAIL: Missing backend/Dockerfile"
grep -rq '"/health"' backend/ && echo "✓ PASS" || echo "✗ FAIL: Missing /health endpoint"
# Backend-only
test -f Dockerfile && echo "✓ PASS" || echo "✗ FAIL: Missing Dockerfile"
grep -rq '"/health"' . && echo "✓ PASS" || echo "✗ FAIL: Missing /health endpoint"
# Frontend-only
grep -q '"build"' package.json && echo "✓ PASS" || echo "✗ FAIL: Missing build script"
✅ PASS: Project verified successfully. Ready for deployment. ❌ FAIL: Fix issues before deploying.
Optional: Save Detection
After fixing structure:
chrono detect --save
Creates .chrono/metadata.yaml with detected configuration.
微信扫一扫