Unified CLI Experience - Duo CLI and glab Consolidation
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 1. As a developer, I want to use a single CLI tool so that I don't have to switch between glab and Duo CLI 2. As a user, I want to execute traditional glab commands and receive expected outputs without any AI interference 3. As a user, I want to make agentic requests within the same CLI and have intelligent workflows execute automatically 4. As a CLI user, I want the system to intelligently detect whether my input is a traditional command or an agentic request ### Security & Controls 5. As an administrator, I want to disable Duo CLI functionality organization-wide so that no AI features are available to authenticated users 6. As an administrator, I want to enable Duo CLI as an opt-in feature so that users can choose to adopt AI capabilities 7. As a user, I want to opt out of AI features so that no unexpected binaries or AI functionality runs on my machine 8. As a user, I want to opt into AI features so that I can leverage agentic workflows when I need them ### Experience 9. As a user, I want a clear indication of when I'm using traditional vs. agentic mode 10. As a user, I want graceful error handling when the system misinterprets my command intent 11. 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?
issue