name: repo-workflows description: Git-history-derived workflows, co-change patterns, and iteration rhythms for ProAnimate. Auto-applied when planning multi-file changes. version: 1.0.0 source: local-git-analysis analyzed_commits: 200 user-invocable: false
ProAnimate Repository Workflows
Patterns extracted from the last 200 commits (2026-03-17 to 2026-03-19).
Commit Conventions
Format: type(scope): description
| Type | Usage | Frequency |
|------|-------|-----------|
| feat | New features | ~20% of commits |
| fix | Bug fixes | ~2% |
| Add | New files/features (informal) | ~18% |
| Fix | Bug fixes (informal) | ~18% |
| Move | Reorganizing tabs/panels | ~6% |
| Remove | Cleanup | ~5% |
| Replace | Swapping implementations | ~4.5% |
| Revert/Restore | Undoing changes | ~4% |
Scopes (when conventional): mobile, core, timeline, api, server
Note: About half of commits use conventional format (feat(scope):), the other half use imperative verbs (Add, Fix, Move). Both are acceptable.
File Co-Change Patterns
These files almost always change together. If you touch one, check the others.
Adding a Panel (3-file rule)
src/types/editor.ts— add tab ID to union typesrc/constants/tabGroups.ts— register in TAB_GROUPS arraysrc/components/layout/LeftPanel/LeftPanel.tsx— add lazy import + PanelContent case
Evidence: 100% of panel-addition commits touch all 3 files.
Moving/Reorganizing Tabs
src/constants/tabGroups.ts— move sub-tab between groups- Sometimes
src/types/editor.ts— if TabGroupId changes - Sometimes
src/components/layout/LeftPanel/LeftPanel.tsx— if GROUP_ICONS needs update
Whiteboard Feature Changes (5-file cluster)
src/components/panels/WhiteboardPanel.tsx(32 changes — most changed file)src/components/canvas/WhiteboardDrawingOverlay.tsx(21 changes)src/components/canvas/WhiteboardLayer.tsx(16 changes)src/stores/useWhiteboardStore.ts(13 changes)src/services/whiteboardAnimation.ts(13 changes)
Right Panel Properties
src/components/layout/RightPanel/RightPanel.tsxco-changes with any panel that has properties- Whiteboard properties panels (Drawing, Text, Stroke) change together
Iteration Rhythms
Revert-Heavy Areas
The whiteboard and drawing tools have a high revert rate (~10 reverts in 200 commits). This indicates:
- UI preferences are subjective — always confirm visual changes with the user before committing
- Keep reverts cheap — make small, atomic commits for visual/UX changes
- Common revert patterns: draw style presets, color picker layouts, cursor icons, brush settings
Mobile Sprint Pattern
Mobile features (feat(mobile):) come in rapid sequential commits (30 commits in 1 day). Each commit is atomic:
- Infrastructure first (auth, stores, API client)
- Renderers and engines next (DynamicRenderer, TypographyRenderer)
- Screens last (browse, editor, projects, export)
- Polish/fix passes after (
fix(mobile):)
Panel Consolidation Pattern
Recurring pattern of merging panels:
Merge Style Effects into Mixed Media panelMerge Camera into Cinema StudioConsolidate SVG Art, Components, Motion AI, and Animations into single Assets tab
Lesson: Before adding a new panel, check if it should merge into an existing one.
High-Churn Files (Touch With Care)
| File | Changes | Risk |
|------|---------|------|
| WhiteboardPanel.tsx | 32 | Highly iterated, revert-prone |
| RightPanel.tsx | 32 | Many panels feed into it |
| WhiteboardDrawingOverlay.tsx | 21 | Complex interaction logic |
| VideoCanvas.tsx | 20 | Core rendering surface |
| WhiteboardLayer.tsx | 16 | Rendering pipeline |
| tabGroups.ts | 14 | Tab organization (merge conflicts) |
| editor.ts (types) | 13 | Type unions grow frequently |
Architecture Hotspots
Left Panel System
LeftPanel.tsxrenders all panels throughPanelContentswitch- Tab groups defined in
tabGroups.tsdrive navigation - Large groups (>threshold) show card grid; small groups go direct to panel
DrillDownHeaderprovides prev/next navigation within groups
Layout Hierarchy
EditorLayout
├── TopMenuBar
├── LeftPanel (collapsible, 300px)
│ ├── MainGroupHeader / DrillDownHeader
│ └── PanelContent (lazy-loaded)
├── Center (flex-1)
│ ├── VideoCanvas / BRViewport / RigEditor3DViewport
│ └── Timeline / BRTimeline / Rig3DTimeline
└── RightPanel (context-sensitive properties)
Collapse Toggle Pattern
Toggle buttons for collapsible panels must be siblings of the panel in the flex layout, never children. Placing a toggle inside an overflow-hidden collapsible container causes it to be clipped when collapsed.
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.