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.
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.