evizi-kit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +506 -0
- package/kits/agent/.agent/skills/claude-code-subagent-creator/SKILL.md +292 -0
- package/kits/agent/.agent/skills/claude-code-subagent-creator/references/claude-code-subagent-configuration.md +158 -0
- package/kits/agent/.agent/skills/claude-code-subagent-creator/templates/subagent-profile.template.md +26 -0
- package/kits/agent/.agent/skills/skill-creator/LICENSE.txt +202 -0
- package/kits/agent/.agent/skills/skill-creator/SKILL.md +485 -0
- package/kits/agent/.agent/skills/skill-creator/agents/analyzer.md +274 -0
- package/kits/agent/.agent/skills/skill-creator/agents/comparator.md +202 -0
- package/kits/agent/.agent/skills/skill-creator/agents/grader.md +223 -0
- package/kits/agent/.agent/skills/skill-creator/assets/eval_review.html +146 -0
- package/kits/agent/.agent/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/kits/agent/.agent/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/kits/agent/.agent/skills/skill-creator/references/schemas.md +430 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/__init__.py +0 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/generate_report.py +326 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/improve_description.py +247 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/package_skill.py +136 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/run_eval.py +310 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/run_loop.py +328 -0
- package/kits/agent/.agent/skills/skill-creator/scripts/utils.py +47 -0
- package/kits/agent/manifest.json +10 -0
- package/kits/claude/.claude/agents/code-pusher.md +46 -0
- package/kits/claude/.claude/agents/feature-document-updater.md +37 -0
- package/kits/claude/.claude/agents/self-reviewer.md +32 -0
- package/kits/claude/.claude/agents/web-auto-agentic-workflow-initializer.md +42 -0
- package/kits/claude/.claude/agents/web-auto-assisted-fix-and-runner.md +36 -0
- package/kits/claude/.claude/agents/web-auto-chrome-devtools-selector-extractor.md +36 -0
- package/kits/claude/.claude/agents/web-auto-coder.md +33 -0
- package/kits/claude/.claude/agents/web-auto-fe-selector-extractor.md +31 -0
- package/kits/claude/.claude/agents/web-auto-fix-and-runner.md +35 -0
- package/kits/claude/.claude/agents/web-auto-lessons-learned-extractor.md +34 -0
- package/kits/claude/.claude/agents/web-auto-playwright-mcp-selector-extractor.md +37 -0
- package/kits/claude/.claude/agents/web-auto-source-instructions-updater.md +43 -0
- package/kits/claude/.claude/agents/web-auto-test-cases-generator.md +29 -0
- package/kits/claude/.claude/agents/web-auto-ticket-designer.md +35 -0
- package/kits/claude/.claude/agents/web-auto-ticket-playbook-planner.md +36 -0
- package/kits/claude/.claude/agents/web-auto.md +382 -0
- package/kits/claude/.claude/skills/claude-code-subagent-creator/SKILL.md +292 -0
- package/kits/claude/.claude/skills/claude-code-subagent-creator/references/claude-code-subagent-configuration.md +158 -0
- package/kits/claude/.claude/skills/claude-code-subagent-creator/templates/subagent-profile.template.md +26 -0
- package/kits/claude/.claude/skills/skill-creator/LICENSE.txt +202 -0
- package/kits/claude/.claude/skills/skill-creator/SKILL.md +485 -0
- package/kits/claude/.claude/skills/skill-creator/agents/analyzer.md +274 -0
- package/kits/claude/.claude/skills/skill-creator/agents/comparator.md +202 -0
- package/kits/claude/.claude/skills/skill-creator/agents/grader.md +223 -0
- package/kits/claude/.claude/skills/skill-creator/assets/eval_review.html +146 -0
- package/kits/claude/.claude/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/kits/claude/.claude/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/kits/claude/.claude/skills/skill-creator/references/schemas.md +430 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/__init__.py +0 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/generate_report.py +326 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/improve_description.py +247 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/package_skill.py +136 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/run_eval.py +310 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/run_loop.py +328 -0
- package/kits/claude/.claude/skills/skill-creator/scripts/utils.py +47 -0
- package/kits/claude/manifest.json +10 -0
- package/kits/cursor/.cursor/agents/code-pusher.agent.md +43 -0
- package/kits/cursor/.cursor/agents/feature-document-updater.agent.md +34 -0
- package/kits/cursor/.cursor/agents/self-reviewer.agent.md +29 -0
- package/kits/cursor/.cursor/agents/web-auto-agentic-workflow-initializer.agent.md +37 -0
- package/kits/cursor/.cursor/agents/web-auto-assisted-fix-and-runner.agent.md +33 -0
- package/kits/cursor/.cursor/agents/web-auto-chrome-devtools-selector-extractor.agent.md +31 -0
- package/kits/cursor/.cursor/agents/web-auto-coder.agent.md +30 -0
- package/kits/cursor/.cursor/agents/web-auto-fe-selector-extractor.agent.md +28 -0
- package/kits/cursor/.cursor/agents/web-auto-fix-and-runner.agent.md +32 -0
- package/kits/cursor/.cursor/agents/web-auto-lessons-learned-extractor.agent.md +31 -0
- package/kits/cursor/.cursor/agents/web-auto-playwright-mcp-selector-extractor.agent.md +32 -0
- package/kits/cursor/.cursor/agents/web-auto-source-instructions-updater.agent.md +40 -0
- package/kits/cursor/.cursor/agents/web-auto-test-cases-generator.agent.md +26 -0
- package/kits/cursor/.cursor/agents/web-auto-ticket-designer.agent.md +32 -0
- package/kits/cursor/.cursor/agents/web-auto-ticket-playbook-planner.agent.md +33 -0
- package/kits/cursor/.cursor/agents/web-auto.agent.md +379 -0
- package/kits/cursor/.cursor/skills/claude-code-subagent-creator/SKILL.md +292 -0
- package/kits/cursor/.cursor/skills/claude-code-subagent-creator/references/claude-code-subagent-configuration.md +158 -0
- package/kits/cursor/.cursor/skills/claude-code-subagent-creator/templates/subagent-profile.template.md +26 -0
- package/kits/cursor/.cursor/skills/skill-creator/LICENSE.txt +202 -0
- package/kits/cursor/.cursor/skills/skill-creator/SKILL.md +485 -0
- package/kits/cursor/.cursor/skills/skill-creator/agents/analyzer.md +274 -0
- package/kits/cursor/.cursor/skills/skill-creator/agents/comparator.md +202 -0
- package/kits/cursor/.cursor/skills/skill-creator/agents/grader.md +223 -0
- package/kits/cursor/.cursor/skills/skill-creator/assets/eval_review.html +146 -0
- package/kits/cursor/.cursor/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/kits/cursor/.cursor/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/kits/cursor/.cursor/skills/skill-creator/references/schemas.md +430 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/__init__.py +0 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/generate_report.py +326 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/improve_description.py +247 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/package_skill.py +136 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/run_eval.py +310 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/run_loop.py +328 -0
- package/kits/cursor/.cursor/skills/skill-creator/scripts/utils.py +47 -0
- package/kits/cursor/manifest.json +10 -0
- package/kits/github/.github/agents/code-pusher.agent.md +45 -0
- package/kits/github/.github/agents/feature-document-updater.agent.md +36 -0
- package/kits/github/.github/agents/self-reviewer.agent.md +31 -0
- package/kits/github/.github/agents/web-auto-agentic-workflow-initializer.agent.md +39 -0
- package/kits/github/.github/agents/web-auto-assisted-fix-and-runner.agent.md +35 -0
- package/kits/github/.github/agents/web-auto-chrome-devtools-selector-extractor.agent.md +33 -0
- package/kits/github/.github/agents/web-auto-coder.agent.md +32 -0
- package/kits/github/.github/agents/web-auto-fe-selector-extractor.agent.md +30 -0
- package/kits/github/.github/agents/web-auto-fix-and-runner.agent.md +34 -0
- package/kits/github/.github/agents/web-auto-lessons-learned-extractor.agent.md +33 -0
- package/kits/github/.github/agents/web-auto-playwright-mcp-selector-extractor.agent.md +34 -0
- package/kits/github/.github/agents/web-auto-source-instructions-updater.agent.md +42 -0
- package/kits/github/.github/agents/web-auto-test-cases-generator.agent.md +28 -0
- package/kits/github/.github/agents/web-auto-ticket-designer.agent.md +34 -0
- package/kits/github/.github/agents/web-auto-ticket-playbook-creator.agent.md +35 -0
- package/kits/github/.github/agents/web-auto.agent.md +382 -0
- package/kits/github/.github/skills/claude-code-subagent-creator/SKILL.md +310 -0
- package/kits/github/.github/skills/claude-code-subagent-creator/references/claude-code-subagent-configuration.md +158 -0
- package/kits/github/.github/skills/claude-code-subagent-creator/templates/subagent-profile.template.md +37 -0
- package/kits/github/.github/skills/skill-creator/LICENSE.txt +202 -0
- package/kits/github/.github/skills/skill-creator/SKILL.md +485 -0
- package/kits/github/.github/skills/skill-creator/agents/analyzer.md +274 -0
- package/kits/github/.github/skills/skill-creator/agents/comparator.md +202 -0
- package/kits/github/.github/skills/skill-creator/agents/grader.md +223 -0
- package/kits/github/.github/skills/skill-creator/assets/eval_review.html +146 -0
- package/kits/github/.github/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/kits/github/.github/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/kits/github/.github/skills/skill-creator/references/schemas.md +430 -0
- package/kits/github/.github/skills/skill-creator/scripts/__init__.py +0 -0
- package/kits/github/.github/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/kits/github/.github/skills/skill-creator/scripts/generate_report.py +326 -0
- package/kits/github/.github/skills/skill-creator/scripts/improve_description.py +247 -0
- package/kits/github/.github/skills/skill-creator/scripts/package_skill.py +136 -0
- package/kits/github/.github/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/kits/github/.github/skills/skill-creator/scripts/run_eval.py +310 -0
- package/kits/github/.github/skills/skill-creator/scripts/run_loop.py +328 -0
- package/kits/github/.github/skills/skill-creator/scripts/utils.py +47 -0
- package/kits/github/manifest.json +10 -0
- package/kits/shared/docs/ai-code-review.md +440 -0
- package/kits/shared/docs/increase-unit-test-coverage.md +77 -0
- package/kits/shared/docs/pr-review-agent.md +501 -0
- package/kits/shared/docs/self-review-agent.md +246 -0
- package/kits/shared/docs/web-auto-agentic-workflow.md +506 -0
- package/kits/shared/manifest.json +11 -0
- package/kits/shared/skills/fix-automation-tests/SKILL.md +280 -0
- package/kits/shared/skills/fix-automation-tests/scripts/fetch_pr_changes.py +300 -0
- package/kits/shared/skills/fix-automation-tests/templates/impact-report.template.md +42 -0
- package/kits/shared/skills/increase-unit-test-coverage/SKILL.md +117 -0
- package/kits/shared/skills/increase-unit-test-coverage/scripts/filter_low_coverage.py +447 -0
- package/kits/shared/skills/pr-review/SKILL.md +200 -0
- package/kits/shared/skills/pr-review/references/automation.md +62 -0
- package/kits/shared/skills/pr-review/references/backend.md +95 -0
- package/kits/shared/skills/pr-review/references/frontend.md +103 -0
- package/kits/shared/skills/pr-review/references/mobile.md +108 -0
- package/kits/shared/skills/pr-review/references/output-schema.md +130 -0
- package/kits/shared/skills/pr-review/scripts/post-review.py +1395 -0
- package/kits/shared/skills/push-code/SKILL.md +176 -0
- package/kits/shared/skills/self-review/SKILL.md +234 -0
- package/kits/shared/skills/self-review/evals/evals.json +23 -0
- package/kits/shared/skills/self-review/references/automation.md +62 -0
- package/kits/shared/skills/self-review/references/backend.md +95 -0
- package/kits/shared/skills/self-review/references/frontend.md +103 -0
- package/kits/shared/skills/self-review/references/mobile.md +108 -0
- package/kits/shared/skills/self-review/templates/issues.template.md +72 -0
- package/kits/shared/skills/update-feature-document/SKILL.md +156 -0
- package/kits/shared/skills/update-feature-document/templates/delta.template.yaml +58 -0
- package/kits/shared/skills/update-feature-document/templates/feature.template.md +25 -0
- package/kits/shared/skills/web-auto-assisted-fix-and-run/SKILL.md +130 -0
- package/kits/shared/skills/web-auto-assisted-fix-and-run/references/resolve-api-error.md +108 -0
- package/kits/shared/skills/web-auto-assisted-fix-and-run/references/resolve-selector.md +60 -0
- package/kits/shared/skills/web-auto-assisted-fix-and-run/templates/issues-resolution-report-append.template.md +54 -0
- package/kits/shared/skills/web-auto-chrome-devtools-mcp-extract-selectors/SKILL.md +284 -0
- package/kits/shared/skills/web-auto-coding/SKILL.md +152 -0
- package/kits/shared/skills/web-auto-extract-lessons-learned/SKILL.md +168 -0
- package/kits/shared/skills/web-auto-extract-lessons-learned/templates/lessons-learned.template.md +115 -0
- package/kits/shared/skills/web-auto-fe-extract-selectors/SKILL.md +282 -0
- package/kits/shared/skills/web-auto-fe-extract-selectors/evals/evals.json +23 -0
- package/kits/shared/skills/web-auto-fix-and-run-test/SKILL.md +183 -0
- package/kits/shared/skills/web-auto-fix-and-run-test/templates/issues-resolution-report.template.md +77 -0
- package/kits/shared/skills/web-auto-generate-best-practices/SKILL.md +123 -0
- package/kits/shared/skills/web-auto-generate-instructions/SKILL.md +200 -0
- package/kits/shared/skills/web-auto-generate-instructions/evals/evals.json +23 -0
- package/kits/shared/skills/web-auto-generate-instructions/references/analysis-guide.md +145 -0
- package/kits/shared/skills/web-auto-generate-instructions/templates/web-auto-instructions.template.md +184 -0
- package/kits/shared/skills/web-auto-generate-project-blueprint/SKILL.md +181 -0
- package/kits/shared/skills/web-auto-generate-project-blueprint/evals/evals.json +57 -0
- package/kits/shared/skills/web-auto-generate-project-blueprint/templates/web-auto-project-blueprint.template.md +161 -0
- package/kits/shared/skills/web-auto-playwright-mcp-extract-selectors/SKILL.md +293 -0
- package/kits/shared/skills/web-auto-test-cases/SKILL.md +138 -0
- package/kits/shared/skills/web-auto-test-cases/evals/evals.json +129 -0
- package/kits/shared/skills/web-auto-test-cases/templates/test-cases.template.md +53 -0
- package/kits/shared/skills/web-auto-ticket-design/SKILL.md +199 -0
- package/kits/shared/skills/web-auto-ticket-design/templates/ticket-design.template.md +138 -0
- package/kits/shared/skills/web-auto-ticket-playbook/SKILL.md +218 -0
- package/kits/shared/skills/web-auto-ticket-playbook/evals/evals.json +23 -0
- package/kits/shared/skills/web-auto-ticket-playbook/templates/ticket-playbook.template.md +148 -0
- package/kits/shared/skills/web-auto-update-source-instructions/SKILL.md +156 -0
- package/kits/shared/skills/web-auto-update-source-instructions/evals/evals.json +22 -0
- package/kits/shared/skills/workspace-ai-nav-creator/SKILL.md +168 -0
- package/kits/shared/skills/workspace-ai-nav-creator/templates/agents-md.template.md +112 -0
- package/kits/shared/skills/workspace-ai-nav-creator/templates/claude-md.template.md +86 -0
- package/package.json +16 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Codebase Analysis Guide
|
|
2
|
+
|
|
3
|
+
Reference for Steps 2–3 of the workflow. Each section maps directly to a section in the output template.
|
|
4
|
+
|
|
5
|
+
> **Before starting**: Read `.documents-design/web-auto-project-blueprint.md` and `.documents-design/web-auto-best-practices.md` first (Step 1 of the workflow). Build a mental note of what is already documented there so you do not repeat it.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Pre-analysis: Understand the Project Context
|
|
10
|
+
|
|
11
|
+
These steps are for orientation only — their findings do NOT go into the instructions file.
|
|
12
|
+
|
|
13
|
+
**Detect the framework** using dependency files and config file signals:
|
|
14
|
+
|
|
15
|
+
| Framework | Detection Signals |
|
|
16
|
+
|-----------|------------------|
|
|
17
|
+
| Playwright | `playwright.config.*`, `@playwright/test` import |
|
|
18
|
+
| Cypress | `cypress.config.*`, `cypress/` directory |
|
|
19
|
+
| WebdriverIO | `wdio.conf.*`, `@wdio/` imports |
|
|
20
|
+
| Selenium | `selenium-webdriver` / `selenium` package, `WebDriver` class |
|
|
21
|
+
| Robot Framework | `.robot` / `.resource` files, `Library SeleniumLibrary` |
|
|
22
|
+
| Nightwatch | `nightwatch.conf.*` |
|
|
23
|
+
| Puppeteer | `puppeteer` package, `browser.newPage()` |
|
|
24
|
+
| TestCafe | `testcafe` package, `.testcafe` config |
|
|
25
|
+
|
|
26
|
+
Secondary signals by language: `package.json` (JS/TS) · `requirements.txt` / `pyproject.toml` (Python) · `pom.xml` / `build.gradle` (Java) · `Gemfile` (Ruby) · `*.csproj` (C#)
|
|
27
|
+
|
|
28
|
+
**Find all relevant files** before reading any of them:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
Test specs: **/*.spec.*, **/*.test.*, **/*_test.*, **/*Test.*, **/test_*.*, **/*.cy.*
|
|
32
|
+
Page objects: **/*.page.*, **/*Page.*, **/*_page.*, **/*PO.*
|
|
33
|
+
Helpers: **/helpers/**/*, **/utils/**/*, **/support/**/*
|
|
34
|
+
Data/fixtures: **/fixtures/**/*, **/data/**/*, **/factories/**/*
|
|
35
|
+
Config: *.config.*, wdio.conf.*, conftest.*, jest.config.*
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Adjust patterns to match the project's actual file extensions and naming style. Read samples from **at least 5 different feature areas** — not just one.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## → Template Section 1: Page Object Patterns
|
|
43
|
+
|
|
44
|
+
Read **3–5 representative Page Object files**. Extract:
|
|
45
|
+
|
|
46
|
+
| Aspect | What to Look For |
|
|
47
|
+
|--------|-----------------|
|
|
48
|
+
| **Class structure** | Class declaration, inheritance, export/instantiation pattern |
|
|
49
|
+
| **Selector definitions** | How selectors are stored — properties, getters, factory methods; static vs parameterized |
|
|
50
|
+
| **Selector declaration rules** | Any framework-specific constraints on how selectors must be written (e.g., sync vs async) |
|
|
51
|
+
| **Action methods** | How user interactions are encapsulated; naming convention |
|
|
52
|
+
| **Verification methods** | Whether assertions live in Page Objects or in test files |
|
|
53
|
+
| **Step wrappers** | Whether a step/substep reporting wrapper is used (allure.step, custom wrappers) |
|
|
54
|
+
| **Component reuse** | Whether smaller components (modals, tables, forms) are composed into page objects |
|
|
55
|
+
|
|
56
|
+
> If you find selector strategy rules (priority order: test IDs, ARIA, CSS, XPath) or anti-patterns during this analysis, add them to `.documents-design/web-auto-best-practices.md`.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## → Template Section 2: Test Structure & Patterns
|
|
61
|
+
|
|
62
|
+
Read **5–8 test files** across different features. Extract:
|
|
63
|
+
|
|
64
|
+
| Aspect | What to Look For |
|
|
65
|
+
|--------|-----------------|
|
|
66
|
+
| **Test file template** | Import order, describe/suite structure, one complete test case |
|
|
67
|
+
| **Hook patterns** | What belongs in `before` / `beforeAll` vs `beforeEach`; cleanup placement |
|
|
68
|
+
| **Assertion style** | Which library is used; assertion style (BDD, TDD, custom matchers) |
|
|
69
|
+
| **Step organization** | How actions and verifications are grouped; step ownership rules per page object |
|
|
70
|
+
| **Tags / annotations** | How tests are categorized for selective execution |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## → Template Section 3: Test Data Management
|
|
75
|
+
|
|
76
|
+
Look for dedicated data files, fixture files, or factory modules. Extract:
|
|
77
|
+
|
|
78
|
+
| Aspect | What to Look For |
|
|
79
|
+
|--------|-----------------|
|
|
80
|
+
| **Data file structure** | Location, naming, what a typical data file contains |
|
|
81
|
+
| **Type definitions** | How test data shape is expressed (interfaces, dataclasses, POJOs, type hints) |
|
|
82
|
+
| **Dynamic value generation** | What utility generates unique/random values |
|
|
83
|
+
| **Shared constants** | Enums, lookup tables, or constant sets reused across tests |
|
|
84
|
+
| **Cleanup pattern** | How data created by tests is removed; whether cleanup is in a hook or inline |
|
|
85
|
+
|
|
86
|
+
> Omit Section 3 from the output if the project has no dedicated data files — inline or ad-hoc data is sufficient to note in the test file template.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## → Template Section 4: API & Backend Helpers
|
|
91
|
+
|
|
92
|
+
Look for programmatic test data setup/teardown. Common locations: `helpers/`, `utils/`, `support/`, `api/`, `factories/`, `seeds/`, or files named after entities.
|
|
93
|
+
|
|
94
|
+
| Aspect | What to Look For |
|
|
95
|
+
|--------|-----------------|
|
|
96
|
+
| **Auth pattern** | How a token, session, or credential is obtained for API calls |
|
|
97
|
+
| **Data setup** | How test data is created programmatically before tests |
|
|
98
|
+
| **Data teardown** | How test data is removed after tests |
|
|
99
|
+
| **Find / search** | How existing records are located (needed to get IDs for cleanup) |
|
|
100
|
+
| **Available modules** | Which helper modules exist and what entities they cover |
|
|
101
|
+
| **Conventions** | Project-wide rules: default role, retry/sleep patterns, query style, error handling |
|
|
102
|
+
|
|
103
|
+
> Omit Section 4 from the output if the project has no programmatic API helpers.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## → Template Section 5: Common Workflow Patterns
|
|
108
|
+
|
|
109
|
+
Look for patterns that appear repeatedly across multiple test files. Extract real code for:
|
|
110
|
+
|
|
111
|
+
- Login and navigation flows
|
|
112
|
+
- Search and selection from a list
|
|
113
|
+
- Form fill and submission
|
|
114
|
+
- Modal / dialog confirmation
|
|
115
|
+
- Async UI feedback (spinners, loading states, toast notifications)
|
|
116
|
+
|
|
117
|
+
> Omit Section 5 from the output if no recurring multi-step patterns were found.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## → Template Section 6: Implementation Checklist
|
|
122
|
+
|
|
123
|
+
Fill in the actual values directly into the checklist items — this section must be self-contained and immediately usable without opening any other document.
|
|
124
|
+
|
|
125
|
+
**Planning steps:** List the project-specific steps required before writing a test (e.g., assign a test ID, register a feature abbreviation in the test registry). Check the README, CONTRIBUTING.md, or blueprint for any required setup steps. If there are none, omit the Planning sub-section.
|
|
126
|
+
|
|
127
|
+
**Files to Create — replace example paths with real patterns:**
|
|
128
|
+
|
|
129
|
+
| Item | Where to Find the Pattern |
|
|
130
|
+
|------|-----------------------------|
|
|
131
|
+
| Page Object path | From the page object directory structure |
|
|
132
|
+
| API helper path | From the helper module locations |
|
|
133
|
+
| Type definition path | From the interfaces / models file locations |
|
|
134
|
+
| Test data / fixture path | From the fixture or data file locations |
|
|
135
|
+
| Test spec path | From the test spec directory |
|
|
136
|
+
|
|
137
|
+
**Before Committing — replace placeholder commands with real commands:**
|
|
138
|
+
|
|
139
|
+
| Command | Where to Find It |
|
|
140
|
+
|---------|-----------------|
|
|
141
|
+
| Run tests locally | `package.json` scripts, `Makefile`, README, or CI config |
|
|
142
|
+
| Lint command | Same sources |
|
|
143
|
+
| Type-check command | Same sources |
|
|
144
|
+
|
|
145
|
+
If any of these commands don't apply to the project (e.g., no type-checking), omit that checklist item.
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# Web Automation Test Instructions
|
|
2
|
+
|
|
3
|
+
> **Purpose**: Copy-paste-ready code patterns and templates extracted from the actual codebase. Use this file when writing new tests.
|
|
4
|
+
>
|
|
5
|
+
> **Related documents** — read these alongside this file:
|
|
6
|
+
> - `.documents-design/web-auto-project-blueprint.md` — project architecture, tech stack, directory structure, file naming conventions, and selector strategy
|
|
7
|
+
> - `.documents-design/web-auto-best-practices.md` — coding standards, rules, and anti-patterns
|
|
8
|
+
>
|
|
9
|
+
> This file does not repeat information from the two files above, except in **Section 6** where path patterns and commands are reproduced inline for quick reference. Cross-references are added elsewhere where relevant.
|
|
10
|
+
|
|
11
|
+
## 1. Page Object Patterns
|
|
12
|
+
|
|
13
|
+
### Page Object Template
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
[Full, copy-paste-ready Page Object skeleton following the exact conventions observed:
|
|
17
|
+
- import statements
|
|
18
|
+
- class declaration and inheritance
|
|
19
|
+
- selector definitions (static and parameterized)
|
|
20
|
+
- action methods
|
|
21
|
+
- verification / assertion methods
|
|
22
|
+
- export statement]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Selector Definition Conventions
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
[Real examples of how selectors are declared in this project:
|
|
29
|
+
static selectors, parameterized/dynamic selectors, and any rules that must be followed]
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Action Methods
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
[Real example of an action method, including any required wrappers (e.g., step, allure.step)]
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Verification Methods
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
[Real example of a verification method, including any required wrappers]
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## 2. Test Structure & Patterns
|
|
45
|
+
|
|
46
|
+
### Test File Template
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
[Full, copy-paste-ready test file skeleton:
|
|
50
|
+
- import statements
|
|
51
|
+
- describe / suite block
|
|
52
|
+
- setup and teardown hooks
|
|
53
|
+
- one complete test case showing the full flow]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Hook Patterns
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
[What belongs in each hook — before, beforeEach, afterEach, after — with real examples]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Assertion Patterns
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
[Primary assertion style used in this project, with real examples]
|
|
66
|
+
[Secondary assertion style, if a second library is used]
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Step Organization
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
[How actions and verifications are structured inside a test.
|
|
73
|
+
Include rules about step ownership — which page object drives which steps.]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Tag / Annotation Conventions
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
[How tests are categorized or tagged in this project, with real examples]
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## 3. Test Data Management
|
|
83
|
+
|
|
84
|
+
[Omit this section if the project has no dedicated data files or fixtures.]
|
|
85
|
+
|
|
86
|
+
### Strategy
|
|
87
|
+
|
|
88
|
+
[Describe the approach used: inline data, fixture files, API-seeded data, factory pattern, or a combination.]
|
|
89
|
+
|
|
90
|
+
### Data File Template
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
[Full data file skeleton following the exact conventions in this project,
|
|
94
|
+
including imports, shared constants, and dynamic field generation]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Type Definitions / Data Models
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
[How test data shapes are typed or modelled in this project, e.g., interfaces, dataclasses, POJOs]
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Dynamic Data Generation
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
[How unique or random values are generated in this project, with real examples]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Cleanup Pattern
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
[How test data is removed after tests, with a real example]
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
> **Rule**: [Any mandatory cleanup rule observed in the project — e.g., cleanup must run in a setup hook, not inline in the test body]
|
|
116
|
+
|
|
117
|
+
## 4. API & Backend Helpers
|
|
118
|
+
|
|
119
|
+
[Omit this section entirely if the project has no programmatic API helpers for test data setup.]
|
|
120
|
+
|
|
121
|
+
### Overview
|
|
122
|
+
|
|
123
|
+
| Helper Type | Location | When to Use |
|
|
124
|
+
|-------------|----------|-------------|
|
|
125
|
+
| [REST / GraphQL / DB / other] | [path] | [condition] |
|
|
126
|
+
|
|
127
|
+
### Auth Helper
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
[How a token or session is obtained for programmatic API calls, with real code]
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Data Setup Pattern
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
[How test data is created via API before tests, with real code]
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Data Teardown Pattern
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
[How test data is destroyed via API, with real code]
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Available Helper Modules
|
|
146
|
+
|
|
147
|
+
| Module | Path | Key Operations |
|
|
148
|
+
|--------|------|----------------|
|
|
149
|
+
| [module name] | [path] | [create, find, delete, …] |
|
|
150
|
+
|
|
151
|
+
### Rules & Gotchas
|
|
152
|
+
|
|
153
|
+
[Any mandatory conventions or known pitfalls for this project's API helpers. Omit if none.]
|
|
154
|
+
|
|
155
|
+
## 5. Common Workflow Patterns
|
|
156
|
+
|
|
157
|
+
[Omit this section if no recurring multi-step patterns were found.]
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
[Patterns that appear frequently across tests, with real code from the project.
|
|
161
|
+
Cover what is applicable: login and navigation, search and selection,
|
|
162
|
+
form fill and submission, modal confirmation, async UI feedback (spinners, notifications).]
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## 6. Implementation Checklist
|
|
166
|
+
|
|
167
|
+
### Planning
|
|
168
|
+
- [ ] [Project-specific step 1 — e.g., assign a test ID]
|
|
169
|
+
- [ ] [Project-specific step 2 — e.g., register feature abbreviation in the test registry]
|
|
170
|
+
|
|
171
|
+
### Files to Create
|
|
172
|
+
|
|
173
|
+
- [ ] Page Object: `[e.g., e2e/pages/{feature}.page.ts]` _(if the page has no Page Object yet)_
|
|
174
|
+
- [ ] API / backend helper: `[e.g., e2e/helpers/{entity}.helper.ts]` _(if not yet created)_
|
|
175
|
+
- [ ] Type definition / data model: `[e.g., e2e/types/{entity}.types.ts]` _(if not yet defined)_
|
|
176
|
+
- [ ] Test data / fixture file: `[e.g., e2e/data/{feature}.data.ts]`
|
|
177
|
+
- [ ] Test spec: `[e.g., e2e/specs/{feature}/{scenario}.spec.ts]`
|
|
178
|
+
|
|
179
|
+
### Before Committing
|
|
180
|
+
|
|
181
|
+
- [ ] Run tests locally: `[actual run command]`
|
|
182
|
+
- [ ] Report shows correct steps and assertions
|
|
183
|
+
- [ ] Test data is cleaned up after the run
|
|
184
|
+
- [ ] Code quality checks pass: `[lint command]` / `[type-check command]`
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-auto-generate-project-blueprint
|
|
3
|
+
description: "Analyze a web automation test codebase and generate a project blueprint saved to `.documents-design/web-auto-project-blueprint.md`. The blueprint documents what the project IS — framework, language, directory structure, file naming conventions, selector strategy, key configuration, CI/CD pipeline, global setup/fixtures, and third-party integrations. Works with any language (TypeScript, JavaScript, Python, Java, Ruby, C#) and any framework (Playwright, Cypress, WebdriverIO, Selenium, Robot Framework, Puppeteer, TestCafe, Nightwatch). Use this skill whenever someone asks to create a web automation project blueprint, document the test project structure, generate a project overview for automation, scaffold the documentation foundation, or initialize the web-auto-project-blueprint file. Also use when someone wants to onboard to an existing automation project, understand how an automation repo is organized, or needs the structural foundation before generating instructions or best practices. Triggers on requests like 'create project blueprint', 'generate web-auto-project-blueprint', 'document the test project structure', 'analyze this automation project', 'what framework does this project use', or 'create documentation foundation for automation'."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Web Auto Generate Project Blueprint
|
|
7
|
+
|
|
8
|
+
Analyze the web automation test codebase and generate a project blueprint that captures what the project is — its framework, language, directory structure, file naming conventions, selector strategy, key configuration, CI/CD pipeline, global setup/fixtures, and third-party integrations. This blueprint is the foundational reference document that other skills (like `web-auto-generate-instructions` and `web-auto-generate-best-practices`) rely on — it should be generated first before running those skills.
|
|
9
|
+
|
|
10
|
+
## Output
|
|
11
|
+
|
|
12
|
+
Save the generated blueprint to:
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
.documents-design/web-auto-project-blueprint.md
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
If the file already exists, update it — preserving accurate sections and replacing outdated ones.
|
|
19
|
+
|
|
20
|
+
## Relationship to Other `.documents-design` Files
|
|
21
|
+
|
|
22
|
+
| File | Role |
|
|
23
|
+
|------|------|
|
|
24
|
+
| `web-auto-project-blueprint.md` (this output) | *What* the project is — structure, tech choices, conventions, infrastructure |
|
|
25
|
+
| `web-auto-best-practices.md` | *How* to write good code — rules, standards, anti-patterns |
|
|
26
|
+
| `web-auto-instructions.md` | *Concrete patterns* — copy-paste templates from the actual codebase |
|
|
27
|
+
|
|
28
|
+
The blueprint is the foundation. The other two files reference it and build on it. When updating the blueprint, avoid duplicating content that belongs in its siblings — structural facts go here, coding rules go in best-practices, concrete code templates go in instructions.
|
|
29
|
+
|
|
30
|
+
## Workflow
|
|
31
|
+
|
|
32
|
+
### Step 1: Read Existing Documentation
|
|
33
|
+
|
|
34
|
+
Before analyzing the codebase, check whether sibling documentation already exists. This prevents duplication and ensures the blueprint stays in its lane.
|
|
35
|
+
|
|
36
|
+
Read if present:
|
|
37
|
+
- `.documents-design/web-auto-best-practices.md` — so you know what's already documented as rules (don't repeat it)
|
|
38
|
+
- `.documents-design/web-auto-instructions.md` — so you know what's already documented as patterns (don't repeat it)
|
|
39
|
+
- `README.md` or project-level docs — may contain setup instructions, architecture notes, or CI info worth cross-referencing
|
|
40
|
+
|
|
41
|
+
If none exist, that's fine — you're creating the first document in the set.
|
|
42
|
+
|
|
43
|
+
### Step 2: Detect Framework and Language
|
|
44
|
+
|
|
45
|
+
Identify the test framework and language by looking for these signals:
|
|
46
|
+
|
|
47
|
+
| Framework | Detection Signals |
|
|
48
|
+
|-----------|------------------|
|
|
49
|
+
| Playwright | `playwright.config.*`, `@playwright/test` import |
|
|
50
|
+
| Cypress | `cypress.config.*`, `cypress/` directory |
|
|
51
|
+
| WebdriverIO | `wdio.conf.*`, `@wdio/` imports |
|
|
52
|
+
| Selenium | `selenium-webdriver` / `selenium` package, `WebDriver` class |
|
|
53
|
+
| Robot Framework | `.robot` / `.resource` files, `Library SeleniumLibrary` |
|
|
54
|
+
| Nightwatch | `nightwatch.conf.*` |
|
|
55
|
+
| Puppeteer | `puppeteer` package, `browser.newPage()` |
|
|
56
|
+
| TestCafe | `testcafe` package, `.testcafe` config |
|
|
57
|
+
|
|
58
|
+
Secondary signals by language: `package.json` (JS/TS) · `requirements.txt` / `pyproject.toml` (Python) · `pom.xml` / `build.gradle` (Java) · `Gemfile` (Ruby) · `*.csproj` (C#)
|
|
59
|
+
|
|
60
|
+
**Multi-framework projects**: Some repos use more than one framework (e.g., Cypress for component tests + Playwright for E2E). If you detect multiple frameworks, document each one with its scope and config file. The template has a "Multiple Frameworks" subsection for this.
|
|
61
|
+
|
|
62
|
+
### Step 3: Extract Configuration
|
|
63
|
+
|
|
64
|
+
Read the framework configuration file(s). Extract:
|
|
65
|
+
- Base URL and environment-specific URL handling
|
|
66
|
+
- Timeouts (global, per-action, per-navigation)
|
|
67
|
+
- Retries on failure
|
|
68
|
+
- Parallel execution settings (workers, sharding)
|
|
69
|
+
- Browser / device targets and headless flag
|
|
70
|
+
- Test directory paths and spec include/exclude patterns
|
|
71
|
+
- Reporter configuration
|
|
72
|
+
- Screenshot, video, trace capture settings
|
|
73
|
+
- Registered services, plugins, or support files
|
|
74
|
+
|
|
75
|
+
### Step 4: Detect Global Setup, Fixtures, and Auth
|
|
76
|
+
|
|
77
|
+
Look for project-wide setup mechanisms — these are structural decisions that affect every test:
|
|
78
|
+
|
|
79
|
+
- **Global setup/teardown files** — e.g., Playwright's `globalSetup`, Cypress `support/e2e.js`, WebdriverIO `before`/`after` hooks
|
|
80
|
+
- **Fixtures / test data strategy** — shared fixture files, factory functions, data builder patterns
|
|
81
|
+
- **Authentication state** — how the project handles login: stored auth state files, API-based auth setup, environment-based credentials
|
|
82
|
+
- **Custom test abstractions** — base page classes, custom test wrappers, shared hooks
|
|
83
|
+
|
|
84
|
+
Search for patterns like: `globalSetup`, `global-setup`, `storageState`, `auth.setup`, `support/`, `fixtures/`, `beforeAll`, `BaseTest`, `BasePage`
|
|
85
|
+
|
|
86
|
+
### Step 5: Map Directory Structure and Naming Conventions
|
|
87
|
+
|
|
88
|
+
Explore the repository to document the test-specific directory tree and all file naming conventions.
|
|
89
|
+
|
|
90
|
+
For each file type, identify:
|
|
91
|
+
- Directory location relative to the project root
|
|
92
|
+
- File naming style (kebab-case, PascalCase, snake_case, suffix pattern)
|
|
93
|
+
- Class or module naming style
|
|
94
|
+
- Whether a test ID or abbreviation scheme exists (e.g., `COM-1`, `TC-001`)
|
|
95
|
+
|
|
96
|
+
**How to explore systematically**: Start from the project root. List the top-level directories, then drill into test-related directories. Use file search patterns like `**/*.spec.*`, `**/*.test.*`, `**/*Page.*`, `**/*page.*` to find test and page object files. Look at 5–8 representative files to confirm patterns, not just 1–2.
|
|
97
|
+
|
|
98
|
+
### Step 6: Identify Selector Strategy
|
|
99
|
+
|
|
100
|
+
Read 3–5 Page Object files (pick them from different feature areas to get a representative sample). Determine the selector priority order used consistently across the project. Document:
|
|
101
|
+
- Priority order (e.g., `data-testid` → ARIA role → CSS → XPath)
|
|
102
|
+
- Real examples of each selector type used in the project
|
|
103
|
+
- Any framework-specific constraints on how selectors must be declared
|
|
104
|
+
|
|
105
|
+
If the project has no Page Object files (e.g., selectors are inline in tests), document that pattern instead and pull selector examples from test files.
|
|
106
|
+
|
|
107
|
+
### Step 7: Detect Third-Party Integrations and Dependencies
|
|
108
|
+
|
|
109
|
+
Scan the dependency file (`package.json`, `requirements.txt`, `pom.xml`, etc.) and config files for test-relevant libraries. These are structural facts about the project:
|
|
110
|
+
|
|
111
|
+
| Category | Examples |
|
|
112
|
+
|----------|----------|
|
|
113
|
+
| API mocking | MSW, Nock, WireMock, Polly.js |
|
|
114
|
+
| Visual testing | Percy, Applitools, Playwright visual comparisons |
|
|
115
|
+
| Accessibility | axe-core, pa11y, Lighthouse |
|
|
116
|
+
| Test data | Faker, Chance, factory libraries |
|
|
117
|
+
| Reporting | Allure, ReportPortal, custom reporters |
|
|
118
|
+
| BDD | Cucumber, SpecFlow, behave |
|
|
119
|
+
| Other | Mailosaur, Docker test containers, database seeders |
|
|
120
|
+
|
|
121
|
+
Only document libraries actually present in the project.
|
|
122
|
+
|
|
123
|
+
### Step 8: Detect CI/CD Pipeline
|
|
124
|
+
|
|
125
|
+
Look for CI/CD configuration files:
|
|
126
|
+
- `.github/workflows/*.yml` (GitHub Actions)
|
|
127
|
+
- `.gitlab-ci.yml` (GitLab CI)
|
|
128
|
+
- `Jenkinsfile` (Jenkins)
|
|
129
|
+
- `.circleci/config.yml` (CircleCI)
|
|
130
|
+
- `azure-pipelines.yml` (Azure DevOps)
|
|
131
|
+
- `bitbucket-pipelines.yml` (Bitbucket)
|
|
132
|
+
|
|
133
|
+
If found, document:
|
|
134
|
+
- Which CI platform is used
|
|
135
|
+
- Which events trigger test runs (push, PR, schedule)
|
|
136
|
+
- Test-related pipeline steps (install, run tests, upload reports)
|
|
137
|
+
- Environment variables or secrets referenced
|
|
138
|
+
- Any Docker images or service containers used
|
|
139
|
+
|
|
140
|
+
If no CI/CD files exist, note that — it's a useful structural fact.
|
|
141
|
+
|
|
142
|
+
### Step 9: Generate the Blueprint
|
|
143
|
+
|
|
144
|
+
Create `.documents-design/web-auto-project-blueprint.md` using the template at [templates/web-auto-project-blueprint.template.md](templates/web-auto-project-blueprint.template.md).
|
|
145
|
+
|
|
146
|
+
**Rules:**
|
|
147
|
+
1. **Facts only** — every statement must be backed by evidence from the codebase or config files
|
|
148
|
+
2. **No code patterns** — copy-paste templates, action method examples, and test data patterns belong in `web-auto-instructions.md`, not here
|
|
149
|
+
3. **No rules or anti-patterns** — coding standards and best practices belong in `web-auto-best-practices.md`, not here
|
|
150
|
+
4. **Real values** — use actual paths, actual command names, and actual configuration values — no placeholders left unfilled
|
|
151
|
+
5. **Omit empty sections** — if the project doesn't have CI/CD, or no third-party integrations, remove those sections rather than leaving placeholder text
|
|
152
|
+
|
|
153
|
+
### Step 10: Verify and Present
|
|
154
|
+
|
|
155
|
+
1. Confirm the file was saved to `.documents-design/web-auto-project-blueprint.md`
|
|
156
|
+
2. Present a summary:
|
|
157
|
+
- Framework(s) and language detected
|
|
158
|
+
- Number of config files and Page Objects read
|
|
159
|
+
- Directory structure sections documented
|
|
160
|
+
- CI/CD pipeline detected (or not)
|
|
161
|
+
- Third-party integrations found
|
|
162
|
+
3. Ask: "Does this blueprint accurately describe the project structure and tech choices?"
|
|
163
|
+
|
|
164
|
+
## Edge Cases
|
|
165
|
+
|
|
166
|
+
- **Greenfield project (no test files yet)**: If the repo has a config file but no tests, generate a blueprint with what exists — tech stack, config, directory structure — and note which sections are empty because no tests exist yet.
|
|
167
|
+
- **Monorepo with multiple test projects**: Look for multiple config files or distinct test directories. Generate one blueprint that documents each sub-project under a clearly labeled subsection, or generate separate blueprints if the user specifies which project.
|
|
168
|
+
- **Mixed frameworks**: Some projects use different frameworks for different purposes (e.g., Cypress component + Playwright E2E, or Jest unit + Playwright E2E). Document each framework's scope clearly.
|
|
169
|
+
- **No Page Object pattern**: If tests use inline selectors or a different abstraction (screen objects, component helpers), adapt the Selector Strategy section to document what actually exists.
|
|
170
|
+
- **Non-standard project structure**: If the project doesn't follow common conventions (e.g., tests scattered across feature directories instead of a central `tests/` folder), document the actual structure and note the pattern.
|
|
171
|
+
|
|
172
|
+
## Important Rules
|
|
173
|
+
|
|
174
|
+
- **Read before writing** — always analyze real files before generating the blueprint
|
|
175
|
+
- **Structure over patterns** — this file describes the project's anatomy, not how to use it
|
|
176
|
+
- **Keep it current** — if re-running on an existing project, check each section for outdated values (e.g., changed directory names, updated framework versions)
|
|
177
|
+
- **Stay in your lane** — resist the urge to add coding rules or code templates; those belong in sibling files
|
|
178
|
+
|
|
179
|
+
## Additional Resources
|
|
180
|
+
|
|
181
|
+
- Output template: [templates/web-auto-project-blueprint.template.md](templates/web-auto-project-blueprint.template.md)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "web-auto-generate-project-blueprint",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "I have a mature Playwright TypeScript project with about 25 test files, page objects, API helpers, a global setup for auth, Allure reporting, and a GitHub Actions CI pipeline. The project also has .documents-design/web-auto-best-practices.md and web-auto-instructions.md already. Can you generate the project blueprint?",
|
|
7
|
+
"expected_output": "A .documents-design/web-auto-project-blueprint.md file that: (1) correctly identifies Playwright + TypeScript as the framework/language, (2) extracts real config values from playwright.config.ts, (3) documents the global setup and auth strategy (storageState or similar), (4) documents the full directory structure and naming conventions based on real files, (5) documents selector strategy from multiple page objects across different feature areas, (6) detects and documents third-party integrations (Allure, etc.), (7) detects and documents the GitHub Actions CI pipeline with trigger events and test steps, (8) does NOT duplicate content from existing best-practices or instructions files, (9) has no unfilled placeholder text — all values are real, (10) omits no applicable section that has evidence in the codebase",
|
|
8
|
+
"files": [],
|
|
9
|
+
"expectations": [
|
|
10
|
+
"Output file exists at .documents-design/web-auto-project-blueprint.md",
|
|
11
|
+
"Tech Stack section identifies Playwright and TypeScript with versions",
|
|
12
|
+
"Key Configuration section has real values extracted from playwright.config.ts",
|
|
13
|
+
"Global Setup section documents auth strategy and global setup file",
|
|
14
|
+
"Directory Structure section shows the real directory tree",
|
|
15
|
+
"Selector Strategy section has real selector examples from multiple page objects",
|
|
16
|
+
"Third-Party Integrations section lists Allure and any other detected libraries",
|
|
17
|
+
"CI/CD Pipeline section documents GitHub Actions with trigger events",
|
|
18
|
+
"No placeholder brackets remain in the output (no [value] or [path] text)",
|
|
19
|
+
"Does not contain coding rules or code templates (those belong in sibling files)",
|
|
20
|
+
"Existing best-practices and instructions files were read first"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": 2,
|
|
25
|
+
"prompt": "We just initialized a new Cypress project — there's a cypress.config.ts and the default support files, but no test files or page objects have been written yet. No .documents-design files exist. Can you create a project blueprint for it?",
|
|
26
|
+
"expected_output": "A .documents-design/web-auto-project-blueprint.md file that: (1) correctly identifies Cypress + the language from config, (2) extracts configuration from cypress.config.ts, (3) documents the directory structure as it currently exists, (4) gracefully handles missing tests/page objects — notes that sections are empty because no tests exist yet rather than leaving placeholders, (5) omits Selector Strategy or notes it can't be determined yet, (6) still documents what IS available (tech stack, config, directory structure, commands)",
|
|
27
|
+
"files": [],
|
|
28
|
+
"expectations": [
|
|
29
|
+
"Output file exists at .documents-design/web-auto-project-blueprint.md",
|
|
30
|
+
"Tech Stack section identifies Cypress",
|
|
31
|
+
"Key Configuration section has values from cypress.config.ts",
|
|
32
|
+
"Directory Structure reflects the actual (sparse) project structure",
|
|
33
|
+
"Selector Strategy section is either omitted or notes no tests exist to analyze",
|
|
34
|
+
"File naming conventions section acknowledges no test files exist yet",
|
|
35
|
+
"Summary notes this is a greenfield project with limited content",
|
|
36
|
+
"No placeholder brackets remain in the output"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": 3,
|
|
41
|
+
"prompt": "Our project uses both Cypress for component testing and Playwright for E2E tests. Each has its own config file and test directory. There's also a shared fixtures directory and a Jenkins pipeline. The existing blueprint is outdated — we recently added the Playwright E2E layer. Can you update it?",
|
|
42
|
+
"expected_output": "An updated .documents-design/web-auto-project-blueprint.md that: (1) documents both frameworks with their distinct scopes (component vs E2E), (2) has separate configuration sections or subsections for each framework, (3) documents the shared fixtures directory, (4) detects the Jenkins pipeline from Jenkinsfile, (5) updates outdated sections while preserving accurate ones, (6) uses the Multiple Frameworks subsection in Tech Stack, (7) presents a summary noting what changed from the previous version",
|
|
43
|
+
"files": [],
|
|
44
|
+
"expectations": [
|
|
45
|
+
"Output file exists at .documents-design/web-auto-project-blueprint.md",
|
|
46
|
+
"Tech Stack section lists both Cypress and Playwright with their scopes",
|
|
47
|
+
"Multiple Frameworks subsection is present and populated",
|
|
48
|
+
"Configuration documented for both cypress.config and playwright.config",
|
|
49
|
+
"Shared fixtures directory is documented in Global Setup section",
|
|
50
|
+
"CI/CD section documents Jenkins pipeline from Jenkinsfile",
|
|
51
|
+
"Directory Structure reflects both test directories",
|
|
52
|
+
"Summary notes what was updated vs preserved from previous blueprint",
|
|
53
|
+
"No placeholder brackets remain in the output"
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
}
|