You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							105 lines
						
					
					
						
							2.9 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							105 lines
						
					
					
						
							2.9 KiB
						
					
					
				
								---
							 | 
						|
								description: when doing anything with capacitor assets
							 | 
						|
								alwaysApply: false
							 | 
						|
								---
							 | 
						|
								
							 | 
						|
								# Asset Configuration Directive
							 | 
						|
								
							 | 
						|
								**Author**: Matthew Raymer
							 | 
						|
								**Date**: 2025-08-19
							 | 
						|
								**Status**: 🎯 **ACTIVE** - Asset management guidelines
							 | 
						|
								
							 | 
						|
								*Scope: Assets Only (icons, splashes, image pipelines) — not overall build
							 | 
						|
								orchestration*
							 | 
						|
								
							 | 
						|
								## Intent
							 | 
						|
								
							 | 
						|
								- Version **asset configuration files** (optionally dev-time generated).
							 | 
						|
								
							 | 
						|
								- **Do not** version platform asset outputs (Android/iOS/Electron); generate
							 | 
						|
								
							 | 
						|
								  them **at build-time** with standard tools.
							 | 
						|
								
							 | 
						|
								- Keep existing per-platform build scripts unchanged.
							 | 
						|
								
							 | 
						|
								## Source of Truth
							 | 
						|
								
							 | 
						|
								- **Preferred (Capacitor default):** `resources/` as the single master source.
							 | 
						|
								
							 | 
						|
								- **Alternative:** `assets/` is acceptable **only** if `capacitor-assets` is
							 | 
						|
								
							 | 
						|
								  explicitly configured to read from it.
							 | 
						|
								
							 | 
						|
								- **Never** maintain both `resources/` and `assets/` as parallel sources.
							 | 
						|
								
							 | 
						|
								  Migrate and delete the redundant folder.
							 | 
						|
								
							 | 
						|
								## Config Files
							 | 
						|
								
							 | 
						|
								- Live under: `config/assets/` (committed).
							 | 
						|
								
							 | 
						|
								- Examples:
							 | 
						|
								
							 | 
						|
								  - `config/assets/capacitor-assets.config.json` (or the path the tool
							 | 
						|
								
							 | 
						|
								    expects)
							 | 
						|
								
							 | 
						|
								  - `config/assets/android.assets.json`
							 | 
						|
								
							 | 
						|
								  - `config/assets/ios.assets.json`
							 | 
						|
								
							 | 
						|
								  - `config/assets/common.assets.yaml` (optional shared layer)
							 | 
						|
								
							 | 
						|
								- **Dev-time generation allowed** for these configs; **build-time
							 | 
						|
								
							 | 
						|
								  generation is forbidden**.
							 | 
						|
								
							 | 
						|
								## Build-Time Behavior
							 | 
						|
								
							 | 
						|
								- Build generates platform assets (not configs) using the standard chain:
							 | 
						|
								
							 | 
						|
								```bash
							 | 
						|
								
							 | 
						|
								npm run build:capacitor        # web build via Vite (.mts)
							 | 
						|
								npx cap sync
							 | 
						|
								npx capacitor-assets generate  # produces platform assets; not committed
							 | 
						|
								
							 | 
						|
								# then platform-specific build steps
							 | 
						|
								
							 | 
						|
								```
							 | 
						|
								
							 | 
						|
								---
							 | 
						|
								
							 | 
						|
								**Status**: Active asset management directive
							 | 
						|
								**Priority**: Medium
							 | 
						|
								**Estimated Effort**: Ongoing reference
							 | 
						|
								**Dependencies**: capacitor-assets toolchain
							 | 
						|
								**Stakeholders**: Development team, Build team
							 | 
						|
								
							 | 
						|
								  npx capacitor-assets generate  # produces platform assets; not committed
							 | 
						|
								
							 | 
						|
								# then platform-specific build steps
							 | 
						|
								
							 | 
						|
								## Model Implementation Checklist
							 | 
						|
								
							 | 
						|
								### Before Asset Configuration
							 | 
						|
								
							 | 
						|
								- [ ] **Source Review**: Identify current asset source location (`resources/` or
							 | 
						|
								  `assets/`)
							 | 
						|
								- [ ] **Tool Assessment**: Verify capacitor-assets toolchain is available
							 | 
						|
								- [ ] **Config Planning**: Plan configuration file structure and location
							 | 
						|
								- [ ] **Platform Analysis**: Understand asset requirements for all target platforms
							 | 
						|
								
							 | 
						|
								### During Asset Configuration
							 | 
						|
								
							 | 
						|
								- [ ] **Source Consolidation**: Ensure single source of truth (prefer `resources/`)
							 | 
						|
								- [ ] **Config Creation**: Create platform-specific asset configuration files
							 | 
						|
								- [ ] **Tool Integration**: Configure capacitor-assets to read from correct source
							 | 
						|
								- [ ] **Build Integration**: Integrate asset generation into build pipeline
							 | 
						|
								
							 | 
						|
								### After Asset Configuration
							 | 
						|
								
							 | 
						|
								- [ ] **Build Testing**: Verify assets generate correctly at build time
							 | 
						|
								- [ ] **Platform Validation**: Test asset generation across all platforms
							 | 
						|
								- [ ] **Documentation**: Update build documentation with asset generation steps
							 | 
						|
								- [ ] **Team Communication**: Communicate asset workflow changes to team
							 | 
						|
								
							 |