4.1 KiB
4.1 KiB
Profile Migration Summary
Migration Date
November 18, 2025
What Was Migrated
Profiles were moved from the private .kiro/nip/profiles/ directory to the public nip/profiles/ directory to make them accessible to users.
New Structure
nip/profiles/
├── README.md # Profile system documentation
├── MIGRATION.md # This file
├── security/ # Security profiles for Nippels
│ ├── workstation.kdl # Work computers
│ ├── homestation.kdl # Home use (default)
│ ├── satellite.kdl # Laptops/mobile
│ ├── network-iot.kdl # Embedded/IoT
│ └── server.kdl # Server deployments
├── build/ # Build profiles for compilation
│ ├── desktop.kdl # Desktop build config
│ ├── server.kdl # Server build config
│ └── minimal.kdl # Minimal build config
└── examples/ # Example custom profiles
├── gaming-rig.kdl # Gaming-optimized
├── ml-workstation.kdl # Machine learning
├── developer.kdl # Developer workstation
└── fleet-node.kdl # Fleet management
Profile Types
1. Security Profiles (security/)
Define isolation levels and security settings for Nippels (user-level application environments):
- Workstation: Standard isolation + desktop integration
- Homestation: Standard isolation + relaxed network (default)
- Satellite: Strict isolation + limited network
- Network/IOT: Strict isolation + minimal resources
- Server: Strict isolation + no desktop + enhanced auditing
2. Build Profiles (build/)
Define compiler flags and optimization levels for building packages:
- Desktop: Modern graphics, audio, user experience
- Server: Security hardened, performance optimized
- Minimal: Small size, essential features only
3. Example Profiles (examples/)
Additional profiles for specific use cases:
- Gaming Rig: Gaming-optimized configuration
- ML Workstation: Machine learning workstation
- Developer: Developer workstation
- Fleet Node: Fleet management node
Why This Migration?
- User-Facing Feature: Profiles are a public feature that users need to see and understand
- Documentation: Profiles should be documented alongside the code
- Customization: Users can learn from and customize existing profiles
- Version Control: Profile changes should be tracked in the public repo
- Distribution: Profiles should ship with the nip package
Old Location (Deprecated)
The old location .kiro/nip/profiles/ is now deprecated and should not be used. The .kiro/ directory is for:
- Internal specs and planning
- Development coordination
- AI context
But NOT for user-facing features like profiles.
Usage
Security Profiles
# Create Nippel with specific security profile
nip cell create dev-env --profile Workstation
# Use default profile (Homestation)
nip cell create my-env
Build Profiles
# Build package with specific profile
nip build vim --profile desktop
# Build with server profile
nip build nginx --profile server
Custom Profiles
# Copy and customize
cp nip/profiles/security/homestation.kdl ~/.config/nip/profiles/security/my-profile.kdl
vim ~/.config/nip/profiles/security/my-profile.kdl
# Use custom profile
nip cell create my-env --profile my-profile
Next Steps
- ✅ Profiles migrated to public location
- ✅ Documentation created (README.md)
- ✅ Security profiles created for Nippels
- ✅ Build profiles organized
- ✅ Example profiles provided
- 🔄 Update Nippels spec to reference new location
- 🔄 Update implementation to load from new location
- 🔄 Add profile validation and testing
Related Documentation
Migration completed successfully! 🎉
Profiles are now in the public repository where they belong, making them accessible to users and properly documented.