TASK-005: Replace manual Set creation with precomputed getEffectivelyEnabledItems
Co-authored-by: AstroSteveo <34114851+AstroSteveo@users.noreply.github.com>
This commit is contained in:
parent
fa18a76262
commit
980fded5cd
19
.github/prompts/playwright-generate-test.prompt.md
vendored
Normal file
19
.github/prompts/playwright-generate-test.prompt.md
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
mode: agent
|
||||||
|
description: 'Generate a Playwright test based on a scenario using Playwright MCP'
|
||||||
|
tools: ['changes', 'codebase', 'editFiles', 'fetch', 'findTestFiles', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'playwright']
|
||||||
|
model: 'Claude Sonnet 4'
|
||||||
|
---
|
||||||
|
|
||||||
|
# Test Generation with Playwright MCP
|
||||||
|
|
||||||
|
Your goal is to generate a Playwright test based on the provided scenario after completing all prescribed steps.
|
||||||
|
|
||||||
|
## Specific Instructions
|
||||||
|
|
||||||
|
- You are given a scenario, and you need to generate a playwright test for it. If the user does not provide a scenario, you will ask them to provide one.
|
||||||
|
- DO NOT generate test code prematurely or based solely on the scenario without completing all prescribed steps.
|
||||||
|
- DO run steps one by one using the tools provided by the Playwright MCP.
|
||||||
|
- Only after all steps are completed, emit a Playwright TypeScript test that uses `@playwright/test` based on message history
|
||||||
|
- Save generated test file in the tests directory
|
||||||
|
- Execute the test file and iterate until the test passes
|
||||||
@ -101,25 +101,10 @@ async function applyConfig(configPath = "awesome-copilot.config.yml") {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Import config manager for effective state computation
|
// Import config manager for effective state computation
|
||||||
const { computeEffectiveItemStates } = require("./config-manager");
|
const { getEffectivelyEnabledItems } = require("./config-manager");
|
||||||
|
|
||||||
// Compute effective states using precedence rules
|
// Get precomputed sets of effectively enabled items for O(1) performance
|
||||||
const effectiveStates = computeEffectiveItemStates(config);
|
const effectivelyEnabledSets = getEffectivelyEnabledItems(config);
|
||||||
|
|
||||||
// Create sets of effectively enabled items for performance
|
|
||||||
const effectivelyEnabledSets = {
|
|
||||||
prompts: new Set(),
|
|
||||||
instructions: new Set(),
|
|
||||||
chatmodes: new Set()
|
|
||||||
};
|
|
||||||
|
|
||||||
for (const section of ["prompts", "instructions", "chatmodes"]) {
|
|
||||||
for (const [itemName, state] of Object.entries(effectiveStates[section])) {
|
|
||||||
if (state.enabled) {
|
|
||||||
effectivelyEnabledSets[section].add(itemName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Count enabled collections for summary
|
// Count enabled collections for summary
|
||||||
if (config.collections) {
|
if (config.collections) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user