Skip to content

[WIP] Add Amazon Q Developer plugin support in CLI#150

Draft
Claude wants to merge 2 commits intomainfrom
claude/add-amazon-q-developer-support
Draft

[WIP] Add Amazon Q Developer plugin support in CLI#150
Claude wants to merge 2 commits intomainfrom
claude/add-amazon-q-developer-support

Conversation

@Claude
Copy link
Copy Markdown
Contributor

@Claude Claude AI commented Apr 28, 2026

Thanks for asking me to work on this. I will get started on it and keep this PR's description up to date as I form a plan and make progress.


This section details on the original issue you should resolve

<issue_title>Amazon Q Developer plugin support</issue_title>
<issue_description>## Summary

Add Amazon Q Developer as a supported DevOps tool in the CLI. Amazon Q Developer is AWS's AI coding assistant — the primary competitor to GitHub Copilot — providing AI coding metrics (suggestions, chat interactions, code reviews, inline completions).

Upstream Plugin

q_dev in incubator-devlake/backend/plugins/q_dev/

Property Value
Plugin slug q_dev
Auth AWS credentials (AccessKeyId + SecretAccessKey) — completely different from all other plugins
Scope type S3 Slices (time-based data prefixes in S3 buckets)
Scope ID field id
Default endpoint N/A (S3-based, not REST endpoint)
Remote-scope API TBD
Connection test TBD
Extra fields Region, Bucket, IdentityStoreId, IdentityStoreRegion

Why v0.4.x

This is the most complex plugin to integrate due to:

  1. Completely different auth model — requires AWS AccessKeyId + SecretAccessKey pair, not a single token or username/password
  2. S3-based data retrieval — scopes are S3 path prefixes, not REST API resources
  3. Additional identity resolution — IAM Identity Center integration for mapping user UUIDs to names
  4. May need a new auth type on ConnectionDef (e.g., "AwsCredentials") beyond what Generalize auth model for multi-plugin support #85 introduces

Placing this in v0.4.x keeps it on the multi-tool/plugin expansion track instead of the AI-powered operations line. It is still complex, but the work is fundamentally plugin/auth integration rather than an AI command surface.

Dependencies

Blocked by:

Changes

  • Add ConnectionDef for q_dev in connectionRegistry:
    • Custom auth fields for AWS credentials
    • TokenPrompt: "AWS Secret Access Key" (or restructure for two-field auth)
    • EnvVarNames: []string{"AWS_SECRET_ACCESS_KEY"}
    • Additional env vars: AWS_ACCESS_KEY_ID, AWS_REGION
    • ScopeFunc: scopeQDevHandler
  • Implement scopeQDevHandler:
    • S3 path-based scope selection (year/month/account)
    • May need a custom scope struct for S3 slice metadata
  • Potentially extend ConnectionDef auth model for AWS-style credentials
  • Set Available: true

Acceptance Criteria

  • gh devlake configure connection add --plugin q_dev creates an Amazon Q Developer connection with AWS credentials
  • Q Developer appears in interactive plugin picker
  • Q Developer scopes select S3 data paths
  • go build ./..., go test ./..., go vet ./... pass</issue_description>

Comments on the Issue (you are @claude[agent] in this section)

@Claude Claude AI assigned Claude and ewega Apr 28, 2026
@Claude Claude AI linked an issue Apr 28, 2026 that may be closed by this pull request
4 tasks
Add support for Amazon Q Developer as a DevOps tool plugin with AWS credential authentication and S3-based scope configuration.

- Add QDevS3Slice type for S3 time-sliced scope entries
- Extend ConnectionParams, ConnectionCreateRequest, and ConnectionTestRequest with AWS-specific fields (AccessKeyID, SecretAccessKey, Region, Bucket, IdentityStoreID, IdentityStoreRegion)
- Add ConnectionDef for q_dev plugin with AwsCredentials auth method
- Implement scopeQDevHandler for interactive S3 scope selection (account-based or prefix-based)
- Add comprehensive tests for q_dev connection and AWS credential handling
- Support both account-based scopes (recommended) and legacy explicit prefix scopes

Agent-Logs-Url: https://github.com/DevExpGbb/gh-devlake/sessions/cce9936b-4e70-4bbc-93b6-c92b8c407c20

Co-authored-by: ewega <26189114+ewega@users.noreply.github.com>
Comment thread cmd/configure_scopes.go
func scopeQDevHandler(client *devlake.Client, connID int, org, enterprise string, opts *ScopeOpts) (*devlake.BlueprintConnection, error) {
// Interactive mode: prompt for scope parameters
if opts == nil {
opts = &ScopeOpts{}
@Claude Claude AI requested a review from ewega April 28, 2026 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Amazon Q Developer plugin support

2 participants