xiaohongshu
xiaohongshu
django-vue-react-native
Comprehensive guide for developing full-stack applications using the Django + Vue.js + React Native starter template. Use this skill when creating new projects from the fullstack-starter-djvurn template, or when working on projects that follow this architecture. Covers: Django app creation, DRF ...
Full skill instructions
This skill guides development with the fullstack-starter-djvurn template: a Docker-based monorepo with Django (DRF) backend, Vue.js (TypeScript) frontend, and React Native mobile app.
Template location: \\wsl.localhost\Ubuntu\home\hmesfin\dev\templates\fullstack-starter-djvurn
uv, Frontend uses npmbackend/, frontend/, mobile/ at root levelapps.users.User, no username)apps/<app>/tests.py or apps/<app>/tests/src/<feature>/__tests__/<component>.test.tssrc/<feature>/__tests__/<component>.test.tsxdocker compose run --rm django mypy apps before commitsbackend/pyproject.tomltsconfig.jsonany types without explicit reasondocker compose run --rm frontend npm run type-checknpm run generate:api after backend changesdocker compose run --rm <service>See references/PROJECT_STRUCTURE.md for complete directory layout and file organization patterns.
Process:
cp -r templates/fullstack-starter-djvurn new-project-namereferences/NEW_PROJECT_SETUP.md)cd new-project-name && git initdocker compose up -ddocker compose run --rm django python manage.py createsuperuserTDD Workflow:
docker compose run --rm django python manage.py startapp <app_name> backend/apps/<app_name>
backend/apps/<app_name>/tests.py):
import pytest
from apps.<app_name>.models import ModelName
@pytest.mark.django_db
class TestModelName:
def test_create_instance(self):
# Test should FAIL initially (RED)
instance = ModelName.objects.create(name="Test")
assert instance.name == "Test"
docker compose run --rm django pytest apps/<app_name>/backend/apps/<app_name>/models.py):
import uuid
from django.db import models
from typing import Optional # Type hints
class ModelName(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
name: str = models.CharField(max_length=255) # Type annotation
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
def __str__(self) -> str:
return self.name
backend/config/settings/base.py)docker compose run --rm django python manage.py makemigrations
docker compose run --rm django python manage.py migrate
references/DRF_PATTERNS.md)docker compose run --rm django mypy apps/<app_name>/Complete workflow in references/API_WORKFLOW.md
Quick reference:
backend/config/api_router.pydocker compose run --rm frontend npm run generate:apidocker compose run --rm django mypy apps && docker compose run --rm frontend npm run type-checkTDD workflow:
docker compose run --rm frontend npm run testdocker compose run --rm frontend npm run type-checkSee references/VUE_COMPONENT_PATTERNS.md for complete examples
Process:
backend/apps/<app>/models.pydocker compose run --rm django python manage.py makemigrationsdocker compose run --rm django python manage.py migratedocker compose run --rm frontend npm run generate:apiSee references/REACT_NATIVE_PATTERNS.md for mobile development workflows
Backend:
# All tests
docker compose run --rm django pytest
# Specific app
docker compose run --rm django pytest apps/<app_name>/
# With coverage
docker compose run --rm django pytest --cov=apps --cov-report=html
Frontend:
# Unit tests
docker compose run --rm frontend npm run test
# E2E tests (Playwright)
docker compose run --rm frontend npm run test:e2e
# Coverage
docker compose run --rm frontend npm run test:coverage
Mobile:
docker compose run --rm mobile npm run test
Backend (mypy):
# Type check entire backend
docker compose run --rm django mypy apps
# Specific app
docker compose run --rm django mypy apps/<app_name>
Frontend:
docker compose run --rm frontend npm run type-check
Mobile:
docker compose run --rm mobile npm run type-check
Backend (Ruff):
# Check
docker compose run --rm django ruff check apps
# Fix
docker compose run --rm django ruff check apps --fix
# Format
docker compose run --rm django ruff format apps
Frontend (ESLint + Prettier):
# Lint
docker compose run --rm frontend npm run lint
# Format
docker compose run --rm frontend npm run format
After regenerating API client (npm run generate:api):
import { projectsList, projectsCreate } from '@/api/sdk.gen'
import { apiClient } from '@/lib/api-client'
// Fetch data
const response = await projectsList({ client: apiClient })
// Create
const newProject = await projectsCreate({
client: apiClient,
body: { name: 'New Project', status: 'active' }
})
// Error handling (CRITICAL for generated SDK)
if (response && 'error' in response && response.error) {
throw response // SDK returns errors instead of throwing
}
// src/composables/useProjects.ts
import { useQuery, useMutation, useQueryClient } from '@tanstack/vue-query'
import { projectsList, projectsCreate } from '@/api/sdk.gen'
import { apiClient } from '@/lib/api-client'
export function useProjects() {
const queryClient = useQueryClient()
const { data, isLoading } = useQuery({
queryKey: ['projects'],
queryFn: () => projectsList({ client: apiClient })
})
const createMutation = useMutation({
mutationFn: (data) => projectsCreate({ client: apiClient, body: data }),
onSuccess: () => queryClient.invalidateQueries({ queryKey: ['projects'] })
})
return { projects: data, isLoading, createProject: createMutation.mutate }
}
Backend: docker compose run --rm django mypy apps
Frontend: docker compose run --rm frontend npm run type-check
Mobile: docker compose run --rm mobile npm run type-check
Backend (Ruff):
docker compose run --rm django ruff check appsdocker compose run --rm django ruff check apps --fixFrontend (ESLint):
docker compose run --rm frontend npm run lintdocker compose run --rm frontend npm run formatStart services: docker compose up -d
View logs: docker compose logs -f <service>
Stop services: docker compose down
Run tests: docker compose run --rm <service> <test-command>
Shell access: docker compose exec <service> bash
backend/config/settings/backend/config/api_router.pyfrontend/src/api/ (auto-generated).envs/.local/For detailed patterns, workflows, and examples, see:
references/PROJECT_STRUCTURE.md - Directory organizationreferences/API_WORKFLOW.md - Complete API development flowreferences/DRF_PATTERNS.md - Django REST Framework patternsreferences/VUE_COMPONENT_PATTERNS.md - Vue.js best practicesreferences/REACT_NATIVE_PATTERNS.md - Mobile developmentreferences/TESTING_PATTERNS.md - TDD workflows and examplesreferences/TYPE_SAFETY.md - Type checking guidelinesreferences/NEW_PROJECT_SETUP.md - Project initializationBefore committing code, verify:
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience