Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
79d15ed
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 21, 2024
3ffb52d
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 21, 2024
54ef6df
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 21, 2024
b09ba80
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 22, 2024
743e5cb
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 22, 2024
891f9e1
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 23, 2024
e9b5bb8
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 23, 2024
606fbfb
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 23, 2024
20b22e6
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 23, 2024
4599db6
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 23, 2024
d4ee7fa
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 24, 2024
25b9431
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 24, 2024
db8acef
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 24, 2024
70625ad
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 24, 2024
05f21f4
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 24, 2024
7c7853c
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 24, 2024
9d354d7
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 24, 2024
50cf3f4
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 24, 2024
8292788
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 24, 2024
83c7822
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 24, 2024
b392e7b
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 25, 2024
7cceffe
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 25, 2024
eba8df9
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 25, 2024
ddbeab0
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 25, 2024
492ca9d
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 25, 2024
10fcfb8
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 25, 2024
33eafdd
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 25, 2024
f0874b9
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 28, 2024
753f2ab
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 28, 2024
9c3709c
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 29, 2024
ba4d69a
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 29, 2024
bef2581
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 29, 2024
1ee2c8f
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 29, 2024
deb3655
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 29, 2024
64f295f
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 29, 2024
13646fb
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 29, 2024
0506065
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 29, 2024
9363b4e
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 29, 2024
6b150d1
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 30, 2024
808f0c5
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 30, 2024
4e1a8f7
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 30, 2024
2341861
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 30, 2024
c76492a
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 30, 2024
29b8a28
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 30, 2024
b2e247b
Merge master into feature/q-dev-execution
aws-toolkit-automation Oct 31, 2024
0d606da
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 1, 2024
3aa07ad
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 1, 2024
cf16916
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 1, 2024
72fdab8
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 1, 2024
a109675
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 3, 2024
b746082
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 4, 2024
a7803b7
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 4, 2024
b7fa77c
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 5, 2024
23155fc
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 5, 2024
f4e2d0d
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 5, 2024
4029bd1
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 5, 2024
2e2f5fb
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 5, 2024
4b1400e
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 5, 2024
010a56f
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 5, 2024
50ab2f6
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 5, 2024
1f9b8a4
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 5, 2024
c76588d
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 6, 2024
352f11e
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 6, 2024
f39380a
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 6, 2024
31397b0
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 6, 2024
42c37fd
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 6, 2024
4c03ef6
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 7, 2024
56afdf8
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 7, 2024
c21c429
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 7, 2024
c42a036
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 7, 2024
14f8593
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 7, 2024
3fbc7bc
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 7, 2024
a9ead02
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 7, 2024
e80e44f
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 7, 2024
fa13171
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 8, 2024
80edfc1
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 8, 2024
1cbb827
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 8, 2024
34094d5
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 8, 2024
8b8c29e
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 8, 2024
9f9ffa0
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 8, 2024
eaa47bd
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 8, 2024
53a5dec
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 9, 2024
c5eadcf
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 9, 2024
64e7503
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 11, 2024
c6e4ba4
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 11, 2024
26b751f
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 11, 2024
d4cef59
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 11, 2024
23fa4f5
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 12, 2024
d552cbf
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 12, 2024
e23c61d
feat(feature dev): Add setting to allow Q to run code and test comman…
willyyhuang Nov 12, 2024
6f93259
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 12, 2024
c50aa72
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 12, 2024
ea5dae5
Merge master into feature/q-dev-execution
aws-toolkit-automation Nov 12, 2024
fbeb3a1
fix(feature dev): retry message without problem statement #5999
willyyhuang Nov 14, 2024
ac76171
test: update /dev prepareRepoData unit test to include devfile filter…
willyyhuang Nov 14, 2024
adfd8ad
Merge remote-tracking branch 'origin/master' into HEAD
willyyhuang Dec 3, 2024
927bf77
Merge master into feature/q-dev-execution
justinmk3 Dec 3, 2024
f2fa8c0
Merge master into feature/q-dev-execution
aws-toolkit-automation Dec 3, 2024
c5ded01
Merge master into feature/q-dev-execution
aws-toolkit-automation Dec 4, 2024
8b68cd7
Merge master into feature/q-dev-execution
aws-toolkit-automation Dec 4, 2024
20d8283
Merge master into feature/q-dev-execution
aws-toolkit-automation Dec 4, 2024
2e055dc
Merge master into feature/q-dev-execution
aws-toolkit-automation Dec 4, 2024
3e1b620
Merge master into feature/q-dev-execution
aws-toolkit-automation Dec 4, 2024
40bf828
Merge master into feature/q-dev-execution
aws-toolkit-automation Dec 4, 2024
004f431
Merge master into feature/q-dev-execution
aws-toolkit-automation Dec 5, 2024
f163847
Merge master into feature/q-dev-execution
aws-toolkit-automation Dec 5, 2024
c6cface
Merge master into feature/q-dev-execution
aws-toolkit-automation Dec 6, 2024
583dd29
Merge master into feature/q-dev-execution
aws-toolkit-automation Dec 6, 2024
6c9a107
Merge master into feature/q-dev-execution
aws-toolkit-automation Dec 6, 2024
e47f0ea
Merge remote-tracking branch 'origin/master' into HEAD
neilk-aws Jan 23, 2025
6494c1d
Merge master into feature/q-dev-execution
justinmk3 Jan 23, 2025
24bb920
feat(dev): Update file generation logic and file upload functionalit…
karanA-aws Jan 24, 2025
ba5b37d
Merge master into feature/q-dev-execution
aws-toolkit-automation Jan 24, 2025
4687c99
Merge master into feature/q-dev-execution
aws-toolkit-automation Jan 26, 2025
8fd89a3
fix(amazonq): allow including binary files when execution is enabled …
osdemah Jan 27, 2025
e06906f
docs(amazonq): Update /dev auto build setting strings (#6444)
neilk-aws Jan 28, 2025
07e0ea8
Merge branch 'feature/q-dev-execution' into autoMerge/feature/q-dev-e…
neilk-aws Jan 28, 2025
a215819
Merge pull request #6438 from aws/autoMerge/feature/q-dev-execution
jpinkney-aws Jan 28, 2025
0dd69d9
Merge master into feature/q-dev-execution
aws-toolkit-automation Jan 28, 2025
35cec21
Merge master into feature/q-dev-execution
aws-toolkit-automation Jan 28, 2025
b165859
Merge master into feature/q-dev-execution
aws-toolkit-automation Jan 28, 2025
6fbe550
Merge master into feature/q-dev-execution
aws-toolkit-automation Jan 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "Feature",
"description": "Add setting to allow Q /dev to run code and test commands"
}
5 changes: 5 additions & 0 deletions packages/amazonq/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,11 @@
"markdownDescription": "%AWS.configuration.description.amazonq%",
"default": true
},
"amazonQ.allowFeatureDevelopmentToRunCodeAndTests": {
"markdownDescription": "%AWS.configuration.description.featureDevelopment.allowRunningCodeAndTests%",
"type": "object",
"default": {}
},
"amazonQ.importRecommendationForInlineCodeSuggestions": {
"type": "boolean",
"description": "%AWS.configuration.description.amazonq.importRecommendation%",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,9 @@ describe('session', () => {
describe('preloader', () => {
it('emits start chat telemetry', async () => {
const session = await createSession({ messenger, conversationID, scheme: featureDevScheme })
session.latestMessage = 'implement twosum in typescript'

await session.preloader('implement twosum in typescript')
await session.preloader()

assertTelemetry('amazonq_startConversationInvoke', {
amazonqConversationId: conversationID,
Expand Down
126 changes: 92 additions & 34 deletions packages/amazonq/test/unit/amazonqFeatureDev/util/files.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,55 +10,113 @@ import {
ContentLengthError,
maxRepoSizeBytes,
} from 'aws-core-vscode/amazonqFeatureDev'
import { assertTelemetry, createTestWorkspace } from 'aws-core-vscode/test'
import { assertTelemetry, getWorkspaceFolder, TestFolder } from 'aws-core-vscode/test'
import { fs, AmazonqCreateUpload } from 'aws-core-vscode/shared'
import { Span } from 'aws-core-vscode/telemetry'
import { MetricName, Span } from 'aws-core-vscode/telemetry'
import sinon from 'sinon'
import { CodeWhispererSettings } from 'aws-core-vscode/codewhisperer'

import AdmZip from 'adm-zip'

const testDevfilePrepareRepo = async (devfileEnabled: boolean) => {
const files: Record<string, string> = {
'file.md': 'test content',
// only include when execution is enabled
'devfile.yaml': 'test',
// .git folder is always dropped (because of vscode global exclude rules)
'.git/ref': '####',
// .gitignore should always be included
'.gitignore': 'node_models/*',
// non code files only when dev execution is enabled
'abc.jar': 'jar-content',
'data/logo.ico': 'binary-content',
}
const folder = await TestFolder.create()

for (const [fileName, content] of Object.entries(files)) {
await folder.write(fileName, content)
}

const expectedFiles = !devfileEnabled
? ['./file.md', './.gitignore']
: ['./devfile.yaml', './file.md', './.gitignore', './abc.jar', 'data/logo.ico']

const workspace = getWorkspaceFolder(folder.path)
sinon
.stub(CodeWhispererSettings.instance, 'getAutoBuildSetting')
.returns(devfileEnabled ? { [workspace.uri.fsPath]: true } : {})

await testPrepareRepoData(workspace, expectedFiles)
}

const testPrepareRepoData = async (
workspace: vscode.WorkspaceFolder,
expectedFiles: string[],
expectedTelemetryMetrics?: Array<{ metricName: MetricName; value: any }>
) => {
expectedFiles.sort((a, b) => a.localeCompare(b))
const telemetry = new TelemetryHelper()
const result = await prepareRepoData([workspace.uri.fsPath], [workspace], telemetry, {
record: () => {},
} as unknown as Span<AmazonqCreateUpload>)

assert.strictEqual(Buffer.isBuffer(result.zipFileBuffer), true)
// checksum is not the same across different test executions because some unique random folder names are generated
assert.strictEqual(result.zipFileChecksum.length, 44)

if (expectedTelemetryMetrics) {
for (const metric of expectedTelemetryMetrics) {
assertTelemetry(metric.metricName, metric.value)
}
}

// Unzip the buffer and compare the entry names
const zip = new AdmZip(result.zipFileBuffer)
const actualZipEntries = zip.getEntries().map((entry) => entry.entryName)
actualZipEntries.sort((a, b) => a.localeCompare(b))
assert.deepStrictEqual(actualZipEntries, expectedFiles)
}

describe('file utils', () => {
describe('prepareRepoData', function () {
it('returns files in the workspace as a zip', async function () {
// these variables are a manual selection of settings for the test in order to test the collectFiles function
const fileAmount = 2
const fileNamePrefix = 'file'
const fileNameSuffix = '.md'
const fileContent = 'test content'
afterEach(() => {
sinon.restore()
})

const workspace = await createTestWorkspace(fileAmount, { fileNamePrefix, fileContent, fileNameSuffix })
it('returns files in the workspace as a zip', async function () {
const folder = await TestFolder.create()
await folder.write('file1.md', 'test content')
await folder.write('file2.md', 'test content')
const workspace = getWorkspaceFolder(folder.path)

const telemetry = new TelemetryHelper()
const result = await prepareRepoData([workspace.uri.fsPath], [workspace], telemetry, {
record: () => {},
} as unknown as Span<AmazonqCreateUpload>)
assert.strictEqual(Buffer.isBuffer(result.zipFileBuffer), true)
// checksum is not the same across different test executions because some unique random folder names are generated
assert.strictEqual(result.zipFileChecksum.length, 44)
assert.strictEqual(telemetry.repositorySize, 24)
await testPrepareRepoData(workspace, ['./file1.md', './file2.md'])
})

it('prepareRepoData ignores denied file extensions', async function () {
// these variables are a manual selection of settings for the test in order to test the collectFiles function
const fileAmount = 1
const fileNamePrefix = 'file'
const fileNameSuffix = '.mp4'
const fileContent = 'test content'
const folder = await TestFolder.create()
await folder.write('file.mp4', 'test content')
const workspace = getWorkspaceFolder(folder.path)

const workspace = await createTestWorkspace(fileAmount, { fileNamePrefix, fileContent, fileNameSuffix })
const telemetry = new TelemetryHelper()
const result = await prepareRepoData([workspace.uri.fsPath], [workspace], telemetry, {
record: () => {},
} as unknown as Span<AmazonqCreateUpload>)

assert.strictEqual(Buffer.isBuffer(result.zipFileBuffer), true)
// checksum is not the same across different test executions because some unique random folder names are generated
assert.strictEqual(result.zipFileChecksum.length, 44)
assert.strictEqual(telemetry.repositorySize, 0)
assertTelemetry('amazonq_bundleExtensionIgnored', { filenameExt: 'mp4', count: 1 })
await testPrepareRepoData(
workspace,
[],
[{ metricName: 'amazonq_bundleExtensionIgnored', value: { filenameExt: 'mp4', count: 1 } }]
)
})

it('should ignore devfile.yaml when setting is disabled', async function () {
await testDevfilePrepareRepo(false)
})

it('should include devfile.yaml when setting is enabled', async function () {
await testDevfilePrepareRepo(true)
})

// Test the logic that allows the customer to modify root source folder
it('prepareRepoData throws a ContentLengthError code when repo is too big', async function () {
const workspace = await createTestWorkspace(1, {})
const folder = await TestFolder.create()
await folder.write('file.md', 'test content')
const workspace = getWorkspaceFolder(folder.path)
const telemetry = new TelemetryHelper()

sinon.stub(fs, 'stat').resolves({ size: 2 * maxRepoSizeBytes } as vscode.FileStat)
Expand Down
9 changes: 8 additions & 1 deletion packages/core/package.nls.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
"AWS.configuration.description.suppressPrompts": "Prompts which ask for confirmation. Checking an item suppresses the prompt.",
"AWS.configuration.enableCodeLenses": "Enable SAM hints in source code and template.yaml files",
"AWS.configuration.description.resources.enabledResources": "AWS resources to display in the 'Resources' portion of the explorer.",
"AWS.configuration.description.featureDevelopment.allowRunningCodeAndTests": "Allow /dev to run code and test commands",
"AWS.configuration.description.experiments": "Try experimental features and give feedback. Note that experimental features may be removed at any time.\n * `jsonResourceModification` - Enables basic create, update, and delete support for cloud resources via the JSON Resources explorer component.",
"AWS.stepFunctions.asl.format.enable.desc": "Enables the default formatter used with Amazon States Language files",
"AWS.stepFunctions.asl.maxItemsComputed.desc": "The maximum number of outline symbols and folding regions computed (limited for performance reasons).",
Expand Down Expand Up @@ -362,12 +363,18 @@
"AWS.amazonq.featureDev.pillText.selectOption": "Choose an option to proceed",
"AWS.amazonq.featureDev.pillText.unableGenerateChanges": "Unable to generate any file changes",
"AWS.amazonq.featureDev.pillText.provideFeedback": "Provide feedback & regenerate",
"AWS.amazonq.featureDev.answer.generateSuggestion": "Would you like to generate a suggestion for this? You'll review a file diff before inserting into your project.",
"AWS.amazonq.featureDev.pillText.generateDevFile": "Generate devfile to build code",
"AWS.amazonq.featureDev.pillText.acceptForProject": "Yes, use my devfile for this project",
"AWS.amazonq.featureDev.pillText.declineForProject": "No, thanks",
"AWS.amazonq.featureDev.answer.generateSuggestion": "Would you like to generate a suggestion for this? You’ll review a file diff before inserting into your project.",
"AWS.amazonq.featureDev.answer.qGeneratedCode": "The Amazon Q Developer Agent for software development has generated code for you to review",
"AWS.amazonq.featureDev.answer.howCodeCanBeImproved": "How can I improve the code for your use case?",
"AWS.amazonq.featureDev.answer.updateCode": "Okay, I updated your code files. Would you like to work on another task?",
"AWS.amazonq.featureDev.answer.sessionClosed": "Okay, I've ended this chat session. You can open a new tab to chat or start another workflow.",
"AWS.amazonq.featureDev.answer.newTaskChanges": "What new task would you like to work on?",
"AWS.amazonq.featureDev.answer.devFileSuggestion": "For future tasks in this project, I can create a devfile to build and test code as I generate it. This can improve the quality of generated code. To allow me to create a devfile, choose **Generate devfile to build code**.",
"AWS.amazonq.featureDev.answer.settingUpdated": "I've updated your settings so I can run code and test commands based on your devfile for this project. You can update this setting under **Amazon Q: Allow Q /dev to run code and test commands**.",
"AWS.amazonq.featureDev.answer.devFileInRepository": "I noticed that your repository has a `devfile.yaml`. Would you like me to use the devfile to build and test your project as I generate code? \n\nFor more information on using devfiles to improve code generation, see the <a href=\"https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/software-dev.html\" target=\"_blank\">Amazon Q Developer documentation</a>.",
"AWS.amazonq.featureDev.placeholder.chatInputDisabled": "Chat input is disabled",
"AWS.amazonq.featureDev.placeholder.additionalImprovements": "Describe your task or issue in detail",
"AWS.amazonq.featureDev.placeholder.feedback": "Provide feedback or comments",
Expand Down
3 changes: 3 additions & 0 deletions packages/core/src/amazonq/commons/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ export enum FollowUpTypes {
NewTask = 'NewTask',
CloseSession = 'CloseSession',
SendFeedback = 'SendFeedback',
AcceptAutoBuild = 'AcceptAutoBuild',
DenyAutoBuild = 'DenyAutoBuild',
GenerateDevFile = 'GenerateDevFile',
// Doc
CreateDocumentation = 'CreateDocumentation',
ChooseFolder = 'ChooseFolder',
Expand Down
3 changes: 3 additions & 0 deletions packages/core/src/amazonqFeatureDev/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ export const featureDevChat = 'featureDevChat'

export const featureName = 'Amazon Q Developer Agent for software development'

export const generateDevFilePrompt =
"generate a devfile in my repository. Note that you should only use devfile version 2.0.0 and the only supported commands are install, build and test (are all optional). so you may have to bundle some commands together using '&&'. also you can use ”public.ecr.aws/aws-mde/universal-image:latest” as universal image if you aren’t sure which image to use. here is an example for a node repository (but don't assume it's always a node project. look at the existing repository structure before generating the devfile): schemaVersion: 2.0.0 components: - name: dev container: image: public.ecr.aws/aws-mde/universal-image:latest commands: - id: install exec: component: dev commandLine: ”npm install” - id: build exec: component: dev commandLine: ”npm run build” - id: test exec: component: dev commandLine: ”npm run test”"

// Max allowed size for file collection
export const maxRepoSizeBytes = 200 * 1024 * 1024

Expand Down
Loading
Loading