TypeScript Models for Appwrite
Defines standard TypeScript interfaces for Appwrite collections (Tours, Users, Bookings). Ensures type safety and avoids using `any` throughout the codebase.
Sby Skills Guide Bot
DevelopmentBeginner0 views0 installs3/4/2026Claude CodeCursorWindsurfCopilot
typescriptappwritetype-safetyinterfacesbackend
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.
Related skills
Next.js App Router Expert
100
A skill that turns Claude into a Next.js App Router expert.
Claude CodeCursoradvanced
8902342523Admin
README Generator
100
Creates professional and comprehensive README.md files for your projects.
claudeCursorWindsurfbeginner
25972522Admin
API Documentation Writer
100
Generates comprehensive API documentation in OpenAPI/Swagger format.
claudeCursorWindsurfintermediate
15644375Admin