Building full-stack features in Toygres from UI to database. Use when adding new features, API endpoints, React components, or implementing end-to-end functionality. Use when this capability is needed.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Building full-stack features in Toygres from UI to database. Use when adding new features, API endpoints, React components, or implementing end-to-end functionality. Use when this capability is needed.
metadata
{"author":"affandar"}
Full-Stack Feature Development
Overview
Adding a complete feature from UI to database in Toygres.
Checklist
Database migration (if new data)
Activity (if durable operation needed)
Orchestration (if multi-step workflow)
API endpoint in toygres-server/src/api.rs
TypeScript types in toygres-ui/src/lib/types.ts
API function in toygres-ui/src/lib/api.ts
UI component update
Build both: cargo build --workspace && cd toygres-ui && npm run build
Deploy: ./deploy/deploy-to-aks.sh --https
Image Type Notes
pg_durable is a built-in special mode — it is NOT a user-uploadable runtime image.
When adding runtime image support:
Runtime images from ACR are always deployed in stock mode
Only the built-in pg_durable uses special env vars and pg_hba.conf configuration
Force image_type = 'stock' when a runtime_image_id is provided
API Endpoint Pattern
// In toygres-server/src/api.rsasyncfnmy_endpoint(
State(state): State<AppState>,
Path(name): Path<String>,
) ->Result<Json<serde_json::Value>, AppError> {
// Your logic hereOk(Json(serde_json::json!({
"success": true,
"message": "Operation completed"
})))
}
// Add route in create_router():
.route("/api/instances/:name/my-action", post(my_endpoint))