Skip to content

Improve UX for adding AI Catalog agents to projects

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Summary

Based on a discussion here and on many of @vanessaotto's ideas:

Currently, the UX for adding AI Catalog agents to projects has several limitations that could be improved:

  1. No visibility of existing item consumers: Users can select a project and receive an error if an agent is already added to that project, rather than seeing the current state upfront
  2. Limited to single project selection: Users must add agents to projects one at a time
  3. Missing group support: The UI doesn't yet support adding agents to groups (needed for group inheritance)
  4. Inconsistent behaviour: The same "Add to project" action behaves differently for public vs private agents

Proposed improvements

Based on the mockups and discussion in !206406 (merged), we should consider:

Better state visibility

  • Show whether an Item Consumer already exists for private agents in their parent project
  • For public agents, check and display which projects already have the agent added
  • Use toggle-like UI elements to show current state rather than just an "Add" button

Multi-select capability

  • Allow users to add agents to multiple projects at once
  • Reduce the number of interactions needed for bulk operations

Group support preparation

  • Design the UI to accommodate both project and group selection
  • Prepare for Group inheritance functionality

Consistent UX patterns

  • Ensure the same UI patterns work for both public and private agents
  • Avoid scenarios where the same button has different behaviors

Mockups

Attached in the design section of this issue as a reference. Also available in the original discussion: !206406 (comment 2786498279)

Technical considerations

  • Backend support may be needed to efficiently check existing Item Consumer relationships
  • Consider performance implications of checking multiple project states
  • Ensure the solution scales well with large numbers of projects/groups

Related

Edited by 🤖 GitLab Bot 🤖