Iteration 1: Redesign project and group naming flow
See [parent epic](https://gitlab.com/groups/gitlab-org/-/epics/12504#modernize-gitlab-project-and-group-naming-restrictions) for full context.
## Problem
GitLab's current naming flow creates unnecessary friction for users:
- **Hidden complexity**: UI treats name and slug as a single field, but backend separates them. This causes confusion when characters are silently transformed.
- **Blanket restrictions**: Container registry and SAML/SCIM rules apply to ALL users, even when these features aren't enabled.
- **Poor error communication**: Messages don't explain which field has the issue, why restrictions exist, or how to fix them.
- **Inconsistent patterns**: Projects and groups have different validation rules and error messages despite being conceptually identical.
## Solution
Redesign the naming flow to **separate name from slug at the UI level** while keeping backend unchanged:
1. **Visual separation**: Make name and slug two distinct input fields with clear purposes
2. **Conditional validation**: Only show warnings relevant to user's configuration (registry enabled, SAML configured, etc.)
3. **Better error messages**: Explain what's wrong, why it matters, and how to fix it
4. **Unified experience**: Identical components and messaging for projects and groups
**Key insight**: Most restrictions are feature-specific (Container Registry OCI spec, SAML provider quirks), not fundamental GitLab requirements. By detecting which features are enabled, we can drastically reduce unnecessary validation errors.
## Value
**User Impact:**
- 60-70% reduction in validation errors
- 40-50% reduction in naming-related support tickets
- 30% faster project/group creation
- Clear understanding of why restrictions exist
**Technical:**
- Zero backend changes required
- Works within existing constraints
- Reduces technical debt from workarounds
## Design Proposal
{width=818 height=560}
{width=706 height=600}
{width=817 height=518}
{width=804 height=600}
**Visual Separation**
- Split into two visible fields with helper text
- Show real-time slug auto-generation
- Add visual indicators (blue background for auto-mode)
**Conditional Validation**
- Detect enabled features (registry, SCIM)
- Show warnings only when applicable
- Provide "disable feature" action
**Better Error Messages**
- Rewrite errors with explanations and suggestions
- Add "why is this restricted?" documentation links
**Unify Groups and Projects**
- Identical components and validation logic
- Same error messages and helper text
## Reference
[Full design specification](https://docs.google.com/document/d/19tTZBpbf2woYluOv1P0eA2pfAwA7qB0QMC-j3SKF4Rs/edit?tab=t.0)
epic