# 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?

1. **User-Facing Feature**: Profiles are a public feature that users need to see and understand
2. **Documentation**: Profiles should be documented alongside the code
3. **Customization**: Users can learn from and customize existing profiles
4. **Version Control**: Profile changes should be tracked in the public repo
5. **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
```bash
# Create Nippel with specific security profile
nip cell create dev-env --profile Workstation

# Use default profile (Homestation)
nip cell create my-env
```

### Build Profiles
```bash
# Build package with specific profile
nip build vim --profile desktop

# Build with server profile
nip build nginx --profile server
```

### Custom Profiles
```bash
# 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

1. ✅ Profiles migrated to public location
2. ✅ Documentation created (README.md)
3. ✅ Security profiles created for Nippels
4. ✅ Build profiles organized
5. ✅ Example profiles provided
6. 🔄 Update Nippels spec to reference new location
7. 🔄 Update implementation to load from new location
8. 🔄 Add profile validation and testing

## Related Documentation

- [Nippels Specification](../../.kiro/nip/specs/nexuscells/requirements.md)
- [Profile README](README.md)
- [Nippels Documentation](../docs/nipcells.md)

---

**Migration completed successfully!** 🎉

Profiles are now in the public repository where they belong, making them accessible to users and properly documented.
