name: defining-typescript-models description: Defines standard TypeScript interfaces for Appwrite Collections. Use when creating new models for Tours, Users, or Bookings to ensure full type safety.
TypeScript Models and Interfaces
When to use this skill
- When defining the data structure for a new Appwrite collection.
- When creating props for components that data-fetch.
- To avoid using
anyacross the codebase.
Workflow
- [ ] Export interfaces from a central
types/directory. - [ ] Include standard Appwrite fields (
$id,$createdAt,$updatedAt,$permissions). - [ ] Use Enums for fields with fixed values (e.g.,
BookingStatus).
Example Template
import { Models } from 'appwrite';
export interface Tour extends Models.Document {
title: string;
description: string;
price: number;
location: string;
images: string[];
rating: number;
availableDates: string[]; // ISO Strings
}
export type BookingStatus = 'pending' | 'confirmed' | 'cancelled';
export interface Booking extends Models.Document {
userId: string;
tourId: string;
status: BookingStatus;
totalPrice: number;
}
Instructions
- Generics: Use these interfaces with Appwrite SDK methods:
databases.listDocuments<Tour>(...). - Readonly: Mark fields as
readonlyif they shouldn't be mutated by the frontend.
Skills similaires
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Claude CodeCursoradvanced
890
234
2,619
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
claudeCursorWindsurfbeginner
259
72
590
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.
claudeCursorWindsurfintermediate
156
44
451