Files
thrillwiki_django_no_react/.clinerules/thrillwiki-simple.md

2.3 KiB

description, author, version, globs, tags
description author version globs tags
Condensed ThrillWiki Django project context with architecture, patterns, and mandatory Context7 integration ThrillWiki Development Team 2.1
**/*.py
**/*.html
**/*.js
**/*.css
**/*.md
django
architecture
context7-integration
thrillwiki

ThrillWiki Django Project Context

Project Overview

Theme park database platform with Django REST Framework serving 120+ API endpoints for parks, rides, companies, and users.

Core Architecture

  • Backend: Django 5.1+, DRF, PostgreSQL+PostGIS, Redis, Celery
  • Frontend: HTMX (V2+) + AlpineJS + Tailwind CSS (V4+) + Django-Cotton
    • 🚨 ABSOLUTELY NO Custom JS - use HTMX + AlpineJS ONLY
    • Clean, simple UX preferred
  • Media: Cloudflare Images with Direct Upload
  • Tracking: pghistory, TrackedModel base class
  • Choices: Rich Choice Objects (NEVER Django tuple choices)

Development Patterns

  • Models: TrackedModel inheritance, SluggedModel for slugs, PostGIS for location
  • APIs: Nested URLs (/parks/{slug}/rides/{slug}/), mandatory trailing slashes
  • Commands: uv add <package>, uv run manage.py <command> (NOT pip/python)
  • Choices: RichChoiceField(choice_group="name", domain="domain") MANDATORY

Business Rules

🚨 CRITICAL: Company role separation - Parks (OPERATOR/PROPERTY_OWNER only), Rides (MANUFACTURER/DESIGNER only)

Context7 MCP Integration (MANDATORY)

Required Libraries

tailwindcss, django, django-cotton, htmx, alpinejs, django-rest-framework, postgresql, postgis, redis

Workflow

  1. ALWAYS call Context7:resolve-library-id first
  2. Then Context7:get-library-docs with topic parameter
  3. Required for: new models/APIs, HTMX functionality, AlpineJS components, Tailwind layouts, Cotton components, debugging, optimizations

Example Topics

  • tailwindcss: responsive, flexbox, grid
  • django: models, views, forms
  • htmx: hx-get, hx-post, hx-swap, hx-target
  • alpinejs: x-data, x-show, x-if, x-for

Standards

  • All models inherit TrackedModel

  • Real database data only (NO MOCKING)

  • RichChoiceField over Django choices

  • Progressive enhancement required

  • We prefer to edit existing files instead of creating new ones.

YOU ARE STRICTLY AND ABSOLUTELY FORBIDDEN FROM IGNORING, BYPASSING, OR AVOIDING THESE RULES IN ANY WAY WITH NO EXCEPTIONS!!!