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.
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
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.
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))