Implement qbit search <query> command that searches the Voyage mock registry API for packages.
qbit search <query>
As a developer, I want to search for qbit packages by keyword so that I can discover available modules to add to my project.
qctl qbit search <query> [--tag <tag>] [--limit <n>] # Examples: qctl qbit search auth qctl qbit search --tag security qctl qbit search data --limit 5
@qrun/auth-sso 1.2.0 SSO authentication module @qrun/auth-jwt 2.0.1 JWT token authentication @qrun/auth-basic 1.0.0 Basic HTTP authentication
Until Voyage is ready, use embedded mock data or local JSON file:
GET /v1/qbits?q={query}&tag={tag}&limit={limit}
qctl-qbit/src/main/java/io/qrun/qctl/qbit/SearchCommand.java
qctl-qbit/src/main/java/io/qrun/qctl/qbit/registry/RegistryClient.java
qctl-qbit/src/main/java/io/qrun/qctl/qbit/registry/MockRegistryClient.java
qctl-qbit/src/main/java/io/qrun/qctl/qbit/model/PackageInfo.java
qctl-qbit/src/main/resources/mock-registry.json
qctl-qbit/src/main/java/io/qrun/qctl/qbit/QbitCommand.java
PackageInfo
RegistryClient
search(query, tag, limit)
MockRegistryClient
SearchCommand
QbitCommand
qbit search auth
--tag
--limit
Part of #11
No dependencies set.
The note is not visible to the blocked user.
Overview
Implement
qbit search <query>command that searches the Voyage mock registry API for packages.User Story
As a developer, I want to search for qbit packages by keyword so that I can discover available modules to add to my project.
Design
Command Interface
Output Format
Voyage Mock API
Until Voyage is ready, use embedded mock data or local JSON file:
Files to Create/Modify
qctl-qbit/src/main/java/io/qrun/qctl/qbit/SearchCommand.java- New commandqctl-qbit/src/main/java/io/qrun/qctl/qbit/registry/RegistryClient.java- API client interfaceqctl-qbit/src/main/java/io/qrun/qctl/qbit/registry/MockRegistryClient.java- Mock implementationqctl-qbit/src/main/java/io/qrun/qctl/qbit/model/PackageInfo.java- Package metadata DTOqctl-qbit/src/main/resources/mock-registry.json- Mock package dataqctl-qbit/src/main/java/io/qrun/qctl/qbit/QbitCommand.java- Add subcommandImplementation Tasks
PackageInfoDTO with name, version, description, tagsRegistryClientinterface withsearch(query, tag, limit)methodMockRegistryClientthat reads from embedded JSONSearchCommandwith Picocli annotationsSearchCommandinQbitCommandsubcommandsAcceptance Criteria
qbit search authreturns matching packages--tagfilters by package tags--limitcontrols result count (default: 20)Dependencies
Part of #11