Built a complete Netflix-style streaming interface for IndeeHub's decentralized media platform with real film content. Features: - Vue 3 + TypeScript + Vite setup with hot module reloading - Netflix-inspired UI with hero section and horizontal scrolling content rows - Glass morphism design system with custom Tailwind configuration - 20+ real IndeeHub films organized into 6 categories (Bitcoin, Documentaries, Drama, etc.) - Full-featured video player component with custom controls - Mobile-responsive design with bottom navigation - Nostr integration ready (nostr-tools, relay pool, NIP-71 support) - Pinia state management for content - MCP tools configured (Filesystem, Memory, Nostr, Puppeteer) Components: - Browse.vue: Main streaming interface with hero and content rows - ContentRow.vue: Horizontal scrolling film cards with navigation arrows - VideoPlayer.vue: Custom video player with play/pause, seek, volume, fullscreen - MobileNav.vue: Bottom tab navigation for mobile devices Tech Stack: - Frontend: Vue 3 (Composition API), TypeScript - Build: Vite 7 - Styling: Tailwind CSS with custom theme - State: Pinia 3 - Router: Vue Router 4.6 - Protocol: Nostr (nostr-tools 2.22) Design: - 4px grid spacing system - Glass morphism UI components - Netflix-style hero section with featured content - Smooth animations and hover effects - Mobile-first responsive breakpoints - Dark theme with custom color palette Content: - 20+ IndeeHub films with titles, descriptions, categories - Bitcoin documentaries: God Bless Bitcoin, Dirty Coin, Searching for Satoshi - Independent films and documentaries - Working Unsplash CDN images for thumbnails and backdrops Ready for deployment to Umbrel, Start9, and Archy nodes. Co-authored-by: Cursor <cursoragent@cursor.com>
173 lines
3.0 KiB
Plaintext
173 lines
3.0 KiB
Plaintext
---
|
|
description: Git workflow and commit message conventions
|
|
alwaysApply: false
|
|
globs: .git/**
|
|
---
|
|
|
|
# Git Workflow & Version Control
|
|
|
|
## Commit Message Format
|
|
|
|
```
|
|
<type>(<scope>): <subject>
|
|
|
|
<body>
|
|
|
|
<footer>
|
|
```
|
|
|
|
### Types
|
|
- **feat**: New feature
|
|
- **fix**: Bug fix
|
|
- **docs**: Documentation only
|
|
- **style**: Code style (formatting)
|
|
- **refactor**: Code restructuring
|
|
- **perf**: Performance improvement
|
|
- **test**: Adding tests
|
|
- **chore**: Build process, dependencies
|
|
|
|
### Examples
|
|
|
|
```bash
|
|
# ✅ Good commit messages
|
|
feat(auth): add password reset functionality
|
|
fix(button): resolve hover state in dark mode
|
|
docs(readme): update installation instructions
|
|
refactor(utils): extract date formatting logic
|
|
perf(images): lazy load project thumbnails
|
|
|
|
# ❌ Bad commit messages
|
|
fix bug
|
|
update stuff
|
|
changes
|
|
WIP
|
|
```
|
|
|
|
## Branching Strategy
|
|
|
|
### Branch Naming
|
|
|
|
```
|
|
<type>/<short-description>
|
|
|
|
Examples:
|
|
feature/user-authentication
|
|
fix/mobile-navigation-bug
|
|
refactor/theme-system
|
|
docs/api-documentation
|
|
```
|
|
|
|
## Feature Development Workflow
|
|
|
|
```bash
|
|
# 1. Start from main
|
|
git checkout main
|
|
git pull origin main
|
|
|
|
# 2. Create feature branch
|
|
git checkout -b feature/user-profile
|
|
|
|
# 3. Make changes and commit
|
|
git add src/components/UserProfile.vue
|
|
git commit -m "feat(profile): add user profile component"
|
|
|
|
# 4. Push branch
|
|
git push -u origin feature/user-profile
|
|
|
|
# 5. Create Pull Request
|
|
```
|
|
|
|
## Pull Request Guidelines
|
|
|
|
### PR Title Format
|
|
|
|
```
|
|
<type>(<scope>): <description>
|
|
|
|
Examples:
|
|
feat(theme): add dark mode toggle
|
|
fix(navigation): resolve mobile menu closing issue
|
|
```
|
|
|
|
### PR Checklist
|
|
- ✅ Code follows project conventions
|
|
- ✅ Tests added/updated
|
|
- ✅ Documentation updated
|
|
- ✅ No merge conflicts
|
|
- ✅ CI/CD passes
|
|
- ✅ Mobile responsive
|
|
- ✅ Accessibility checked
|
|
|
|
## Code Review Process
|
|
|
|
### As a Reviewer
|
|
- **Be kind and constructive**
|
|
- **Explain why, not just what**
|
|
- **Ask questions, don't make demands**
|
|
- **Praise good work**
|
|
|
|
```markdown
|
|
<!-- ❌ Bad review comment -->
|
|
This is wrong.
|
|
|
|
<!-- ✅ Good review comment -->
|
|
This approach might cause performance issues with large datasets.
|
|
Consider using pagination instead. What do you think?
|
|
```
|
|
|
|
## Useful Git Commands
|
|
|
|
### Daily Commands
|
|
|
|
```bash
|
|
# Check status
|
|
git status
|
|
|
|
# View changes
|
|
git diff
|
|
|
|
# View commit history
|
|
git log --oneline --graph --all
|
|
|
|
# Stash changes
|
|
git stash
|
|
|
|
# Apply stash
|
|
git stash pop
|
|
```
|
|
|
|
### Undoing Changes
|
|
|
|
```bash
|
|
# Discard changes to file
|
|
git restore src/App.vue
|
|
|
|
# Unstage file
|
|
git restore --staged src/App.vue
|
|
|
|
# Undo last commit, keep changes
|
|
git reset --soft HEAD~1
|
|
```
|
|
|
|
## Git Best Practices Summary
|
|
|
|
### Commits
|
|
- ✅ Small, focused commits
|
|
- ✅ Clear, descriptive messages
|
|
- ✅ Commit often
|
|
- ✅ One logical change per commit
|
|
|
|
### Branches
|
|
- ✅ Descriptive branch names
|
|
- ✅ Keep branches short-lived
|
|
- ✅ Delete merged branches
|
|
- ✅ Pull frequently
|
|
|
|
### Pull Requests
|
|
- ✅ Clear title and description
|
|
- ✅ Link to relevant issues
|
|
- ✅ Request reviews
|
|
- ✅ Address feedback promptly
|
|
|
|
**Remember: Git is a tool for collaboration. Use it to make your team more effective.**
|