Unified CLI Experience - Duo CLI and glab Consolidation
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Consolidate Duo CLI and glab into a single, unified CLI experience that supports both traditional glab commands and agentic AI-powered workflows, with robust user and administrative controls. This is a GA requirement.
Business Objective
Provide users with a seamless, future-proof CLI experience that combines the power of AI-native agentic workflows with traditional command-line functionality, while ensuring enterprise-grade administrative control and user choice.
Success Criteria (up for discussion)
- Single CLI entry point accessible likely via glab
- Intelligent routing between traditional glab commands and agentic requests
- User-level and admin-level opt-in/opt-out controls fully functional
- Zero regression in existing glab functionality for users who opt out of AI features
- Smooth user experience that doesn't require users to switch between tools
- Administrative controls that can completely disable Duo CLI features when needed
User Stories
Core Functionality
- As a developer, I want to use a single CLI tool so that I don't have to switch between glab and Duo CLI
- As a user, I want to execute traditional glab commands and receive expected outputs without any AI interference
- As a user, I want to make agentic requests within the same CLI and have intelligent workflows execute automatically
- As a CLI user, I want the system to intelligently detect whether my input is a traditional command or an agentic request
Security & Controls
- As an administrator, I want to disable Duo CLI functionality organization-wide so that no AI features are available to authenticated users
- As an administrator, I want to enable Duo CLI as an opt-in feature so that users can choose to adopt AI capabilities
- As a user, I want to opt out of AI features so that no unexpected binaries or AI functionality runs on my machine
- As a user, I want to opt into AI features so that I can leverage agentic workflows when I need them
Experience
- As a user, I want a clear indication of when I'm using traditional vs. agentic mode
- As a user, I want graceful error handling when the system misinterprets my command intent
- As a user, I want the ability to force traditional or agentic mode when the auto-detection isn't what I intended
Technical Considerations
- Architecture that doesn't regress from current implementation
- Intelligent input parsing and routing mechanism
- Permission and authentication layer for admin/user controls
- Binary distribution and installation controls
- Performance considerations for input detection and routing
Dependencies
- Product alignment with @phikai on consolidation strategy
- Engineering team input on technical approach
- Security review of opt-in mechanisms and binary controls
- UX research on input detection and mode switching @Sam_Reiss
Open Questions
- What is the technical approach for distinguishing traditional commands from agentic requests?
- How do we handle edge cases where input could be interpreted either way?
- What is the installation and update mechanism that respects opt-in controls?
- How do we maintain feature parity with existing glab while adding new capabilities?
- What metrics will we track to measure success post-GA?
Edited by 🤖 GitLab Bot 🤖