Init Repo
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
schema: spec-driven
|
||||
|
||||
# Project context (optional)
|
||||
# This is shown to AI when creating artifacts.
|
||||
# Add your tech stack, conventions, style guides, domain knowledge, etc.
|
||||
context: |
|
||||
# VFX Project Management System
|
||||
# Similar to ftrack or ShotGrid - a comprehensive project management system for the animation and VFX industry
|
||||
|
||||
## Tech Stack
|
||||
### Backend
|
||||
- FastAPI (Python web framework)
|
||||
- SQLAlchemy (ORM)
|
||||
- SQLite (Database)
|
||||
- JWT authentication
|
||||
- Pydantic (Data validation)
|
||||
|
||||
### Frontend
|
||||
- Vue.js 3 with Composition API
|
||||
- TypeScript
|
||||
- Vite (Build tool)
|
||||
- Tailwind CSS
|
||||
- shadcn-vue components
|
||||
- Pinia (State management)
|
||||
|
||||
## Domain Knowledge
|
||||
- Role-based access control: Admin, Director, Coordinator, Artist
|
||||
- Entity hierarchy: Project → Episode → Shot
|
||||
- Asset management with categories
|
||||
- Task assignment and tracking
|
||||
- Review and approval workflows
|
||||
- File upload and version control
|
||||
- Real-time notifications
|
||||
- Soft deletion for data recovery
|
||||
|
||||
## Conventions
|
||||
- API endpoints follow RESTful patterns
|
||||
- Database migrations use timestamp-based naming (e.g., migrate_*.py)
|
||||
- Test files named as test_*.py
|
||||
- Component naming: PascalCase for Vue components
|
||||
- API response format: standardized JSON with success/data/error structure
|
||||
- Soft deletion is the default (deleted_at timestamp)
|
||||
- Custom task statuses are per-project configurable
|
||||
|
||||
## File Structure
|
||||
backend/
|
||||
models/ - SQLAlchemy ORM models
|
||||
routers/ - FastAPI route handlers
|
||||
schemas/ - Pydantic validation schemas
|
||||
services/ - Business logic layer
|
||||
migrate_*.py - Database migration scripts
|
||||
test_*.py - Test files
|
||||
|
||||
frontend/src/
|
||||
components/ - Vue components
|
||||
views/ - Page components
|
||||
stores/ - Pinia state management
|
||||
services/ - API services
|
||||
types/ - TypeScript types
|
||||
router/ - Vue Router configuration
|
||||
|
||||
# Per-artifact rules (optional)
|
||||
# Add custom rules for specific artifacts.
|
||||
# Example:
|
||||
# rules:
|
||||
# proposal:
|
||||
# - Keep proposals under 500 words
|
||||
# - Always include a "Non-goals" section
|
||||
# tasks:
|
||||
# - Break tasks into chunks of max 2 hours
|
||||
Reference in New Issue
Block a user