# .cursorrules
# Purpose:
# This file defines coding, design, and generation rules for the Imagi Oasis platform.
# It ensures consistency, adherence to best practices, and a streamlined development process.
# Company Overview:
# Imagi is a natural language to code platform. Its flagship product, Imagi Oasis, empowers users to build full-stack web applications through natural language prompts.
# Imagi Oasis leverages cutting-edge AI agents on the backend to construct dynamic web applications, enabling users to seamlessly translate their vision into functional code.
# Core Directives:
# 1. Always generate complete, self-contained files, including all necessary imports, dependencies, and boilerplate code.
# 2. Write clean, maintainable, and secure code following best practices for both Python/Django and Vue.js.
# 3. Include tests for both the Django backend and Vue.js frontend to ensure functionality and reliability.
# 4. Use clear, descriptive naming conventions and comments to enhance code readability.
# Project Structure:
# - The Imagi platform is structured into two main components:
# * `Imagi/frontend/VueJS`: Vue.js frontend for building responsive and dynamic UIs.
# * `Imagi/backend/django`: Django backend for managing business logic, APIs, and user data.
# - User-specific projects: `~/startups/oasis_projects/<user_id>/<project_name>/`
# * Standalone Django projects.
# * Each project contains templates (HTML) and static files (CSS, JS) in appropriate directories.
# * Minimal Django views and URL configurations are included to render generated pages.
# Apps Overview:
# - **Auth App**:
# * Handles user authentication (login, signup).
# * Uses Django's authentication system to authenticate users.
# * Future integration with OAuth is planned.
# - **Builder App**:
# * Core functionality of Imagi Oasis, enabling natural language to code generation.
# * Modes:
# - Chat Mode: Discuss design decisions.
# - Build Mode: Generate web pages.
# * Manages HTML, CSS, and minimal Django files for user projects.
# - **Home App**:
# * Hosts landing and static marketing content.
# * Links to other platform features.
# - **Payments App**:
# * Integrates Stripe for purchasing AI/API credits.
# * Associates credits with user accounts securely.
# - **Agents App**:
# * Manages backend AI agent workflows.
# * Tracks conversation history and system prompts sent to AI models.
# * Integrates with GPT-4 and other AI models for web app generation.
# - **ProjectManager App**:
# * Handles the lifecycle of user projects.
# * Manages project organization, directory creation, and file handling.
# Frontend Details:
# - **Framework**: Vue.js
# - **API Calls**: Use Axios for handling API requests.
# - **State Management**: Pinia stores are used to manage application state.
# - **Styling**:
# * Use **Tailwind CSS** for styling and layout, adhering to its utility-first design philosophy.
# * Include a global Tailwind configuration file (`tailwind.config.js`) for custom theme extensions and consistent design tokens.
# * Avoid inline styles; utilize Tailwind's utility classes instead for concise and scalable CSS.
# - **Design Principles**:
# * Follow component-based architecture for reusability and modularity.
# * Ensure responsiveness and accessibility across devices and browsers.
# Backend Details:
# - **Framework**: Django
# - **API Design**:
# * Handle API calls from the Vue.js frontend using **Django REST Framework (DRF)**.
# * Follow RESTful API design principles with proper versioning (e.g., `/api/v1/`).
# - **Authentication**:
# * Use Django's built-in authentication system to authenticate users.
# * Protect API endpoints requiring authentication using DRF's authentication classes.
# Overall Design:
# - Draw inspiration from Stripe, Airbnb, Apple, Twilio, Meta, Google, and Discord.
# - Prioritize minimalism, elegance, and responsiveness.
# - Incorporate modern typography, consistent spacing, and subtle animations for a polished look.
# Development Environment:
# - Operating System: macOS with zsh terminal.
# - Dependency Management:
# * Use pipenv for managing Python virtual environments and dependencies.
# * Use Node.js and npm for managing frontend dependencies.
# - Local Development:
# * Development occurs locally, with future plans for Docker and Kubernetes for production deployments.
# Testing:
# - **Backend (Django)**:
# * Write unit tests for models, views, and API endpoints using `pytest` or Django’s built-in testing tools.
# - **Frontend (Vue.js)**:
# * Use tools like Jest or Cypress for component and end-to-end testing.
# * Ensure comprehensive test coverage for user interface interactions.
# Tags for Cursor:
# - `task:` Use this tag to denote specific tasks for Cursor to perform (e.g., "task: Generate a Vue.js component").
# - `study:` Use this tag to provide background information, references, or examples for a task or prompt.
# Example Tags:
# task: Generate a Django model for managing user projects.
# study: Reference Stripe’s design patterns for creating a modern and intuitive user interface.
css
cypress
django
docker
golang
html
javascript
jest
+10 more
First Time Repository
build websites using only natural language
Python
Languages:
CSS: 80.3KB
HTML: 62.8KB
JavaScript: 104.2KB
Python: 171.0KB
Vue: 166.7KB
Created: 10/2/2024
Updated: 1/16/2025
All Repositories (1)
build websites using only natural language