qa-flowkit 0.4.0-alpha.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/.qa-ai/adapters/aider/.aider/README.md +25 -0
- package/.qa-ai/adapters/aider/.aider.conf.yml +6 -0
- package/.qa-ai/adapters/claude/agents/qa-workflow-orchestrator.md +18 -0
- package/.qa-ai/adapters/claude/commands/qa-add-tests.md +42 -0
- package/.qa-ai/adapters/claude/commands/qa-automation-plan.md +43 -0
- package/.qa-ai/adapters/claude/commands/qa-clean.md +42 -0
- package/.qa-ai/adapters/claude/commands/qa-config.md +51 -0
- package/.qa-ai/adapters/claude/commands/qa-coverage.md +46 -0
- package/.qa-ai/adapters/claude/commands/qa-doctor.md +11 -0
- package/.qa-ai/adapters/claude/commands/qa-full-flow.md +59 -0
- package/.qa-ai/adapters/claude/commands/qa-gate.md +36 -0
- package/.qa-ai/adapters/claude/commands/qa-help.md +30 -0
- package/.qa-ai/adapters/claude/commands/qa-init.md +70 -0
- package/.qa-ai/adapters/claude/commands/qa-status.md +56 -0
- package/.qa-ai/adapters/claude/commands/qa-update-tests.md +47 -0
- package/.qa-ai/adapters/claude/commands/qa-validate-features.md +36 -0
- package/.qa-ai/adapters/cline/.cline/README.md +25 -0
- package/.qa-ai/adapters/cline/.clinerules +9 -0
- package/.qa-ai/adapters/codex/README.md +44 -0
- package/.qa-ai/adapters/codex/prompts/implement-project.md +15 -0
- package/.qa-ai/adapters/continue/README.md +26 -0
- package/.qa-ai/adapters/continue/checks/qa-feature-conventions.md +15 -0
- package/.qa-ai/adapters/gemini/GEMINI.md +40 -0
- package/.qa-ai/adapters/generic/AGENTS.md +100 -0
- package/.qa-ai/adapters/goose/recipes/qa-flowkit.yaml +20 -0
- package/.qa-ai/adapters/opencode/README.md +57 -0
- package/.qa-ai/adapters/opencode/agents/qa-workflow.md +18 -0
- package/.qa-ai/adapters/opencode/commands/qa-add-tests.md +42 -0
- package/.qa-ai/adapters/opencode/commands/qa-automation-plan.md +43 -0
- package/.qa-ai/adapters/opencode/commands/qa-clean.md +42 -0
- package/.qa-ai/adapters/opencode/commands/qa-config.md +51 -0
- package/.qa-ai/adapters/opencode/commands/qa-coverage.md +46 -0
- package/.qa-ai/adapters/opencode/commands/qa-doctor.md +13 -0
- package/.qa-ai/adapters/opencode/commands/qa-full-flow.md +59 -0
- package/.qa-ai/adapters/opencode/commands/qa-gate.md +36 -0
- package/.qa-ai/adapters/opencode/commands/qa-help.md +30 -0
- package/.qa-ai/adapters/opencode/commands/qa-init.md +70 -0
- package/.qa-ai/adapters/opencode/commands/qa-status.md +56 -0
- package/.qa-ai/adapters/opencode/commands/qa-update-tests.md +47 -0
- package/.qa-ai/adapters/opencode/commands/qa-validate-features.md +36 -0
- package/.qa-ai/agents/README.md +39 -0
- package/.qa-ai/agents/api-testing-agent.md +73 -0
- package/.qa-ai/agents/automation-feasibility-agent.md +128 -0
- package/.qa-ai/agents/gherkin-test-design-agent.md +110 -0
- package/.qa-ai/agents/jira-task-agent.md +92 -0
- package/.qa-ai/agents/pr-agent.md +101 -0
- package/.qa-ai/agents/qa-context-intake-agent.md +75 -0
- package/.qa-ai/agents/qa-workflow-orchestrator.md +113 -0
- package/.qa-ai/agents/release-gate-agent.md +50 -0
- package/.qa-ai/agents/requirements-intake-agent.md +79 -0
- package/.qa-ai/agents/requirements-normalization-agent.md +80 -0
- package/.qa-ai/agents/specialists/available/appium.md +59 -0
- package/.qa-ai/agents/specialists/available/cypress.md +68 -0
- package/.qa-ai/agents/specialists/available/generic-test-design.md +117 -0
- package/.qa-ai/agents/specialists/available/jira.md +108 -0
- package/.qa-ai/agents/specialists/available/karate.md +97 -0
- package/.qa-ai/agents/specialists/available/playwright-api.md +87 -0
- package/.qa-ai/agents/specialists/available/playwright-ui.md +87 -0
- package/.qa-ai/agents/specialists/available/postman.md +108 -0
- package/.qa-ai/agents/specialists/available/rest-assured.md +103 -0
- package/.qa-ai/agents/specialists/available/selenium.md +91 -0
- package/.qa-ai/agents/specialists/available/testrail.md +85 -0
- package/.qa-ai/agents/specialists/available/webdriverio.md +81 -0
- package/.qa-ai/agents/test-design-system-agent.md +33 -0
- package/.qa-ai/agents/testrail-coverage-agent.md +84 -0
- package/.qa-ai/agents/testrail-sync-agent.md +96 -0
- package/.qa-ai/agents/webdriverio-implementation-agent.md +84 -0
- package/.qa-ai/presets/manual-only.yaml +65 -0
- package/.qa-ai/presets/selenium-jest-browserstack.yaml +72 -0
- package/.qa-ai/presets/webdriverio-playwright-api.yaml +85 -0
- package/.qa-ai/rules/api-testing.rules.md +7 -0
- package/.qa-ai/rules/approval.rules.md +8 -0
- package/.qa-ai/rules/automation.rules.md +7 -0
- package/.qa-ai/rules/gherkin.rules.md +12 -0
- package/.qa-ai/rules/testrail.rules.md +10 -0
- package/.qa-ai/rules/webdriverio.rules.md +9 -0
- package/.qa-ai/scripts/bootstrap-agent-adapters.mjs +127 -0
- package/.qa-ai/scripts/clean.mjs +243 -0
- package/.qa-ai/scripts/config.mjs +202 -0
- package/.qa-ai/scripts/doctor.mjs +383 -0
- package/.qa-ai/scripts/init.mjs +447 -0
- package/.qa-ai/scripts/lib/markdown-table.mjs +76 -0
- package/.qa-ai/scripts/lib/project-config.mjs +184 -0
- package/.qa-ai/scripts/lib/qa-next-steps.mjs +578 -0
- package/.qa-ai/scripts/lib/release-gate.mjs +66 -0
- package/.qa-ai/scripts/lib/test-design.mjs +92 -0
- package/.qa-ai/scripts/lib/test-management-mapping.mjs +73 -0
- package/.qa-ai/scripts/lib/utils.mjs +331 -0
- package/.qa-ai/scripts/qa-help.mjs +44 -0
- package/.qa-ai/scripts/smoke-npm-pack.mjs +187 -0
- package/.qa-ai/scripts/smoke-test.mjs +465 -0
- package/.qa-ai/scripts/sync-agent-adapters.mjs +121 -0
- package/.qa-ai/scripts/test-validators.mjs +334 -0
- package/.qa-ai/scripts/validate-active-specialists.mjs +106 -0
- package/.qa-ai/scripts/validate-features.mjs +277 -0
- package/.qa-ai/scripts/validate-release-gate.mjs +105 -0
- package/.qa-ai/scripts/validate-sync-plan.mjs +186 -0
- package/.qa-ai/scripts/validate-target.mjs +104 -0
- package/.qa-ai/scripts/validate-test-design.mjs +117 -0
- package/.qa-ai/scripts/validate-traceability.mjs +183 -0
- package/.qa-ai/templates/automation-feasibility-report.template.md +21 -0
- package/.qa-ai/templates/automation-implementation-plan.template.md +23 -0
- package/.qa-ai/templates/feature.template +13 -0
- package/.qa-ai/templates/jira-automation-task.template.md +25 -0
- package/.qa-ai/templates/pr-template.md +60 -0
- package/.qa-ai/templates/release-gate.template.yaml +16 -0
- package/.qa-ai/templates/requirement-analysis.template.md +17 -0
- package/.qa-ai/templates/test-design-proposal.template.md +26 -0
- package/.qa-ai/templates/test-design-system.template.md +15 -0
- package/.qa-ai/templates/test-management-mapping.template.json +18 -0
- package/.qa-ai/templates/testrail-coverage-analysis.template.md +17 -0
- package/.qa-ai/templates/testrail-sync-plan.template.md +22 -0
- package/.qa-ai/templates/traceability-matrix.template.md +4 -0
- package/.qa-ai/workflows/automation-analysis.md +23 -0
- package/.qa-ai/workflows/cleanup.md +52 -0
- package/.qa-ai/workflows/context-intake.md +66 -0
- package/.qa-ai/workflows/full-flow.md +55 -0
- package/.qa-ai/workflows/implementation.md +24 -0
- package/.qa-ai/workflows/intake.md +3 -0
- package/.qa-ai/workflows/pr.md +3 -0
- package/.qa-ai/workflows/release-gate.md +22 -0
- package/.qa-ai/workflows/test-design-system.md +33 -0
- package/.qa-ai/workflows/test-design.md +23 -0
- package/.qa-ai/workflows/testrail-sync.md +23 -0
- package/CHANGELOG.md +108 -0
- package/CODE_OF_CONDUCT.md +11 -0
- package/CONTRIBUTING.md +39 -0
- package/LICENSE +21 -0
- package/README.es.md +602 -0
- package/README.md +633 -0
- package/ROADMAP.md +107 -0
- package/SECURITY.md +18 -0
- package/bin/qa-flowkit.mjs +214 -0
- package/docs/qa-ai/agent-compatibility.md +100 -0
- package/docs/qa-ai/architecture.md +130 -0
- package/docs/qa-ai/backlog.md +393 -0
- package/docs/qa-ai/cleanup.md +104 -0
- package/docs/qa-ai/customizing-agents.md +148 -0
- package/docs/qa-ai/getting-started.md +385 -0
- package/docs/qa-ai/implementation-guide-for-codex.md +210 -0
- package/docs/qa-ai/npm-migration-plan.md +50 -0
- package/docs/qa-ai/open-source-release-checklist.md +17 -0
- package/docs/qa-ai/qa-help.md +76 -0
- package/docs/qa-ai/release-gate.md +60 -0
- package/docs/qa-ai/terminal-transcripts.md +316 -0
- package/docs/qa-ai/test-design-dual-mode.md +75 -0
- package/docs/qa-ai/troubleshooting.md +740 -0
- package/docs/qa-ai/workflow.md +147 -0
- package/package.json +72 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# QA Context Intake Workflow
|
|
2
|
+
|
|
3
|
+
Use this workflow when the user provides a repository-local folder that documents how QA works for their team.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Convert QA working-practice documentation into a proposed QA FlowKit configuration and durable local guidance for future agents.
|
|
8
|
+
|
|
9
|
+
## Supported Input
|
|
10
|
+
|
|
11
|
+
The MVP supports one repository-local folder:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
node .qa-ai/scripts/init.mjs --qa-context qa-ai-knowledge
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The folder may contain Markdown, text, YAML, JSON or other readable local documentation. Do not read files outside the repository. Do not read secrets.
|
|
18
|
+
|
|
19
|
+
## Required Steps
|
|
20
|
+
|
|
21
|
+
1. Read `AGENTS.md`, `.qa-ai/rules/`, `.qa-ai/agents/README.md` and this workflow.
|
|
22
|
+
2. Load `.qa-ai/agents/qa-context-intake-agent.md`.
|
|
23
|
+
3. Inspect the QA context folder structure and read only relevant documentation.
|
|
24
|
+
4. Summarize explicit QA practices and separate them from inferred practices.
|
|
25
|
+
5. Recommend init defaults:
|
|
26
|
+
- `--interface-language`
|
|
27
|
+
- `--gherkin-language`
|
|
28
|
+
- `--preset`
|
|
29
|
+
- `--requirements-source`
|
|
30
|
+
- `--test-management-tool`
|
|
31
|
+
- `--issue-tracker`
|
|
32
|
+
- `--ui-framework`
|
|
33
|
+
- `--api-framework`
|
|
34
|
+
- `--adapters`
|
|
35
|
+
- optional `--set key=value` overrides
|
|
36
|
+
6. Present the recommendation and ask for approval.
|
|
37
|
+
7. After approval, run `init.mjs` with `--qa-context <path>` plus the approved flags.
|
|
38
|
+
8. Write or update the configured local artifacts:
|
|
39
|
+
- `qa-ai-output/qa-knowledge-summary.md`
|
|
40
|
+
- `qa-ai-output/qa-init-decisions.md`
|
|
41
|
+
9. Run `node .qa-ai/scripts/doctor.mjs`.
|
|
42
|
+
|
|
43
|
+
## Artifact Expectations
|
|
44
|
+
|
|
45
|
+
`qa-ai-output/qa-knowledge-summary.md` should contain:
|
|
46
|
+
|
|
47
|
+
- Source folder.
|
|
48
|
+
- Files reviewed.
|
|
49
|
+
- Explicit QA practices.
|
|
50
|
+
- Inferred QA practices.
|
|
51
|
+
- Pending decisions.
|
|
52
|
+
- Workflow adaptations future agents must follow.
|
|
53
|
+
|
|
54
|
+
`qa-ai-output/qa-init-decisions.md` should contain:
|
|
55
|
+
|
|
56
|
+
- Approved init command.
|
|
57
|
+
- Reasoning for selected defaults.
|
|
58
|
+
- Explicit user approvals.
|
|
59
|
+
- Deferred decisions.
|
|
60
|
+
|
|
61
|
+
## Safety
|
|
62
|
+
|
|
63
|
+
- Do not perform external writes.
|
|
64
|
+
- Do not store secrets in generated artifacts.
|
|
65
|
+
- Do not overwrite existing artifacts unless the user approves `--force` behavior.
|
|
66
|
+
- If the context conflicts with `.qa-ai/rules/`, keep `.qa-ai/rules/` as the governing safety layer and document the conflict.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Full Flow
|
|
2
|
+
|
|
3
|
+
Run this workflow when a user asks for the complete requirements-to-PR QA flow.
|
|
4
|
+
|
|
5
|
+
## QA track
|
|
6
|
+
|
|
7
|
+
Read `project.qaTrack` from `qa-ai.config.yaml`:
|
|
8
|
+
|
|
9
|
+
| Track | Steps to run |
|
|
10
|
+
|---|---|
|
|
11
|
+
| `quick` | Intake → normalization → Gherkin (proposal + features) → traceability → PR |
|
|
12
|
+
| `standard` | Full sequence below including system and per-RF test design |
|
|
13
|
+
| `enterprise` | Full sequence below; then release gate (`/qa-gate`) and `validate-target.mjs` + `validate-release-gate.mjs` |
|
|
14
|
+
|
|
15
|
+
When unsure which track applies, run `node .qa-ai/scripts/qa-help.mjs`.
|
|
16
|
+
|
|
17
|
+
## Required inputs
|
|
18
|
+
|
|
19
|
+
- Requirement source: configured source, markdown RF/PRD or pasted requirement text.
|
|
20
|
+
- Official RF ID before final `.feature` generation.
|
|
21
|
+
- Target test management project/suite before coverage or sync planning when a tool is configured and track is not `quick`.
|
|
22
|
+
|
|
23
|
+
## Sequence (standard / enterprise)
|
|
24
|
+
|
|
25
|
+
1. Read `AGENTS.md`, `qa-ai.config.yaml`, `.qa-ai/rules/` and this workflow.
|
|
26
|
+
2. Produce or update `qa-ai-output/requirement-analysis.md`.
|
|
27
|
+
3. Stop if the official RF ID is missing.
|
|
28
|
+
4. **Standard / enterprise:** produce `qa-ai-output/test-design-system.md` (see `.qa-ai/workflows/test-design-system.md`).
|
|
29
|
+
5. Produce `qa-ai-output/test-design-proposal.md` for the active RF/epic and ask approval before creating `.feature` files.
|
|
30
|
+
6. Generate one `.feature` file per approved test case in the configured Gherkin language from `qa-ai.config.yaml` (`gherkin.language`).
|
|
31
|
+
7. Run `node .qa-ai/scripts/validate-test-design.mjs` and `node .qa-ai/scripts/validate-features.mjs`; fix issues.
|
|
32
|
+
8. Produce or update `qa-ai-output/testrail-coverage-analysis.md` (skip on `quick` track or when test management is disabled).
|
|
33
|
+
9. Produce or update `qa-ai-output/testrail-sync-plan.md`; do not write to external test management tools in the MVP (skip on `quick` track).
|
|
34
|
+
10. Update `qa-ai-output/traceability-matrix.md`.
|
|
35
|
+
11. Produce or update `qa-ai-output/automation-feasibility-report.md` (skip on `quick` track).
|
|
36
|
+
12. Produce `qa-ai-output/automation-implementation-plan.md` and ask approval before automation code changes (skip on `quick` track).
|
|
37
|
+
13. Implement only approved automation changes using repository conventions (skip on `quick` track).
|
|
38
|
+
14. Prepare `qa-ai-output/pr-summary.md` with traceability, execution status and residual risk.
|
|
39
|
+
15. **Enterprise track only:** produce `qa-ai-output/release-gate.yaml` with `PASS`, `CONCERNS`, `FAIL` or `WAIVED` (see `.qa-ai/workflows/release-gate.md`).
|
|
40
|
+
|
|
41
|
+
After each major step, run `node .qa-ai/scripts/qa-help.mjs` (or `/qa-help`) to confirm the next phase.
|
|
42
|
+
|
|
43
|
+
**Enterprise finale:**
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
node .qa-ai/scripts/validate-target.mjs
|
|
47
|
+
node .qa-ai/scripts/validate-release-gate.mjs
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Safety gates
|
|
51
|
+
|
|
52
|
+
- No external writes to configured external tools in the MVP.
|
|
53
|
+
- Do not overwrite existing files unless the user approved it or `--force` behavior is explicitly requested.
|
|
54
|
+
- Do not modify existing tests without approval.
|
|
55
|
+
- Never store credentials or secrets in repository files.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Implementation Workflow
|
|
2
|
+
|
|
3
|
+
Implement only approved automation changes using repository conventions.
|
|
4
|
+
|
|
5
|
+
## Before coding
|
|
6
|
+
|
|
7
|
+
- Read `qa-ai.config.yaml` to identify UI/API frameworks and paths.
|
|
8
|
+
- Inspect existing tests, helpers, fixtures and page objects before creating new patterns.
|
|
9
|
+
- Confirm the approved automation implementation plan.
|
|
10
|
+
- Ask approval before modifying existing tests or global framework config.
|
|
11
|
+
|
|
12
|
+
## During coding
|
|
13
|
+
|
|
14
|
+
- Use the configured UI/E2E framework for UI coverage.
|
|
15
|
+
- Use the configured API/integration framework for API coverage.
|
|
16
|
+
- Reuse existing selectors, clients, fixtures and schemas when possible.
|
|
17
|
+
- Keep tests deterministic and isolated.
|
|
18
|
+
- Do not add dependencies without approval.
|
|
19
|
+
|
|
20
|
+
## After coding
|
|
21
|
+
|
|
22
|
+
- Run the most relevant local tests when possible.
|
|
23
|
+
- If tests cannot be executed, document first manual execution requirements.
|
|
24
|
+
- Update `qa-ai-output/traceability-matrix.md` and `qa-ai-output/pr-summary.md`.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Release Gate Workflow
|
|
2
|
+
|
|
3
|
+
Run when `project.qaTrack` is `enterprise` or when the team needs a formal go/no-go record.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- Traceability matrix and PR summary exist.
|
|
8
|
+
- Target validators have been run (`validate-target.mjs` recommended).
|
|
9
|
+
|
|
10
|
+
## Steps
|
|
11
|
+
|
|
12
|
+
1. Read `AGENTS.md`, `qa-ai.config.yaml`, `.qa-ai/rules/approval.rules.md` and `.qa-ai/agents/release-gate-agent.md`.
|
|
13
|
+
2. Review validator output and QA artifacts listed in the template.
|
|
14
|
+
3. Produce or update `qa-ai-output/release-gate.yaml` with decision, risks and evidence paths.
|
|
15
|
+
4. Run `node .qa-ai/scripts/validate-release-gate.mjs`.
|
|
16
|
+
5. Ask the user to confirm the decision before treating it as final.
|
|
17
|
+
6. Run `/qa-help` to confirm there are no pending workflow phases.
|
|
18
|
+
|
|
19
|
+
## Safety
|
|
20
|
+
|
|
21
|
+
- Never set `PASS` while `validate-target.mjs` is failing unless the user explicitly accepts the risk in writing.
|
|
22
|
+
- `WAIVED` requires approver name and `waived_reason`.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# System Test Design Workflow
|
|
2
|
+
|
|
3
|
+
Use this workflow on `standard` and `enterprise` tracks **after** requirements normalization and **before** per-RF test design proposals and `.feature` files.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
- `qa-ai-output/normalized-requirements.md`
|
|
8
|
+
- Optional: architecture docs, ADRs or diagrams referenced in requirements
|
|
9
|
+
|
|
10
|
+
## Steps
|
|
11
|
+
|
|
12
|
+
1. Read `AGENTS.md`, `qa-ai.config.yaml`, `.qa-ai/rules/` and `.qa-ai/agents/test-design-system-agent.md`.
|
|
13
|
+
2. Produce or update `qa-ai-output/test-design-system.md` from `.qa-ai/templates/test-design-system.template.md`.
|
|
14
|
+
3. Align with configured automation and test-management tools; note what stays manual vs automatable at system level.
|
|
15
|
+
4. Stop with open questions when RF scope or official RF IDs are unclear.
|
|
16
|
+
5. Ask for user approval before starting per-RF proposals.
|
|
17
|
+
|
|
18
|
+
## Output
|
|
19
|
+
|
|
20
|
+
- `qa-ai-output/test-design-system.md`
|
|
21
|
+
|
|
22
|
+
## Validation
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
node .qa-ai/scripts/validate-test-design.mjs
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Skipped on `quick` track (per-RF proposal and features may be produced in one Gherkin pass).
|
|
29
|
+
|
|
30
|
+
## See also
|
|
31
|
+
|
|
32
|
+
- [Test design (per RF)](test-design.md)
|
|
33
|
+
- [Test design dual-mode](../../docs/qa-ai/test-design-dual-mode.md)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Test Design Workflow (per RF / epic)
|
|
2
|
+
|
|
3
|
+
Generate per-RF test proposals and Gherkin tests from approved requirements in the configured Gherkin language from `qa-ai.config.yaml` (`gherkin.language`): English (`en`) or Spanish (`es`).
|
|
4
|
+
|
|
5
|
+
On `standard` and `enterprise` tracks, complete [system test design](test-design-system.md) first (`qa-ai-output/test-design-system.md`).
|
|
6
|
+
|
|
7
|
+
## Rules
|
|
8
|
+
|
|
9
|
+
- Do not generate final tests until the official RF ID is known.
|
|
10
|
+
- Create one `.feature` file per test case.
|
|
11
|
+
- Include exactly one configured scenario keyword per file: `Scenario:` / `Scenario Outline:` for English or `Escenario:` / `Esquema del escenario:` for Spanish.
|
|
12
|
+
- Include the configured acceptance criteria label in every file: `Acceptance Criteria:` for English or `Criterios de aceptación:` for Spanish.
|
|
13
|
+
- Include `# language: es` in Spanish `.feature` files.
|
|
14
|
+
- Include required tag values from `qa-ai.config.yaml`; the default tags are `@priority:`, `@type:` and `@manual:`.
|
|
15
|
+
- Manual tests must also have `.feature` files.
|
|
16
|
+
- Do not generate unit tests.
|
|
17
|
+
|
|
18
|
+
## Output
|
|
19
|
+
|
|
20
|
+
- Per-RF proposal: `qa-ai-output/test-design-proposal.md`
|
|
21
|
+
- Feature files: configured `gherkin.featurePath`, usually `features/`
|
|
22
|
+
|
|
23
|
+
Run `node .qa-ai/scripts/validate-test-design.mjs` after updating proposals and `node .qa-ai/scripts/validate-features.mjs` after generating or changing `.feature` files.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Test Management Sync Workflow
|
|
2
|
+
|
|
3
|
+
Produce a sync plan for the configured test management tool. Do not write externally in the MVP.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
- Target test management project/suite.
|
|
8
|
+
- Approved `.feature` files.
|
|
9
|
+
- Existing case search results when available.
|
|
10
|
+
- Traceability matrix.
|
|
11
|
+
|
|
12
|
+
## Output
|
|
13
|
+
|
|
14
|
+
Update `qa-ai-output/testrail-sync-plan.md` with:
|
|
15
|
+
|
|
16
|
+
- Sections to create.
|
|
17
|
+
- New cases to create.
|
|
18
|
+
- Existing cases to keep.
|
|
19
|
+
- Existing cases requiring changes.
|
|
20
|
+
- Potential duplicates or overlaps.
|
|
21
|
+
- Cases requiring user decision.
|
|
22
|
+
|
|
23
|
+
Any future test management write integration must be approval-gated and proposal-first.
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- npm CLI package identity `qa-flowkit@0.4.0-alpha.0` with `npx qa-flowkit init`.
|
|
8
|
+
- `bin/qa-flowkit.mjs` with `init`, `update`, `doctor`, `validate-target`, `validate-features`, `sync-adapters`, `help` and `clean`.
|
|
9
|
+
- npm pack/install smoke coverage for CLI install, safe init refusal, update preservation and package file allowlist.
|
|
10
|
+
- Explicit npm package `files` allowlist to avoid publishing root adapters, GitHub metadata, caches or target-repository artifacts.
|
|
11
|
+
- `qa-help.mjs` and `qa-next-steps.mjs` for context-aware next-step guidance (BMAD-inspired).
|
|
12
|
+
- `project.qaTrack` (`quick`, `standard`, `enterprise`) in presets and `init.mjs --qa-track`.
|
|
13
|
+
- `/qa-help` slash commands for Claude Code and OpenCode adapters.
|
|
14
|
+
- Release quality gate (`release-gate.yaml`, `validate-release-gate.mjs`, `/qa-gate`) with PASS/CONCERNS/FAIL/WAIVED decisions for enterprise track.
|
|
15
|
+
- Dual-mode test design: system-level `test-design-system.md`, per-RF proposal, `validate-test-design.mjs` and `testDesign.*` config paths.
|
|
16
|
+
- `doctor.mjs --strict` for initialized target repositories and CI hardening.
|
|
17
|
+
- `validate-target.mjs` aggregated target-repository validation command.
|
|
18
|
+
- Shared Markdown table parsing utilities for stronger validators.
|
|
19
|
+
- Native Node unit tests for shared validator helpers.
|
|
20
|
+
- Documented test-management mapping template.
|
|
21
|
+
- Stronger traceability matrix validation for Markdown table shape, duplicate test case identifiers and duplicate feature file rows.
|
|
22
|
+
- Stronger test-management sync plan validation for Markdown table shape, proposal-first rows, approval status and duplicate identifiers.
|
|
23
|
+
- Stronger test-management mapping validation for entry shape, duplicate external IDs and secret-like values.
|
|
24
|
+
- Smoke coverage for strict doctor success and failure paths.
|
|
25
|
+
|
|
26
|
+
### Documentation
|
|
27
|
+
|
|
28
|
+
- Added `docs/qa-ai/qa-help.md`, `release-gate.md` and `test-design-dual-mode.md`.
|
|
29
|
+
- Framework upgrade guide in `README.md` and `README.es.md`.
|
|
30
|
+
- Documented target-repository hardening status and strict doctor usage in README, roadmap, architecture and backlog.
|
|
31
|
+
- Aligned Claude, OpenCode, Codex and generic adapter validation guidance with the hardened validator pipeline.
|
|
32
|
+
|
|
33
|
+
## 0.3.0 - Context intake y agentes ampliados
|
|
34
|
+
|
|
35
|
+
Release tras el merge de [#2](https://github.com/warante/QA_FlowKit/pull/2). Enfoque: carpeta de contexto QA del equipo, init/config refactorizados, agentes más accionables y más comandos `/qa-*` en adaptadores agent-first.
|
|
36
|
+
|
|
37
|
+
### Added
|
|
38
|
+
|
|
39
|
+
- Agente `qa-context-intake-agent` y workflow `context-intake.md` para prácticas QA locales en una carpeta del repo.
|
|
40
|
+
- Scripts `config.mjs` y `lib/project-config.mjs`; comando npm `qa:config`.
|
|
41
|
+
- Adaptador **Gemini CLI** (`GEMINI.md` en plantillas).
|
|
42
|
+
- Comandos `/qa-*` ampliados en plantillas y salidas **Claude Code** y **OpenCode** (`qa-config`, `qa-status`, `qa-coverage`, `qa-add-tests`, `qa-update-tests`, `qa-automation-plan`, `qa-full-flow`, etc.).
|
|
43
|
+
- Documentación de carpeta de contexto QA en README (EN/ES).
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
|
|
47
|
+
- `init.mjs` simplificado y alineado con presets y lectura de contexto del proyecto.
|
|
48
|
+
- Agentes de fase y especialistas (`available/*`) con guías operativas más detalladas.
|
|
49
|
+
- `doctor.mjs` y `smoke-test.mjs` validan el nuevo flujo y utilidades de configuración.
|
|
50
|
+
- Presets actualizados con soporte de carpeta de contexto.
|
|
51
|
+
|
|
52
|
+
### Documentation
|
|
53
|
+
|
|
54
|
+
- `README.md` / `README.es.md`: agent-first bootstrap, context folder y comandos.
|
|
55
|
+
- `docs/qa-ai/*`: arquitectura, workflow, compatibilidad de agentes y backlog.
|
|
56
|
+
|
|
57
|
+
## 0.2.0 - Workflow enhancements
|
|
58
|
+
|
|
59
|
+
Major update after the first community release. Focus: agent-first bootstrap, specialist agents, stronger validation and clearer init defaults.
|
|
60
|
+
|
|
61
|
+
### Added
|
|
62
|
+
|
|
63
|
+
- Specialist agent catalog under `.qa-ai/agents/specialists/available/` (WebdriverIO, Playwright UI/API, Cypress, Selenium, TestRail, Jira, Karate, Postman, Rest Assured, Appium and generic test design).
|
|
64
|
+
- Agent loading protocol in `.qa-ai/agents/README.md`.
|
|
65
|
+
- OSS smoke test script (`.qa-ai/scripts/smoke-test.mjs`) and `npm run qa:smoke` / `validate:oss-extraction`.
|
|
66
|
+
- Bilingual documentation: `README.es.md`.
|
|
67
|
+
- Init options reference in README (EN/ES): base templates, languages, adapters and advanced overrides.
|
|
68
|
+
- `.gitattributes` for consistent LF line endings.
|
|
69
|
+
|
|
70
|
+
### Changed
|
|
71
|
+
|
|
72
|
+
- **Breaking:** workflow artifacts now go to `qa-ai-output/` instead of `docs/qa/` (agents, workflows, adapters, presets and templates updated).
|
|
73
|
+
- `init.mjs` runs with sensible defaults and no flags; adapters are optional via `--adapters` or bootstrap scripts.
|
|
74
|
+
- Presets are documented as **base templates** (`--preset` kept for CLI compatibility).
|
|
75
|
+
- `doctor.mjs` validates specialists, smoke-test script and expanded framework checks.
|
|
76
|
+
- `validate-features.mjs` with stronger Gherkin convention checks.
|
|
77
|
+
- Claude Code and OpenCode `/qa-init`, `/qa-full-flow` and `/qa-clean` commands aligned with agent-first flow and new output paths.
|
|
78
|
+
- Generic `AGENTS.md` adapter reflects minimal default init vs optional adapter outputs.
|
|
79
|
+
|
|
80
|
+
### Documentation
|
|
81
|
+
|
|
82
|
+
- Restructured `README.md` with table of contents, quick start and agent-first bootstrap.
|
|
83
|
+
- Updated `docs/qa-ai/*` (architecture, workflow, agent compatibility, implementation guide, backlog, cleanup).
|
|
84
|
+
|
|
85
|
+
## 0.1.0 - MVP starter
|
|
86
|
+
|
|
87
|
+
Initial open-source starter package.
|
|
88
|
+
|
|
89
|
+
Included:
|
|
90
|
+
|
|
91
|
+
- Portable `.qa-ai/` folder.
|
|
92
|
+
- Preset-aware init, doctor, feature validation and adapter sync scripts.
|
|
93
|
+
- Manifest-based clean script with dry-run default and hash protection.
|
|
94
|
+
- Agent-first `/qa-init` bootstrap script and commands for Claude Code and OpenCode.
|
|
95
|
+
- Rules, agents, workflows and templates.
|
|
96
|
+
- Multi-agent documentation and adapters.
|
|
97
|
+
- Roadmap and backlog for implementation with Codex Desktop.
|
|
98
|
+
|
|
99
|
+
Refined:
|
|
100
|
+
|
|
101
|
+
- Safe no-overwrite behavior unless `--force` is passed.
|
|
102
|
+
- Config-aware doctor and feature validation.
|
|
103
|
+
- Adapter selection with default all-adapter generation.
|
|
104
|
+
- Init manifest tracking for generated files and adapter copies.
|
|
105
|
+
- Claude and OpenCode slash commands for init, full flow, doctor, clean and feature validation.
|
|
106
|
+
- Guided slash-command UX when commands are called without arguments.
|
|
107
|
+
- Copy-only bootstrap flow: copy `.qa-ai/`, run `bootstrap-agent-adapters.mjs`, then open the agent.
|
|
108
|
+
- End-to-end workflow documentation for folder-copy usage.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Code of Conduct
|
|
2
|
+
|
|
3
|
+
This project follows a simple contributor covenant:
|
|
4
|
+
|
|
5
|
+
- Be respectful.
|
|
6
|
+
- Assume good intent.
|
|
7
|
+
- Discuss ideas, not people.
|
|
8
|
+
- Avoid harassment, discrimination or hostile behavior.
|
|
9
|
+
- Keep technical disagreement constructive and evidence-based.
|
|
10
|
+
|
|
11
|
+
Maintainers may remove comments, issues or contributions that violate these principles.
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Thanks for contributing to QA FlowKit.
|
|
4
|
+
|
|
5
|
+
## Principles
|
|
6
|
+
|
|
7
|
+
- Keep the project repo-first and portable.
|
|
8
|
+
- Do not require a hosted backend for the MVP.
|
|
9
|
+
- Prefer explicit configuration over hidden behavior.
|
|
10
|
+
- All generated test cases must use the configured Gherkin language (`en` or `es`).
|
|
11
|
+
- Every destructive or external write operation must require user approval.
|
|
12
|
+
- Preserve compatibility with multiple AI coding tools through `AGENTS.md`.
|
|
13
|
+
|
|
14
|
+
## Development workflow
|
|
15
|
+
|
|
16
|
+
1. Create an issue describing the problem or improvement.
|
|
17
|
+
2. Create a branch from `main`.
|
|
18
|
+
3. Add or update documentation when behavior changes.
|
|
19
|
+
4. Add validation logic when adding a new rule.
|
|
20
|
+
5. Run `npm run validate:oss-extraction` locally (same checks as the GitHub Actions CI workflow).
|
|
21
|
+
6. Open a PR with a clear summary and manual validation steps.
|
|
22
|
+
|
|
23
|
+
## Commit style
|
|
24
|
+
|
|
25
|
+
Recommended prefixes:
|
|
26
|
+
|
|
27
|
+
- `feat:` new behavior
|
|
28
|
+
- `fix:` bug fix
|
|
29
|
+
- `docs:` documentation only
|
|
30
|
+
- `refactor:` internal restructuring
|
|
31
|
+
- `chore:` maintenance
|
|
32
|
+
|
|
33
|
+
## Pull request checklist
|
|
34
|
+
|
|
35
|
+
- [ ] The change is documented.
|
|
36
|
+
- [ ] New generated files do not include secrets.
|
|
37
|
+
- [ ] Validation scripts still run.
|
|
38
|
+
- [ ] The open-source license and attribution are preserved.
|
|
39
|
+
- [ ] Any agent-specific instruction has an equivalent generic rule in `AGENTS.md` or `.qa-ai/rules/`.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 QA FlowKit contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|