aws / aws/aws-toolkit-vscode

Implement `.q-ignore` functionality for Amazon Q uploads

Open
#5,664 13 comments 21 reactions 0 assignees View on GitHub
amazon-q codewhisperer feature-request partner-team
Dominant language
TypeScript
Stars
2k
Forks
807
Avg merge
10h 12m
Merged PRs (30d)
7

Description

## Problem

The current implementation of the Amazon Q feature in the AWS Toolkit for VS Code does not provide a way to exclude certain files or directories when uploading a project. This becomes problematic for users working with monorepo structures or projects that exceed the 200MB upload limit.

Specifically:

1. The 200MB upload limit can be quickly reached, especially in monorepo setups.
2. Files unrelated to the actual code (e.g., build artifacts, large data files) are unnecessarily included in the upload.
3. There's no built-in mechanism to selectively ignore files or directories during the upload process.

This situation leads to inefficient use of the upload capacity and potentially prevents users from utilizing Amazon Q for larger projects.

## Expected behavior

We propose implementing a `.q-ignore` file functionality, similar to how `.gitignore` works for Git. This feature would allow users to:

1. Create a `.q-ignore` file in their project root.
2. Specify files, directories, or patterns to be excluded from the Amazon Q upload.
3. Reduce the upload size by excluding unnecessary files, thus staying within the 200MB limit.
4. Customize the upload content to focus on relevant code and documentation.

Example of a potential `.q-ignore` file:

```
# Ignore node modules
node_modules/

# Ignore build artifacts
build/
dist/

# Ignore large data files
*.csv
*.json

# Ignore specific directories
legacy-code/
test-data/
```

This feature would greatly enhance the usability of Amazon Q for larger projects and monorepos, allowing developers to efficiently utilize the service within the given constraints.

Contributor guide

Open the contributing guide

Research direction

The payload names no files or tests; start by locating the Amazon Q project-upload entry point in the VS Code extension and reviewing how project roots and the 200MB limit are handled. Done means a root-level .q-ignore can exclude the stated files, directories, and patterns from uploads, with behavior covered by tests found around that upload path.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
cloud, developer-experience
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.