Understanding the anatomy of a RealmKit template. Learn how to organize your project files, configure metadata, and create AI-ready documentation.
A realm is a complete project template with AI-optimized documentation
Full application with all necessary files, dependencies, and configurations
Structured documentation that AI assistants can understand and use effectively
Features can be enabled/disabled based on project requirements
Standard organization for RealmKit templates
.realmkit/
directory contains metadata and AI contextai-context/
directoryThe main configuration file that defines your realm's metadata and features
# .realmkit/realm.yml
name: "saas-starter"
version: "1.0.0"
description: "Complete SaaS application starter with authentication and payments"
category: "saas"
tags:
0: "nextjs"
1: "typescript"
2: "prisma"
3: "stripe"
4: "auth"
author:
name: "RealmKit Team"
email: "team@realmkit.com"
url: "https://realmkit.com"
repository: "https://github.com/realmkit/saas-starter"
license: "MIT"
features:
auth:
enabled: true
providers: ["email","google","github"]
description: "Multi-provider authentication system"
payments:
enabled: true
provider: "stripe"
description: "Subscription and one-time payments"
database:
enabled: true
provider: "postgresql"
orm: "prisma"
description: "PostgreSQL with Prisma ORM"
scripts:
setup: "npm install && npm run db:setup"
dev: "npm run dev"
build: "npm run build"
requirements:
node: ">=18.0.0"
npm: ">=8.0.0"
name
- Unique identifierversion
- Semantic versiondescription
- Clear summarycategory
- Primary categorytags
- Searchable keywordsfeatures
- Feature flagsscripts
- Setup commandsrequirements
- DependenciesChoose clear, descriptive names that indicate the realm's purpose
Provide all necessary files for a working project
Include comprehensive README and AI context files
Use standard project structure and naming conventions
How to define configurable features in your realm
features:
auth:
enabled: true
providers: ["email", "google", "github"]
description: "Multi-provider authentication"
files:
- "src/lib/auth.ts"
- "src/pages/api/auth/[...nextauth].ts"
payments:
enabled: false # Optional feature
provider: "stripe"
description: "Payment processing with Stripe"
dependencies:
- "stripe"
- "@stripe/stripe-js"
enabled
- Whether feature is active by defaultdescription
- Clear explanation of what it doesfiles
- List of related filesdependencies
- Required packagesconfig
- Configuration optionsContinue learning about realm development