@pzy560117/codex-harness 0.1.2 → 0.1.4
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 +164 -27
- package/bin/harness.js +7 -7
- package/lib/commands/doctor.js +12 -12
- package/lib/commands/init.js +105 -105
- package/lib/commands/run.js +22 -22
- package/lib/commands/verify.js +12 -12
- package/lib/main.js +62 -62
- package/lib/powershell/find-powershell.js +20 -3
- package/lib/powershell/invoke-script.js +34 -34
- package/lib/project/assert-initialized.js +20 -20
- package/lib/project/detect-project-root.js +5 -5
- package/lib/release/cache-layout.js +34 -34
- package/lib/release/download-release.js +25 -25
- package/lib/release/package-source-layout.js +13 -13
- package/lib/release/release-config.js +6 -6
- package/lib/release/release-manifest.js +76 -76
- package/lib/release/resolve-package-source.js +21 -21
- package/lib/release/resolve-version.js +26 -26
- package/lib/release/unpack-zip.js +25 -25
- package/lib/release/verify-sha256.js +16 -16
- package/package-source/docs/codex-harness-engineering/templates/README.md +21 -20
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/init-autopilot/SKILL.md +17 -15
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/log-analysis-optimization/SKILL.md +5 -5
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/prd-writer-skill/SKILL.md +28 -28
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/qa-e2e-planner/SKILL.md +11 -11
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/qa-e2e-runner/SKILL.md +6 -6
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/qa-mock-cleaner/SKILL.md +4 -4
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/qoder-codex-api-config/SKILL.md +67 -67
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/qoder-codex-api-config/agents/openai.yaml +7 -7
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/qoder-codex-api-config/scripts/configure-qoder-codex-api.ps1 +278 -278
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/requirements-design-template/SKILL.md +87 -87
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/skills-index.md +12 -12
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-analyze/SKILL.md +34 -34
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-checklist/SKILL.md +8 -8
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-clarify/SKILL.md +28 -28
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-e2e-tasks/SKILL.md +12 -12
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-implement/SKILL.md +37 -37
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-plan/SKILL.md +140 -138
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-specify/SKILL.md +100 -100
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-tasks/SKILL.md +86 -86
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-verify/SKILL.md +144 -142
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/sync-project-root-docs/SKILL.md +145 -143
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/sync-project-root-docs/references/current-repo-notes.md +42 -41
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/sync-project-root-docs/references/github-samples.md +33 -33
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/sync-project-root-docs/scripts/collect-root-doc-facts.ps1 +174 -145
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/thesis-writing/references/ai-integrity-and-originality.md +191 -191
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/thesis-writing/references/citation-templates.md +99 -99
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/thesis-writing/references/final-checklist.md +60 -60
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/thesis-writing/references/photographer-booking-paper.md +85 -85
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/thesis-writing/references/test-result-templates.md +22 -22
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/thesis-writing/references/thesis-analysis-template.md +63 -63
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/update-codemaps/SKILL.md +31 -31
- package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/README.md +15 -15
- package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.analyze.md +60 -60
- package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.checklist.md +8 -8
- package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.clarify.md +28 -28
- package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.e2e-testing.md +10 -10
- package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.implement.md +56 -56
- package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.plan.md +137 -134
- package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.specify.md +100 -100
- package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.tasks.md +86 -86
- package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.verify.md +130 -130
- package/package-source/docs/codex-harness-engineering/templates/product/AGENTS.md +19 -0
- package/package-source/docs/codex-harness-engineering/templates/product/acceptance-criteria.md +47 -47
- package/package-source/docs/codex-harness-engineering/templates/product/difficulty-research.md +47 -47
- package/package-source/docs/codex-harness-engineering/templates/product/page-inventory.md +21 -21
- package/package-source/docs/codex-harness-engineering/templates/product/prd-lite.md +166 -158
- package/package-source/docs/codex-harness-engineering/templates/product/requirement-interface-matrix.md +37 -37
- package/package-source/docs/codex-harness-engineering/templates/product/state-matrix.yaml +116 -105
- package/package-source/docs/codex-harness-engineering/templates/prompts/AGENTS.md +15 -0
- package/package-source/docs/codex-harness-engineering/templates/prompts/controller-loop.md +88 -88
- package/package-source/docs/codex-harness-engineering/templates/prompts/failure-triage.md +71 -69
- package/package-source/docs/codex-harness-engineering/templates/prompts/harness-audit.md +54 -52
- package/package-source/docs/codex-harness-engineering/templates/prompts/implement-one-task.md +150 -148
- package/package-source/docs/codex-harness-engineering/templates/prompts/repair-one-finding.md +70 -67
- package/package-source/docs/codex-harness-engineering/templates/prompts/review-one-task.md +45 -43
- package/package-source/docs/codex-harness-engineering/templates/prompts/review-stage1-spec.md +111 -109
- package/package-source/docs/codex-harness-engineering/templates/prompts/review-stage2-quality.md +82 -80
- package/package-source/docs/codex-harness-engineering/templates/prompts/visual-evaluator.md +80 -78
- package/package-source/docs/codex-harness-engineering/templates/prompts/worker-role/backend-worker.md +41 -41
- package/package-source/docs/codex-harness-engineering/templates/prompts/worker-role/docs-worker.md +28 -28
- package/package-source/docs/codex-harness-engineering/templates/prompts/worker-role/frontend-worker.md +46 -46
- package/package-source/docs/codex-harness-engineering/templates/prompts/worker-role/harness-writer.md +40 -40
- package/package-source/docs/codex-harness-engineering/templates/prompts/worker-role/test-runner.md +27 -27
- package/package-source/docs/codex-harness-engineering/templates/runtime/AGENTS.md +66 -50
- package/package-source/docs/codex-harness-engineering/templates/runtime/codex-loop.ps1 +2129 -231
- package/package-source/docs/codex-harness-engineering/templates/runtime/doctor.ps1 +224 -212
- package/package-source/docs/codex-harness-engineering/templates/runtime/project-task-template.json +42 -39
- package/package-source/docs/codex-harness-engineering/templates/runtime/scripts/test-install-modes.ps1 +2 -2
- package/package-source/docs/codex-harness-engineering/templates/runtime/smoke-task.json +52 -52
- package/package-source/docs/codex-harness-engineering/templates/runtime/task-run-profile.json +86 -86
- package/package-source/docs/codex-harness-engineering/templates/runtime/task.json +11 -8
- package/package-source/docs/codex-harness-engineering/templates/runtime/verify.ps1 +21 -21
- package/package-source/docs/codex-harness-engineering/templates/scripts/AGENTS.md +15 -0
- package/package-source/docs/codex-harness-engineering/templates/scripts/ai-workflow/check-ai-sync-drift.ps1 +205 -205
- package/package-source/docs/codex-harness-engineering/templates/scripts/harness/harness-governance-check.ps1 +864 -366
- package/package-source/docs/codex-harness-engineering/templates/spec/10-data-model.md +23 -7
- package/package-source/docs/codex-harness-engineering/templates/spec/11-security-design.md +30 -13
- package/package-source/docs/codex-harness-engineering/templates/spec/AGENTS.md +15 -0
- package/package-source/docs/codex-harness-engineering/templates/testing/ACCEPTANCE_CRITERIA.md +39 -39
- package/package-source/docs/codex-harness-engineering/templates/testing/ACCEPTANCE_EXAMPLES.md +37 -37
- package/package-source/docs/codex-harness-engineering/templates/testing/AGENTS.md +19 -0
- package/package-source/docs/codex-harness-engineering/templates/testing/EVIDENCE_PROTOCOL.md +54 -48
- package/package-source/docs/codex-harness-engineering/templates/testing/NATURAL_LANGUAGE_TEST_CASES.md +5 -4
- package/package-source/docs/codex-harness-engineering/templates/testing/REGRESSION_PLAN.md +28 -20
- package/package-source/docs/codex-harness-engineering/templates/testing/RISK_BASED_TEST_PLAN.md +16 -16
- package/package-source/docs/codex-harness-engineering/templates/testing/TEST_STRATEGY.md +98 -97
- package/package-source/docs/codex-harness-engineering/templates/testing/TRACEABILITY_MATRIX.md +6 -5
- package/package-source/docs/codex-harness-engineering/templates/testing/coverage-policy.md +25 -25
- package/package-source/docs/codex-harness-engineering/templates/testing/e2e-plan.md +139 -139
- package/package-source/docs/codex-harness-engineering/templates/testing/failure-findings.example.json +3 -3
- package/package-source/docs/codex-harness-engineering/templates/testing/failure-triage.md +62 -62
- package/package-source/docs/codex-harness-engineering/templates/testing/test-data-plan.md +36 -36
- package/package-source/docs/codex-harness-engineering/templates/testing/test-report.md +85 -41
- package/package-source/docs/codex-harness-engineering/templates/testing/verify-matrix.md +15 -5
- package/package-source/docs/codex-harness-engineering/templates/tools/AGENTS.md +14 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/acceptance-lint.ps1 +37 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/architecture-lint.ps1 +150 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/backend-lint.ps1 +137 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/business-lint.ps1 +148 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/component-lint.ps1 +148 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/config-lint.ps1 +159 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/context-lint.ps1 +187 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/contract-lint.ps1 +148 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/data-lint.ps1 +37 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/directory-lint.ps1 +152 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/docs-lint.ps1 +40 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/impact-lint.ps1 +148 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/integration-lint.ps1 +37 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/mobile-lint.ps1 +37 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/observability-lint.ps1 +137 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/performance-lint.ps1 +148 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/refactor-lint.ps1 +137 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/security-lint.ps1 +159 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/session-lint.ps1 +126 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/spec-lint.ps1 +285 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/state-lint.ps1 +137 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/style-lint.ps1 +155 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/testing-lint.ps1 +192 -0
- package/package-source/docs/codex-harness-engineering/templates/tools/harness/ui-lint.ps1 +148 -0
- package/package-source/docs/codex-harness-engineering/templates/trace/AGENTS.md +16 -0
- package/package-source/docs/codex-harness-engineering/templates/trace/eval-case.yaml +24 -24
- package/package-source/docs/codex-harness-engineering/templates/trace/trace.schema.json +101 -101
- package/package.json +23 -23
- package/package-source/AGENTS.md +0 -57
- package/package-source/PACKAGE.md +0 -49
- package/package-source/README.md +0 -81
- package/package-source/docs/codex-harness-engineering/templates/bootstrap-codex-harness.ps1 +0 -746
- package/package-source/docs/codex-harness-engineering/templates/ci/github-action-codex-review.yml +0 -110
- package/package-source/docs/codex-harness-engineering/templates/ci/github-action-codex-task.yml +0 -46
- package/package-source/docs/codex-harness-engineering/templates/config/agents/architect.toml +0 -17
- package/package-source/docs/codex-harness-engineering/templates/config/agents/backend-worker.toml +0 -14
- package/package-source/docs/codex-harness-engineering/templates/config/agents/docs-researcher.toml +0 -13
- package/package-source/docs/codex-harness-engineering/templates/config/agents/docs-worker.toml +0 -15
- package/package-source/docs/codex-harness-engineering/templates/config/agents/explorer.toml +0 -14
- package/package-source/docs/codex-harness-engineering/templates/config/agents/failure-triage.toml +0 -18
- package/package-source/docs/codex-harness-engineering/templates/config/agents/frontend-worker.toml +0 -14
- package/package-source/docs/codex-harness-engineering/templates/config/agents/harness-writer.toml +0 -15
- package/package-source/docs/codex-harness-engineering/templates/config/agents/planner.toml +0 -15
- package/package-source/docs/codex-harness-engineering/templates/config/agents/readonly-research.toml +0 -13
- package/package-source/docs/codex-harness-engineering/templates/config/agents/reviewer.toml +0 -13
- package/package-source/docs/codex-harness-engineering/templates/config/agents/security-reviewer.toml +0 -15
- package/package-source/docs/codex-harness-engineering/templates/config/agents/stage1-reviewer.toml +0 -15
- package/package-source/docs/codex-harness-engineering/templates/config/agents/stage2-reviewer.toml +0 -16
- package/package-source/docs/codex-harness-engineering/templates/config/agents/test-planner.toml +0 -17
- package/package-source/docs/codex-harness-engineering/templates/config/agents/test-runner.toml +0 -14
- package/package-source/docs/codex-harness-engineering/templates/config/agents/visual-reviewer.toml +0 -15
- package/package-source/docs/codex-harness-engineering/templates/config/codex-agent-roles.md +0 -24
- package/package-source/docs/codex-harness-engineering/templates/config/codex-config.toml +0 -38
- package/package-source/docs/codex-harness-engineering/templates/config/codex-readme.md +0 -67
- package/package-source/docs/codex-harness-engineering/templates/config/env-check.ps1 +0 -40
- package/package-source/docs/codex-harness-engineering/templates/config/env.example +0 -12
- package/package-source/docs/codex-harness-engineering/templates/config/global-AGENTS.md +0 -40
- package/package-source/docs/codex-harness-engineering/templates/config/global-config.toml +0 -19
- package/package-source/docs/codex-harness-engineering/templates/config/mcp-config.toml +0 -38
- package/package-source/docs/codex-harness-engineering/templates/config/rules/agents.md +0 -115
- package/package-source/docs/codex-harness-engineering/templates/config/rules/coding-style.md +0 -74
- package/package-source/docs/codex-harness-engineering/templates/config/rules/constitution.md +0 -290
- package/package-source/docs/codex-harness-engineering/templates/config/rules/git.rules +0 -41
- package/package-source/docs/codex-harness-engineering/templates/config/rules/harness.rules +0 -29
- package/package-source/docs/codex-harness-engineering/templates/config/rules/patterns.md +0 -59
- package/package-source/docs/codex-harness-engineering/templates/config/rules/safety.rules +0 -35
- package/package-source/docs/codex-harness-engineering/templates/config/rules/testing.md +0 -34
- package/package-source/docs/codex-harness-engineering/templates/context/architecture-brief.md +0 -58
- package/package-source/docs/codex-harness-engineering/templates/context/dev-plan.md +0 -160
- package/package-source/docs/codex-harness-engineering/templates/context/feature-pack.md +0 -101
- package/package-source/docs/codex-harness-engineering/templates/context/repo-map.md +0 -78
- package/package-source/docs/codex-harness-engineering/templates/context/service-dependency-matrix.yaml +0 -25
- package/package-source/docs/codex-harness-engineering/templates/contracts/README.md +0 -16
- package/package-source/docs/codex-harness-engineering/templates/contracts/openapi.yaml +0 -182
- package/package-source/docs/codex-harness-engineering/templates/contracts/orval.config.ts +0 -20
- package/package-source/docs/codex-harness-engineering/templates/contracts/prism-usage.md +0 -34
- package/package-source/docs/codex-harness-engineering/templates/design/ai-image-brief.md +0 -122
- package/package-source/docs/codex-harness-engineering/templates/design/assets/README.md +0 -24
- package/package-source/docs/codex-harness-engineering/templates/design/component-map.md +0 -31
- package/package-source/docs/codex-harness-engineering/templates/design/design-brief.md +0 -178
- package/package-source/docs/codex-harness-engineering/templates/design/design-tokens.json +0 -88
- package/package-source/docs/codex-harness-engineering/templates/design/frontend-architecture.md +0 -147
- package/package-source/docs/codex-harness-engineering/templates/design/image-to-frontend-spec.md +0 -108
- package/package-source/docs/codex-harness-engineering/templates/design/screen-states.md +0 -122
- package/package-source/docs/codex-harness-engineering/templates/design/ui-image-review.md +0 -60
- package/package-source/docs/codex-harness-engineering/templates/design/visual-parity-review.md +0 -124
- package/package-source/docs/codex-harness-engineering/templates/docs/architecture-constraints.md +0 -83
- package/package-source/docs/codex-harness-engineering/templates/docs/demo-readme.md +0 -73
- package/package-source/docs/codex-harness-engineering/templates/docs/frontend-quality-rules.md +0 -138
- package/package-source/docs/codex-harness-engineering/templates/docs/governance-auto-repair.md +0 -80
- package/package-source/docs/codex-harness-engineering/templates/docs/harness-architecture.md +0 -78
- package/package-source/docs/codex-harness-engineering/templates/docs/install-manifest-governance.md +0 -307
- package/package-source/docs/codex-harness-engineering/templates/docs/knowledge-architecture.md +0 -219
- package/package-source/docs/codex-harness-engineering/templates/docs/knowledge-import.md +0 -108
- package/package-source/docs/codex-harness-engineering/templates/docs/knowledge-lint.md +0 -98
- package/package-source/docs/codex-harness-engineering/templates/docs/new-project-checklist.md +0 -7
- package/package-source/docs/codex-harness-engineering/templates/docs/new-project-usage.md +0 -152
- package/package-source/docs/codex-harness-engineering/templates/docs/project-agents-template.md +0 -154
- package/package-source/docs/codex-harness-engineering/templates/docs/prompt-knowledge-integration.md +0 -89
- package/package-source/docs/codex-harness-engineering/templates/docs/regression-rules.md +0 -45
- package/package-source/docs/codex-harness-engineering/templates/docs/requirement-prep-kit/README.md +0 -3
- package/package-source/docs/codex-harness-engineering/templates/docs/rule-governance.md +0 -98
- package/package-source/docs/codex-harness-engineering/templates/docs/service-dependency-matrix.md +0 -55
- package/package-source/docs/codex-harness-engineering/templates/docs/spec-to-ui-to-code-workflow.md +0 -196
- package/package-source/docs/codex-harness-engineering/templates/docs/task-session-strategy.md +0 -116
- package/package-source/docs/codex-harness-engineering/templates/docs/team-knowledge-sync.md +0 -187
- package/package-source/docs/codex-harness-engineering/templates/docs/trace-format.md +0 -74
- package/package-source/docs/codex-harness-engineering/templates/governance/branch-protection-checklist.md +0 -50
- package/package-source/docs/codex-harness-engineering/templates/governance/feedback-evolution-loop.md +0 -55
- package/package-source/docs/codex-harness-engineering/templates/governance/retry-budget.yaml +0 -30
- package/package-source/docs/codex-harness-engineering/templates/governance/risk-levels.yaml +0 -53
- package/package-source/docs/codex-harness-engineering/templates/governance/sandbox-policy.md +0 -13
- package/package-source/docs/codex-harness-engineering/templates/hooks/hook-stop-verify.ps1 +0 -818
- package/package-source/docs/codex-harness-engineering/templates/hooks/hooks.json +0 -40
- package/package-source/docs/codex-harness-engineering/templates/knowledge/catalog.md +0 -6
- package/package-source/docs/codex-harness-engineering/templates/knowledge/decisions/DECISION-HARNESS-001.md +0 -39
- package/package-source/docs/codex-harness-engineering/templates/knowledge/guidelines/GUIDELINE-RULES-001.md +0 -30
- package/package-source/docs/codex-harness-engineering/templates/knowledge/knowledge-catalog.md +0 -41
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/memory/constitution.md +0 -72
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/check-prerequisites.ps1 +0 -148
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/common.ps1 +0 -137
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/create-new-feature.ps1 +0 -279
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/setup-plan.ps1 +0 -61
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/update-agent-context.ps1 +0 -448
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/agent-file-template.md +0 -28
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/checklist-template.md +0 -40
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/e2e-plan-template.md +0 -38
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/plan-template.md +0 -393
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/spec-template.md +0 -307
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/tasks-template.md +0 -244
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/architecture/constraints.md +0 -98
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/README.md +0 -122
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/START-HERE.md +0 -53
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/agent-ecosystem-practices.md +0 -140
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/best-practices.md +0 -267
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/codex-global-rules-example.md +0 -292
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/goal-templates.md +0 -380
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/README.md +0 -64
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/contracts/openapi.yaml +0 -25
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/contracts/orval.config.ts +0 -20
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/ai-image-brief.md +0 -44
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/component-map.md +0 -17
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/design-brief.md +0 -58
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/frontend-architecture.md +0 -107
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/image-to-frontend-spec.md +0 -72
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/screen-states.md +0 -25
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/ui-image-review.md +0 -38
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/difficulty-research.md +0 -39
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/page-inventory.md +0 -5
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/prd-lite.md +0 -41
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/requirement-interface-matrix.md +0 -32
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/state-matrix.yaml +0 -14
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/packages/api-client/generated/model/Ticket.ts +0 -6
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/packages/api-client/generated/ticket-api.ts +0 -35
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/packages/api-client/http-client.ts +0 -8
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/packages/ui/TicketFilterBar.tsx +0 -72
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/plans/features/ticket-filter.dev-plan.md +0 -48
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/progress.txt +0 -1
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/stories/TicketFilterBar.stories.tsx +0 -33
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/task.json +0 -54
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/traces/DEMO-TICKET-FILTER-001-20260422-120000.json +0 -74
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/verify.ps1 +0 -42
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/global-rules-and-bootstrap.md +0 -415
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/goal-harness-integration-guide.md +0 -364
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/implementation-flow.md +0 -288
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/implementation-guide.md +0 -25
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/mode-matrix.md +0 -57
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/project-agents-template.md +0 -154
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/spec-to-ui-to-code-workflow.md +0 -196
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/superpowers-codex-solo-builder-playbook.md +0 -676
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/component-map.md +0 -31
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/design-brief.md +0 -178
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/design-tokens.json +0 -88
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/frontend-architecture.md +0 -147
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/image-to-frontend-spec.md +0 -108
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/screen-states.md +0 -122
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/visual-parity-review.md +0 -124
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/frontend-quality-rules.md +0 -138
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/AGENTS.md +0 -165
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/CHANGELOG.md +0 -149
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/CLAUDE.md +0 -61
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/CODE_OF_CONDUCT.md +0 -83
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/CONTRIBUTING.md +0 -465
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/README.md +0 -1390
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/SECURITY.md +0 -53
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/SPONSORING.md +0 -43
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/SPONSORS.md +0 -59
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/TROUBLESHOOTING.md +0 -446
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/architect.md +0 -232
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/build-error-resolver.md +0 -119
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/chief-of-staff.md +0 -155
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/code-reviewer.md +0 -238
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/cpp-build-resolver.md +0 -91
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/cpp-reviewer.md +0 -79
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/database-reviewer.md +0 -94
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/doc-updater.md +0 -110
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/docs-lookup.md +0 -68
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/e2e-runner.md +0 -110
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/go-build-resolver.md +0 -95
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/go-reviewer.md +0 -83
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/harness-optimizer.md +0 -35
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/java-build-resolver.md +0 -154
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/java-reviewer.md +0 -105
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/kotlin-build-resolver.md +0 -119
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/loop-operator.md +0 -37
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/planner.md +0 -215
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/python-reviewer.md +0 -106
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/pytorch-build-resolver.md +0 -122
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/refactor-cleaner.md +0 -92
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/rust-build-resolver.md +0 -149
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/rust-reviewer.md +0 -95
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/security-reviewer.md +0 -112
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/tdd-guide.md +0 -96
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/typescript-reviewer.md +0 -122
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/aside.md +0 -173
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/build-fix.md +0 -64
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/checkpoint.md +0 -78
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/claw.md +0 -51
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/code-review.md +0 -43
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/context-budget.md +0 -29
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/cpp-build.md +0 -173
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/cpp-review.md +0 -140
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/cpp-test.md +0 -257
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/docs.md +0 -32
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/e2e.md +0 -389
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/eval.md +0 -122
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/evolve.md +0 -194
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/go-build.md +0 -183
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/go-review.md +0 -156
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/go-test.md +0 -274
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/gradle-build.md +0 -72
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/harness-audit.md +0 -72
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/instinct-export.md +0 -67
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/instinct-import.md +0 -117
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/instinct-status.md +0 -59
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/kotlin-build.md +0 -176
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/kotlin-review.md +0 -144
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/kotlin-test.md +0 -315
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/learn-eval.md +0 -117
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/learn.md +0 -70
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/loop-start.md +0 -33
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/loop-status.md +0 -25
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/model-route.md +0 -27
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/multi-backend.md +0 -162
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/multi-execute.md +0 -321
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/multi-frontend.md +0 -162
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/multi-plan.md +0 -278
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/plan.md +0 -118
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/pm2.md +0 -283
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/projects.md +0 -39
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/promote.md +0 -41
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/prompt-optimize.md +0 -37
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/prune.md +0 -31
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/python-review.md +0 -319
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/quality-gate.md +0 -30
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/refactor-clean.md +0 -83
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/resume-session.md +0 -154
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/rules-distill.md +0 -11
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/rust-build.md +0 -189
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/rust-review.md +0 -146
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/rust-test.md +0 -311
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/setup-pm.md +0 -83
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/skill-create.md +0 -176
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/skill-health.md +0 -54
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/tdd.md +0 -330
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/test-coverage.md +0 -69
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/update-codemaps.md +0 -73
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/update-docs.md +0 -86
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/verify.md +0 -60
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/contexts/dev.md +0 -23
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/contexts/research.md +0 -30
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/contexts/review.md +0 -25
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/CLAUDE.md +0 -100
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/django-api-CLAUDE.md +0 -308
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/go-microservice-CLAUDE.md +0 -267
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/rust-api-CLAUDE.md +0 -285
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/saas-nextjs-CLAUDE.md +0 -166
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/user-CLAUDE.md +0 -118
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/hooks/README.md +0 -220
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/plugins/README.md +0 -89
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/the-openclaw-guide.md +0 -471
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/the-security-guide.md +0 -206
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/README.md +0 -60
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/app/Mobile_App_Production_Readiness_Framework_/347/247/273/345/212/250/347/253/257/345/205/250/345/271/263/345/217/260/347/224/237/344/272/247/345/217/257/344/270/212/347/272/277/350/247/204/350/214/203.md +0 -2457
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/app/catalog.md +0 -33
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/architecture.md +0 -358
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/common/AI_Coding_Production_Control_Framework_AI/345/206/231/345/256/214/347/232/204/344/273/243/347/240/201/345/246/202/344/275/225/344/270/215/345/244/261/346/216/247.md +0 -2055
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/common/catalog.md +0 -34
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/initial-content.md +0 -296
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/integration-roadmap.md +0 -221
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/architecture-constraints.md +0 -83
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/frontend-quality-rules.md +0 -138
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/governance-auto-repair.md +0 -80
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/service-dependency-matrix.md +0 -55
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/speckit-requirements-gate.md +0 -260
- package/package-source/docs/codex-harness-engineering/templates/package-assets/root/PACKAGE.md +0 -49
- package/package-source/docs/codex-harness-engineering/templates/package-assets/root/README.md +0 -52
- package/package-source/docs/codex-harness-engineering/templates/package-assets/root/init-project.ps1 +0 -51
- package/package-source/docs/codex-harness-engineering/templates/package-assets/root/install-agent-here.ps1 +0 -57
- package/package-source/docs/codex-harness-engineering/templates/package-assets/root/install-agent.ps1 +0 -2506
- package/package-source/docs/codex-harness-engineering/templates/package-assets/root/install-user.ps1 +0 -29
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/agents.md +0 -115
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/coding-style.md +0 -74
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/constitution.md +0 -290
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/git.rules +0 -41
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/harness.rules +0 -29
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/patterns.md +0 -59
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/safety.rules +0 -35
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/testing.md +0 -34
- package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/ai-workflow/check-ai-sync-drift.ps1 +0 -205
- package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/ai-workflow/sync-ai-config-to-targets.ps1 +0 -826
- package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/ai-workflow/sync-targets.example.json +0 -35
- package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/harness/harness-governance-check.ps1 +0 -366
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/HOW_TO_USE_SKILLS.md +0 -91
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/academic-mermaid-diagrams/SKILL.md +0 -172
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/ai-config-git-sync/SKILL.md +0 -152
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/ai-config-git-sync/references/command-recipes.md +0 -92
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/ai-ui-prompts/SKILL.md +0 -350
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/allure-report/SKILL.md +0 -230
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/allure-report/examples/usage.md +0 -99
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/allure-report/scripts/view-allure.ps1 +0 -28
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/api-auto-testing/SKILL.md +0 -329
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/api-contract-template/SKILL.md +0 -88
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/api-design/SKILL.md +0 -139
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/api-integration/SKILL.md +0 -302
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/architect/SKILL.md +0 -211
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/auto-commit/SKILL.md +0 -322
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/backend-patterns/SKILL.md +0 -582
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/baseline-ui/SKILL.md +0 -85
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/better-icons/SKILL.md +0 -129
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/brand-design-md/README.md +0 -215
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/brand-design-md/SKILL.md +0 -191
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/browser-e2e-testing/SKILL.md +0 -305
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/build-error-resolver/SKILL.md +0 -532
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/build-fix/SKILL.md +0 -34
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/business-rule-spec/SKILL.md +0 -99
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/celery-tasks/SKILL.md +0 -95
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/checkpoint/SKILL.md +0 -79
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/cicd/SKILL.md +0 -167
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/SKILL.md +0 -100
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/references/windows-openrouter-clash-playbook.md +0 -94
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/scripts/diagnose-openrouter-route.ps1 +0 -282
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/scripts/ensure-openrouter-rule.ps1 +0 -101
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/clickhouse-io/SKILL.md +0 -429
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/code-review/SKILL.md +0 -171
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/code-reviewer/SKILL.md +0 -104
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/coding-standards/SKILL.md +0 -520
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/consistency-checklist/SKILL.md +0 -57
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/continuous-learning/SKILL.md +0 -80
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/continuous-learning/config.json +0 -18
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/continuous-learning/evaluate-session.sh +0 -60
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/core-rules/SKILL.md +0 -78
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/data-flow-spec/SKILL.md +0 -63
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/database/SKILL.md +0 -147
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/deep-interview/SKILL.md +0 -154
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/django-drf/SKILL.md +0 -97
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/doc-updater/SKILL.md +0 -452
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/docker/SKILL.md +0 -216
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/docx/SKILL.md +0 -105
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/e2e/SKILL.md +0 -364
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/e2e-runner/SKILL.md +0 -708
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/error-handling/SKILL.md +0 -245
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/eval/SKILL.md +0 -125
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/eval-harness/SKILL.md +0 -226
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/README.md +0 -37
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/SKILL.md +0 -141
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/examples/usage.md +0 -76
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/resources/config.json +0 -21
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/scripts/helper.py +0 -24
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/exception-handling-spec/SKILL.md +0 -88
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/find-skill/SKILL.md +0 -95
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/fixing-accessibility/SKILL.md +0 -136
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/fixing-metadata/SKILL.md +0 -111
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/fixing-motion-performance/SKILL.md +0 -151
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/frontend-design/SKILL.md +0 -58
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/frontend-first-workflow/SKILL.md +0 -187
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/frontend-patterns/SKILL.md +0 -631
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/fullstack-workflow/SKILL.md +0 -85
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/git-workflow/SKILL.md +0 -108
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/git-xianyu-analyzer/SKILL.md +0 -346
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/git-xianyu-analyzer/scripts/download_images.py +0 -112
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/github-research/SKILL.md +0 -213
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/glue-coding/SKILL.md +0 -389
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/glue-coding-workflow/SKILL.md +0 -230
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/harness-surface-sync/SKILL.md +0 -188
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/harness-surface-sync/references/current-repo-sync-matrix.md +0 -110
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/harness-surface-sync/references/stale-patterns.md +0 -65
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/agents/openai.yaml +0 -4
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/adapt.md +0 -190
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/animate.md +0 -173
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/audit.md +0 -134
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/bolder.md +0 -113
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/brand.md +0 -104
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/clarify.md +0 -174
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/cognitive-load.md +0 -106
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/color-and-contrast.md +0 -105
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/colorize.md +0 -154
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/craft.md +0 -138
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/critique.md +0 -213
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/delight.md +0 -302
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/distill.md +0 -111
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/document.md +0 -427
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/extract.md +0 -70
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/harden.md +0 -347
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/heuristics-scoring.md +0 -234
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/interaction-design.md +0 -195
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/layout.md +0 -141
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/live.md +0 -513
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/motion-design.md +0 -99
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/onboard.md +0 -234
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/optimize.md +0 -258
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/overdrive.md +0 -130
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/personas.md +0 -178
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/polish.md +0 -232
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/product.md +0 -62
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/quieter.md +0 -99
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/responsive-design.md +0 -114
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/shape.md +0 -136
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/spatial-design.md +0 -100
- package/package-source/install-manifest.json +0 -453
- package/package-source/install-manifest.schema.json +0 -80
- package/package-source/tools/install/ai-workflow/check-ai-sync-drift.ps1 +0 -205
- package/package-source/tools/install/ai-workflow/sync-ai-config-to-targets.ps1 +0 -826
- package/package-source/tools/install/ai-workflow/sync-targets.example.json +0 -35
- package/package-source/tools/install/bootstrap-codex-harness.ps1 +0 -760
- package/package-source/tools/install/env-check.ps1 +0 -40
- package/package-source/tools/install/init-project.ps1 +0 -51
- package/package-source/tools/install/install-agent-here.ps1 +0 -57
- package/package-source/tools/install/install-agent.ps1 +0 -2511
- package/package-source/tools/install/install-user.ps1 +0 -29
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Allure Report
|
|
3
|
-
description: 生成和查看 Allure 测试报告 - 从指定的测试运行目录生成准确的报告
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Allure Report - Allure 测试报告生成与查看
|
|
7
|
-
|
|
8
|
-
## 概述
|
|
9
|
-
|
|
10
|
-
本技能提供了生成和查看 Allure 测试报告的标准化方法。Allure 是一个灵活的多语言测试报告工具,可以生成美观的、交互式的测试报告,包含详细的测试历史、图表、时间线等功能。
|
|
11
|
-
|
|
12
|
-
## 何时使用此技能
|
|
13
|
-
|
|
14
|
-
- 用户想要查看特定测试运行的 Allure 报告
|
|
15
|
-
- 需要从 `midscene_run` 目录中的某次运行生成报告
|
|
16
|
-
- 需要确保报告数据与特定运行目录匹配(避免使用全局混合数据)
|
|
17
|
-
- 需要以可视化方式分析测试结果
|
|
18
|
-
|
|
19
|
-
## 关键原则
|
|
20
|
-
|
|
21
|
-
> [!IMPORTANT]
|
|
22
|
-
> **数据源准确性**:必须从指定的运行目录的 `allure-results` 生成报告,而不是使用全局目录。这样可以确保报告数据与具体的测试运行一一对应。
|
|
23
|
-
|
|
24
|
-
## 使用步骤
|
|
25
|
-
|
|
26
|
-
### 步骤 1: 识别测试运行目录
|
|
27
|
-
|
|
28
|
-
测试运行目录位于 `midscene_run/<timestamp>-<id>/` 下,例如:
|
|
29
|
-
```
|
|
30
|
-
midscene_run/2026-01-23_14-13-21-8ufgvd3i/
|
|
31
|
-
├── allure-results/ # Allure 原始结果文件
|
|
32
|
-
├── report/ # Midscene HTML 报告
|
|
33
|
-
├── log/ # 日志文件
|
|
34
|
-
└── screenshots/ # 截图文件
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### 步骤 2: 生成并查看报告(推荐方式)
|
|
38
|
-
|
|
39
|
-
使用 `allure serve` 命令直接从指定目录启动服务:
|
|
40
|
-
|
|
41
|
-
```powershell
|
|
42
|
-
npx allure serve midscene_run/<运行目录>/allure-results
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**示例**:
|
|
46
|
-
```powershell
|
|
47
|
-
npx allure serve midscene_run/2026-01-23_14-13-21-8ufgvd3i/allure-results
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
**优点**:
|
|
51
|
-
- ✅ 自动生成临时报告并打开浏览器
|
|
52
|
-
- ✅ 数据源准确,不会混入其他测试数据
|
|
53
|
-
- ✅ 无需手动清理生成的报告文件
|
|
54
|
-
|
|
55
|
-
### 步骤 3: 生成自定义品牌报告(推荐)
|
|
56
|
-
|
|
57
|
-
使用自定义品牌脚本生成带有公司 logo 和配色的报告:
|
|
58
|
-
|
|
59
|
-
```powershell
|
|
60
|
-
.\allure-custom\inject-custom.ps1 -RunDir "<运行目录名称>"
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
**示例**:
|
|
64
|
-
```powershell
|
|
65
|
-
.\allure-custom\inject-custom.ps1 -RunDir "2026-01-23_14-13-21-8ufgvd3i"
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
**特性**:
|
|
69
|
-
- ✅ 自动注入自定义蓝色 logo
|
|
70
|
-
- ✅ 应用蓝色主题配色 (#1B8AC8)
|
|
71
|
-
- ✅ 设置中文为默认语言
|
|
72
|
-
- ✅ 自动打开浏览器查看
|
|
73
|
-
|
|
74
|
-
### 步骤 4: 生成标准静态报告(可选)
|
|
75
|
-
|
|
76
|
-
如果需要生成标准的 Allure 报告(无自定义品牌):
|
|
77
|
-
|
|
78
|
-
```powershell
|
|
79
|
-
npx allure generate midscene_run/<运行目录>/allure-results -o <输出目录> --clean
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
**示例**:
|
|
83
|
-
```powershell
|
|
84
|
-
# 生成到 allure-report 目录
|
|
85
|
-
npx allure generate midscene_run/2026-01-23_14-13-21-8ufgvd3i/allure-results -o allure-report --clean
|
|
86
|
-
|
|
87
|
-
# 打开静态报告
|
|
88
|
-
npx allure open allure-report
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
## 命令对比
|
|
92
|
-
|
|
93
|
-
| 命令 | 用途 | 数据源 | 适用场景 |
|
|
94
|
-
|------|------|--------|----------|
|
|
95
|
-
| `allure serve <dir>/allure-results` | 临时服务 | 指定目录 | ✅ **推荐**:快速查看单次运行 |
|
|
96
|
-
| `allure generate + allure open` | 静态报告 | 指定目录 | 保存报告供分享 |
|
|
97
|
-
| `allure serve allure-results` | 临时服务 | 全局目录 | ❌ **避免**:可能混入历史数据 |
|
|
98
|
-
|
|
99
|
-
## 报告内容说明
|
|
100
|
-
|
|
101
|
-
Allure 报告包含以下主要部分:
|
|
102
|
-
|
|
103
|
-
### 左侧导航栏
|
|
104
|
-
- 📊 **Overview** (概览): 测试统计、通过率、环境信息
|
|
105
|
-
- 📁 **Suites** (套件): 按测试套件分组的详细结果
|
|
106
|
-
- 📈 **Graphs** (图表): 各种可视化统计图表
|
|
107
|
-
- ⏱️ **Timeline** (时间线): 测试执行的时间分布
|
|
108
|
-
- 🎯 **Behaviors** (行为): 按标签/特性分组
|
|
109
|
-
- 📦 **Packages** (包): 按代码包结构查看
|
|
110
|
-
|
|
111
|
-
### 验证报告正确性
|
|
112
|
-
|
|
113
|
-
检查以下指标确保报告数据正确:
|
|
114
|
-
- ✅ 报告标题的日期/时间与运行目录匹配
|
|
115
|
-
- ✅ 测试用例数量与预期一致
|
|
116
|
-
- ✅ 套件名称正确(如 `blocked-features.suite.yaml`)
|
|
117
|
-
|
|
118
|
-
## 常见问题
|
|
119
|
-
|
|
120
|
-
**Q: 为什么报告显示的测试数量不对?**
|
|
121
|
-
|
|
122
|
-
A: 可能使用了全局 `allure-results` 目录,包含了历史测试数据。解决方法:
|
|
123
|
-
```powershell
|
|
124
|
-
# ❌ 错误:使用全局目录
|
|
125
|
-
npx allure serve allure-results
|
|
126
|
-
|
|
127
|
-
# ✅ 正确:指定运行目录
|
|
128
|
-
npx allure serve midscene_run/2026-01-23_14-13-21-8ufgvd3i/allure-results
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
**Q: 如何关闭 Allure 服务?**
|
|
132
|
-
|
|
133
|
-
A: 在命令行中按 `Ctrl+C`,或者:
|
|
134
|
-
```powershell
|
|
135
|
-
# Windows
|
|
136
|
-
taskkill /F /IM node.exe /FI "WINDOWTITLE eq allure*"
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
**Q: 报告左侧导航栏看不到怎么办?**
|
|
140
|
-
|
|
141
|
-
A:
|
|
142
|
-
1. 点击浏览器左上角的汉堡菜单图标(☰)展开侧边栏
|
|
143
|
-
2. 扩大浏览器窗口宽度
|
|
144
|
-
3. 检查是否使用了正确的 `allure serve` 命令
|
|
145
|
-
|
|
146
|
-
**Q: 可以同时打开多个运行的报告吗?**
|
|
147
|
-
|
|
148
|
-
A: 可以,使用不同的端口:
|
|
149
|
-
```powershell
|
|
150
|
-
npx allure serve midscene_run/run1/allure-results --port 54617
|
|
151
|
-
npx allure serve midscene_run/run2/allure-results --port 54618
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
## 配置说明
|
|
155
|
-
|
|
156
|
-
Allure 配置在 `vitest.e2e.config.ts` 中:
|
|
157
|
-
|
|
158
|
-
```typescript
|
|
159
|
-
reporters: [
|
|
160
|
-
'verbose',
|
|
161
|
-
[
|
|
162
|
-
'allure-vitest/reporter',
|
|
163
|
-
{
|
|
164
|
-
resultsDir: getAllureResultsDir(), // 结果输出目录
|
|
165
|
-
environmentInfo: { // 环境信息
|
|
166
|
-
os_platform: os.platform(),
|
|
167
|
-
os_release: os.release(),
|
|
168
|
-
node_version: process.version,
|
|
169
|
-
},
|
|
170
|
-
},
|
|
171
|
-
],
|
|
172
|
-
]
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
## 最佳实践
|
|
176
|
-
|
|
177
|
-
1. **始终从运行目录启动**:确保报告数据与测试运行对应
|
|
178
|
-
2. **使用 `allure serve`**:快速查看,无需清理临时文件
|
|
179
|
-
3. **验证数据正确性**:检查日期、测试数量、套件名称
|
|
180
|
-
4. **保存重要报告**:使用 `allure generate` 生成静态报告
|
|
181
|
-
|
|
182
|
-
## 示例脚本
|
|
183
|
-
|
|
184
|
-
创建便捷的报告查看脚本 `scripts/view-allure.ps1`:
|
|
185
|
-
|
|
186
|
-
```powershell
|
|
187
|
-
# view-allure.ps1
|
|
188
|
-
param(
|
|
189
|
-
[Parameter(Mandatory=$true)]
|
|
190
|
-
[string]$RunDir
|
|
191
|
-
)
|
|
192
|
-
|
|
193
|
-
$allureResultsPath = "midscene_run/$RunDir/allure-results"
|
|
194
|
-
|
|
195
|
-
if (-not (Test-Path $allureResultsPath)) {
|
|
196
|
-
Write-Error "Allure results not found: $allureResultsPath"
|
|
197
|
-
exit 1
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
Write-Host "📊 Opening Allure report for: $RunDir" -ForegroundColor Green
|
|
201
|
-
npx allure serve $allureResultsPath
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
使用示例:
|
|
205
|
-
```powershell
|
|
206
|
-
.\scripts\view-allure.ps1 -RunDir "2026-01-23_14-13-21-8ufgvd3i"
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
## 相关资源
|
|
210
|
-
|
|
211
|
-
- [Allure 官方文档](https://docs.qameta.io/allure/)
|
|
212
|
-
- [allure-vitest GitHub](https://github.com/allure-framework/allure-js/tree/master/packages/allure-vitest)
|
|
213
|
-
- 项目配置: `vitest.e2e.config.ts`
|
|
214
|
-
- 运行目录: `midscene_run/`
|
|
215
|
-
|
|
216
|
-
## 注意事项
|
|
217
|
-
|
|
218
|
-
> [!WARNING]
|
|
219
|
-
> - 不要使用全局 `allure-results` 目录查看报告,会导致数据混合
|
|
220
|
-
> - 确保 Allure 服务端口未被占用(默认随机分配)
|
|
221
|
-
> - 大型报告可能需要较长加载时间
|
|
222
|
-
|
|
223
|
-
> [!TIP]
|
|
224
|
-
> - 使用浏览器的开发者工具可以查看报告加载细节
|
|
225
|
-
> - 报告支持多种语言,可在设置中切换
|
|
226
|
-
> - 可以导出报告为 HTML 文件供离线查看
|
|
227
|
-
|
|
228
|
-
## 更新日志
|
|
229
|
-
|
|
230
|
-
- **2026-01-23**: 创建初始版本,基于项目实践经验
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
# Allure Report Skill - 使用示例
|
|
2
|
-
|
|
3
|
-
## 示例 1: 快速查看最近一次测试的报告
|
|
4
|
-
|
|
5
|
-
```powershell
|
|
6
|
-
# 查看指定运行目录的报告
|
|
7
|
-
npx allure serve midscene_run/2026-01-23_14-13-21-8ufgvd3i/allure-results
|
|
8
|
-
```
|
|
9
|
-
|
|
10
|
-
## 示例 2: 使用辅助脚本
|
|
11
|
-
|
|
12
|
-
```powershell
|
|
13
|
-
# 使用提供的脚本
|
|
14
|
-
.\.agent\skills\allure-report\scripts\view-allure.ps1 -RunDir "2026-01-23_14-13-21-8ufgvd3i"
|
|
15
|
-
|
|
16
|
-
# 指定端口
|
|
17
|
-
.\.agent\skills\allure-report\scripts\view-allure.ps1 -RunDir "2026-01-23_14-13-21-8ufgvd3i" -Port 54617
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## 示例 3: 生成静态报告用于分享
|
|
21
|
-
|
|
22
|
-
```powershell
|
|
23
|
-
# 生成静态报告到 allure-report 目录
|
|
24
|
-
npx allure generate midscene_run/2026-01-23_14-13-21-8ufgvd3i/allure-results -o allure-report --clean
|
|
25
|
-
|
|
26
|
-
# 打开静态报告
|
|
27
|
-
npx allure open allure-report
|
|
28
|
-
|
|
29
|
-
# 或直接在浏览器中打开
|
|
30
|
-
start allure-report/index.html
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## 示例 4: 对比多次运行结果
|
|
34
|
-
|
|
35
|
-
```powershell
|
|
36
|
-
# 打开第一次运行(端口 54617)
|
|
37
|
-
npx allure serve midscene_run/2026-01-23_14-13-21-8ufgvd3i/allure-results --port 54617
|
|
38
|
-
|
|
39
|
-
# 在另一个终端打开第二次运行(端口 54618)
|
|
40
|
-
npx allure serve midscene_run/2026-01-23_15-20-10-xyz123ab/allure-results --port 54618
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## 示例 5: 错误排查
|
|
44
|
-
|
|
45
|
-
```powershell
|
|
46
|
-
# ❌ 错误:使用全局目录(会混入历史数据)
|
|
47
|
-
npx allure serve allure-results
|
|
48
|
-
|
|
49
|
-
# ✅ 正确:指定运行目录
|
|
50
|
-
npx allure serve midscene_run/2026-01-23_14-13-21-8ufgvd3i/allure-results
|
|
51
|
-
|
|
52
|
-
# 检查运行目录是否存在
|
|
53
|
-
Test-Path midscene_run/2026-01-23_14-13-21-8ufgvd3i/allure-results
|
|
54
|
-
|
|
55
|
-
# 列出所有可用的运行目录
|
|
56
|
-
Get-ChildItem -Path midscene_run -Directory | Select-Object Name, CreationTime
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## 验证报告正确性
|
|
60
|
-
|
|
61
|
-
打开报告后,检查:
|
|
62
|
-
|
|
63
|
-
1. **概览页面**:
|
|
64
|
-
- 报告生成时间应匹配运行目录时间戳
|
|
65
|
-
- 测试用例数量应符合预期
|
|
66
|
-
|
|
67
|
-
2. **套件页面**:
|
|
68
|
-
- 套件名称正确(如 `blocked-features.suite.yaml`)
|
|
69
|
-
- 测试用例名称准确
|
|
70
|
-
|
|
71
|
-
3. **环境信息**:
|
|
72
|
-
- OS 平台、版本
|
|
73
|
-
- Node.js 版本
|
|
74
|
-
|
|
75
|
-
## 常见工作流
|
|
76
|
-
|
|
77
|
-
### 每日测试报告查看
|
|
78
|
-
|
|
79
|
-
```powershell
|
|
80
|
-
# 1. 运行测试(会自动生成 allure-results)
|
|
81
|
-
npx vitest --config vitest.e2e.config.ts
|
|
82
|
-
|
|
83
|
-
# 2. 查看最新的运行目录
|
|
84
|
-
$latestRun = Get-ChildItem -Path midscene_run -Directory | Sort-Object CreationTime -Descending | Select-Object -First 1
|
|
85
|
-
|
|
86
|
-
# 3. 打开报告
|
|
87
|
-
npx allure serve "midscene_run/$($latestRun.Name)/allure-results"
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### 归档重要报告
|
|
91
|
-
|
|
92
|
-
```powershell
|
|
93
|
-
# 生成静态报告并归档
|
|
94
|
-
$runDir = "2026-01-23_14-13-21-8ufgvd3i"
|
|
95
|
-
npx allure generate "midscene_run/$runDir/allure-results" -o "reports/archive/$runDir" --clean
|
|
96
|
-
|
|
97
|
-
# 压缩归档
|
|
98
|
-
Compress-Archive -Path "reports/archive/$runDir" -DestinationPath "reports/archive/$runDir.zip"
|
|
99
|
-
```
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# view-allure.ps1
|
|
2
|
-
# 快速查看指定运行目录的 Allure 报告
|
|
3
|
-
|
|
4
|
-
param(
|
|
5
|
-
[Parameter(Mandatory=$true, HelpMessage="运行目录名称,例如: 2026-01-23_14-13-21-8ufgvd3i")]
|
|
6
|
-
[string]$RunDir,
|
|
7
|
-
|
|
8
|
-
[Parameter(Mandatory=$false, HelpMessage="可选:指定端口号")]
|
|
9
|
-
[int]$Port = 0
|
|
10
|
-
)
|
|
11
|
-
|
|
12
|
-
$allureResultsPath = "midscene_run/$RunDir/allure-results"
|
|
13
|
-
|
|
14
|
-
if (-not (Test-Path $allureResultsPath)) {
|
|
15
|
-
Write-Error "❌ Allure results not found: $allureResultsPath"
|
|
16
|
-
Write-Host "Available run directories:" -ForegroundColor Yellow
|
|
17
|
-
Get-ChildItem -Path "midscene_run" -Directory | Select-Object -First 10 Name | ForEach-Object { Write-Host " - $($_.Name)" }
|
|
18
|
-
exit 1
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
Write-Host "📊 Opening Allure report for: $RunDir" -ForegroundColor Green
|
|
22
|
-
Write-Host "📁 Results path: $allureResultsPath" -ForegroundColor Cyan
|
|
23
|
-
|
|
24
|
-
if ($Port -gt 0) {
|
|
25
|
-
npx allure serve $allureResultsPath --port $Port
|
|
26
|
-
} else {
|
|
27
|
-
npx allure serve $allureResultsPath
|
|
28
|
-
}
|
|
@@ -1,329 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: api-auto-testing
|
|
3
|
-
description: API 接口自动化测试方法论。基于 Pytest + Requests + Allure 的 3 阶段流程(测试矩阵→用例实现→报告生成),覆盖认证、CRUD、权限、参数校验、业务流 5 大维度。适用于 RESTful API 后端接口测试。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# API 自动化测试 — 方法论与工作流
|
|
7
|
-
|
|
8
|
-
你是一位资深的后端测试工程师。你的任务是为 RESTful API 后端设计并实施全面的接口自动化测试。
|
|
9
|
-
|
|
10
|
-
## 核心理念
|
|
11
|
-
|
|
12
|
-
- **需求驱动**: 从接口文档/需求文档出发,确保每个接口都有对应测试
|
|
13
|
-
- **分层设计**: ApiClient 封装 → Fixtures 数据准备 → 测试用例 → Allure 报告
|
|
14
|
-
- **零 Mock**: 测试直接打真实后端,验证端到端行为
|
|
15
|
-
- **容错重试**: 对不稳定的后端环境内置指数退避重试
|
|
16
|
-
- **结构化报告**: Allure 集成,每个请求/响应自动记录
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## 测试维度体系(5 维度)
|
|
21
|
-
|
|
22
|
-
每个接口至少覆盖以下维度:
|
|
23
|
-
|
|
24
|
-
| # | 维度 | 测试点 | 优先级 |
|
|
25
|
-
|---|------|--------|--------|
|
|
26
|
-
| A1 | 认证鉴权 | Token 有效/无效/过期/刷新、角色权限 | P0 |
|
|
27
|
-
| A2 | 正常流程 | 正确参数→成功响应、数据结构验证 | P0 |
|
|
28
|
-
| A3 | 参数校验 | 必填缺失/格式错误/边界值/类型错误 | P1 |
|
|
29
|
-
| A4 | 业务约束 | 重复操作/状态流转/关联数据/并发 | P1 |
|
|
30
|
-
| A5 | 权限隔离 | 跨角色访问/跨用户数据/越权操作 | P0 |
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## 🔑 3 阶段工作流程
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
阶段1: 生成测试矩阵 (api_test_matrix.md)
|
|
38
|
-
↓ 用户确认
|
|
39
|
-
阶段2: 实现测试用例 + 运行
|
|
40
|
-
↓
|
|
41
|
-
阶段3: 生成 Allure 报告 + 结果分析
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### 阶段 1: 测试矩阵生成
|
|
45
|
-
|
|
46
|
-
**输入**: 接口文档 / 需求规格
|
|
47
|
-
**输出**: `reports/api/api_test_matrix.md`
|
|
48
|
-
|
|
49
|
-
#### 1.1 接口清单提取
|
|
50
|
-
|
|
51
|
-
从需求文档/Swagger/Controller 源码提取所有接口:
|
|
52
|
-
|
|
53
|
-
```markdown
|
|
54
|
-
## 接口清单
|
|
55
|
-
|
|
56
|
-
| API-ID | 方法 | 路径 | 功能 | 所属模块 | 角色 |
|
|
57
|
-
|--------|------|------|------|----------|------|
|
|
58
|
-
| API-001 | POST | /auth/register | 用户注册 | 认证 | 匿名 |
|
|
59
|
-
| API-002 | POST | /auth/login | 用户登录 | 认证 | 匿名 |
|
|
60
|
-
| API-010 | GET | /scripts | 剧本列表 | 剧本 | admin |
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
#### 1.2 测试矩阵
|
|
64
|
-
|
|
65
|
-
为每个接口标注需要覆盖的维度和用例数:
|
|
66
|
-
|
|
67
|
-
```markdown
|
|
68
|
-
## 测试矩阵
|
|
69
|
-
|
|
70
|
-
| API-ID | 接口 | A1 认证 | A2 正常 | A3 校验 | A4 业务 | A5 权限 | TC总数 |
|
|
71
|
-
|--------|------|---------|---------|---------|---------|---------|--------|
|
|
72
|
-
| API-001 | 注册 | - | 1 | 3 | 1 | - | 5 |
|
|
73
|
-
| API-002 | 登录 | - | 1 | - | - | - | 3 |
|
|
74
|
-
| API-010 | 剧本列表 | 1 | 1 | - | - | 1 | 3 |
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
#### 1.3 用例清单
|
|
78
|
-
|
|
79
|
-
```markdown
|
|
80
|
-
## 用例清单
|
|
81
|
-
|
|
82
|
-
### 认证模块
|
|
83
|
-
|
|
84
|
-
| TC-ID | API-ID | 维度 | 标题 | 标记 |
|
|
85
|
-
|-------|--------|------|------|------|
|
|
86
|
-
| TC-A-001 | API-001 | A2 | 正常注册 | smoke |
|
|
87
|
-
| TC-A-002 | API-001 | A3 | 手机号格式错误 | |
|
|
88
|
-
| TC-A-003 | API-001 | A3 | 密码太短 | |
|
|
89
|
-
| TC-A-004 | API-001 | A4 | 重复注册 | |
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### 阶段 2: 测试用例实现
|
|
93
|
-
|
|
94
|
-
#### 2.1 项目结构
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
tests/
|
|
98
|
-
├── conftest.py ← 全局 fixtures: 3 角色 client
|
|
99
|
-
├── utils/
|
|
100
|
-
│ ├── config.py ← 环境配置(URL/账号/错误码)
|
|
101
|
-
│ ├── api_client.py ← HTTP 封装 + Allure 集成
|
|
102
|
-
│ └── helpers.py ← 数据生成器
|
|
103
|
-
├── api/
|
|
104
|
-
│ ├── conftest.py ← API fixtures: 测试数据创建
|
|
105
|
-
│ ├── test_auth.py ← 认证模块测试
|
|
106
|
-
│ ├── test_scripts.py ← 剧本模块测试
|
|
107
|
-
│ └── ...
|
|
108
|
-
└── pytest.ini ← markers + 插件配置
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
#### 2.2 ApiClient 设计原则
|
|
112
|
-
|
|
113
|
-
```python
|
|
114
|
-
class ApiClient:
|
|
115
|
-
"""
|
|
116
|
-
核心设计:
|
|
117
|
-
1. 自动拼接 BASE_URL + API_PREFIX + path
|
|
118
|
-
2. 自动携带 JWT Token (Authorization header)
|
|
119
|
-
3. 每个请求/响应自动记录到 Allure
|
|
120
|
-
4. login() 方法内置指数退避重试(应对 502/500)
|
|
121
|
-
5. 提供 login_as(role) 快捷登录
|
|
122
|
-
"""
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
**重试策略**(应对后端不稳定):
|
|
126
|
-
|
|
127
|
-
```python
|
|
128
|
-
def login(self, phone, password, retries=3):
|
|
129
|
-
for attempt in range(retries):
|
|
130
|
-
resp = self.post("/auth/login", json={...})
|
|
131
|
-
if resp.status_code == 200:
|
|
132
|
-
break
|
|
133
|
-
time.sleep(2 ** attempt) # 指数退避: 1s, 2s, 4s
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
#### 2.3 Fixtures 设计原则
|
|
137
|
-
|
|
138
|
-
| 层级 | scope | 用途 | 示例 |
|
|
139
|
-
|------|-------|------|------|
|
|
140
|
-
| 全局 | session | 角色 client 复用 | `admin_client`, `user_client` |
|
|
141
|
-
| 模块 | session | 前置数据(剧本/DM/场次) | `test_script_id`, `test_dm_id` |
|
|
142
|
-
| 用例 | function | 独立匿名 client | `anon_client` |
|
|
143
|
-
|
|
144
|
-
**Fixture 依赖链**(自动解决前置数据):
|
|
145
|
-
|
|
146
|
-
```
|
|
147
|
-
admin_client ← test_script_id ← test_session_id ← test_booking用例
|
|
148
|
-
test_dm_id ←─────┘
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
#### 2.4 断言工具函数
|
|
152
|
-
|
|
153
|
-
```python
|
|
154
|
-
# 成功响应断言
|
|
155
|
-
assert_success(resp, message="xxx")
|
|
156
|
-
# → 验证 status_code=200 且 code=SUCCESS_CODE
|
|
157
|
-
|
|
158
|
-
# 错误响应断言
|
|
159
|
-
assert_error(resp, expected_code=ErrorCode.UNAUTHORIZED)
|
|
160
|
-
# → 验证业务错误码匹配
|
|
161
|
-
|
|
162
|
-
# 分页数据断言
|
|
163
|
-
assert_page_data(data, check_items=True)
|
|
164
|
-
# → 验证 total/items/page 结构
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
#### 2.5 用例编写规范
|
|
168
|
-
|
|
169
|
-
```python
|
|
170
|
-
@allure.epic("模块名") # 一级分组
|
|
171
|
-
@pytest.mark.api # 标记: 接口测试
|
|
172
|
-
@pytest.mark.auth # 标记: 所属模块
|
|
173
|
-
class TestLogin:
|
|
174
|
-
"""API-002 用户登录"""
|
|
175
|
-
|
|
176
|
-
@allure.story("正常登录") # 二级分组
|
|
177
|
-
@pytest.mark.smoke # 标记: 冒烟测试
|
|
178
|
-
def test_login_success(self, anon_client):
|
|
179
|
-
"""正确的手机号和密码应登录成功"""
|
|
180
|
-
resp = anon_client.post("/auth/login", json={...})
|
|
181
|
-
data = assert_success(resp, "登录应成功")
|
|
182
|
-
assert "token" in data["data"]
|
|
183
|
-
|
|
184
|
-
@allure.story("参数校验 - 手机号格式")
|
|
185
|
-
@pytest.mark.parametrize("bad_phone", ["", "123", "abc"])
|
|
186
|
-
def test_login_invalid_phone(self, anon_client, bad_phone):
|
|
187
|
-
"""手机号格式错误应被拒绝"""
|
|
188
|
-
...
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
**编写规则**:
|
|
192
|
-
|
|
193
|
-
1. **类名** = `Test{操作}` 对应一个 API
|
|
194
|
-
2. **方法名** = `test_{场景}` 语义清晰
|
|
195
|
-
3. **docstring** = 一句话描述预期行为
|
|
196
|
-
4. **Allure 标注** = `@allure.epic` + `@allure.story` + `@pytest.mark`
|
|
197
|
-
5. **parametrize** 覆盖多组参数校验场景
|
|
198
|
-
6. **断言使用封装函数**,不直接写 `assert resp.status_code == 200`
|
|
199
|
-
|
|
200
|
-
#### 2.6 运行命令
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
# 全量运行 + Allure 结果
|
|
204
|
-
pytest tests/api -v --alluredir=reports/allure-results-api
|
|
205
|
-
|
|
206
|
-
# 仅冒烟测试
|
|
207
|
-
pytest tests/api -m smoke --alluredir=reports/allure-results-api
|
|
208
|
-
|
|
209
|
-
# 仅某模块
|
|
210
|
-
pytest tests/api/test_auth.py -v
|
|
211
|
-
|
|
212
|
-
# 生成并打开 Allure 报告
|
|
213
|
-
npx -y allure-commandline generate reports/allure-results-api -o reports/allure-report-api --clean
|
|
214
|
-
npx -y allure-commandline open reports/allure-report-api
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
### 阶段 3: 报告与分析
|
|
218
|
-
|
|
219
|
-
#### 3.1 Allure 报告展示
|
|
220
|
-
|
|
221
|
-
配置 `@allure.epic` / `@allure.story` 后,Allure 报告自动按模块分组:
|
|
222
|
-
|
|
223
|
-
```
|
|
224
|
-
Behaviors 视图:
|
|
225
|
-
├── 认证服务
|
|
226
|
-
│ ├── 正常注册 (PASS)
|
|
227
|
-
│ ├── 手机号重复注册 (PASS)
|
|
228
|
-
│ ├── 正常登录 (PASS)
|
|
229
|
-
│ └── 密码错误 (PASS)
|
|
230
|
-
├── 剧本管理
|
|
231
|
-
│ ├── 剧本列表 (PASS)
|
|
232
|
-
│ └── 创建剧本 (BROKEN) ← 后端 500
|
|
233
|
-
└── 预约服务
|
|
234
|
-
├── 创建预约 (PASS)
|
|
235
|
-
└── 取消预约 (FAIL)
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
#### 3.2 结果分类
|
|
239
|
-
|
|
240
|
-
| Allure 状态 | 含义 | 处理方式 |
|
|
241
|
-
|-------------|------|----------|
|
|
242
|
-
| ✅ PASSED | 测试通过 | — |
|
|
243
|
-
| ❌ FAILED | 断言失败(前端/测试 Bug) | 修复测试或提 Bug |
|
|
244
|
-
| 💥 BROKEN | 异常(后端 500/超时) | 协调后端修复 |
|
|
245
|
-
| ⏭ SKIPPED | 跳过(前置条件不满足) | 检查 fixture 链 |
|
|
246
|
-
|
|
247
|
-
#### 3.3 通过率分析模板
|
|
248
|
-
|
|
249
|
-
```markdown
|
|
250
|
-
## 接口测试结果
|
|
251
|
-
|
|
252
|
-
| 模块 | TC 数 | PASS | FAIL | BROKEN | 通过率 |
|
|
253
|
-
|------|-------|------|------|--------|--------|
|
|
254
|
-
| 认证 | 15 | 14 | 0 | 1 | 93% |
|
|
255
|
-
| 剧本 | 12 | 10 | 1 | 1 | 83% |
|
|
256
|
-
| 合计 | 92 | 78 | 5 | 9 | 85% |
|
|
257
|
-
|
|
258
|
-
### BROKEN 分析(后端问题)
|
|
259
|
-
| TC | 接口 | 错误 | 建议 |
|
|
260
|
-
|----|------|------|------|
|
|
261
|
-
| TC-xx | POST /scripts | 502 Bad Gateway | 后端服务重启 |
|
|
262
|
-
|
|
263
|
-
### FAIL 分析(测试/业务 Bug)
|
|
264
|
-
| TC | 接口 | 期望 | 实际 |
|
|
265
|
-
|----|------|------|------|
|
|
266
|
-
| TC-xx | PUT /auth/me | name 更新 | 返回旧 name |
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
---
|
|
270
|
-
|
|
271
|
-
## 测试数据策略
|
|
272
|
-
|
|
273
|
-
| 数据类型 | 策略 | 示例 |
|
|
274
|
-
|----------|------|------|
|
|
275
|
-
| 预置账号 | config.py 固定配置 | admin/staff/user 三角色 |
|
|
276
|
-
| 测试数据 | helpers.py 随机生成 | `random_phone()`, `random_script_data()` |
|
|
277
|
-
| 前置数据 | session-scope fixture 创建 | `test_script_id` → 全局复用 |
|
|
278
|
-
| 时间数据 | 动态生成未来时间 | `future_datetime_pair(days=7)` |
|
|
279
|
-
|
|
280
|
-
## 容错与稳定性
|
|
281
|
-
|
|
282
|
-
| 问题 | 解决方案 |
|
|
283
|
-
|------|----------|
|
|
284
|
-
| 后端 502/500 | login() 内置 3 次指数退避重试 |
|
|
285
|
-
| Token 过期 | session-scope fixture 全局复用,减少登录次数 |
|
|
286
|
-
| 测试数据冲突 | 随机后缀 `random_string(4)` 确保唯一性 |
|
|
287
|
-
| 前置数据失败 | fixture 断言 `assert_success()` 提前暴露 |
|
|
288
|
-
| CI 环境差异 | config.py 集中管理 URL,支持环境变量覆盖 |
|
|
289
|
-
|
|
290
|
-
## Marker 标记体系
|
|
291
|
-
|
|
292
|
-
```ini
|
|
293
|
-
# pytest.ini
|
|
294
|
-
[pytest]
|
|
295
|
-
markers =
|
|
296
|
-
api: 接口测试
|
|
297
|
-
smoke: 冒烟测试(核心路径)
|
|
298
|
-
auth: 认证模块
|
|
299
|
-
script: 剧本模块
|
|
300
|
-
session: 场次模块
|
|
301
|
-
booking: 预约模块
|
|
302
|
-
order: 订单模块
|
|
303
|
-
dm: DM模块
|
|
304
|
-
stats: 统计模块
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
> [!IMPORTANT]
|
|
308
|
-
> - 每个接口至少 1 个正常 + 1 个异常用例(A2 + A3/A4/A5)
|
|
309
|
-
> - `@pytest.mark.smoke` 标记核心路径,CI 先跑冒烟
|
|
310
|
-
> - fixtures 使用 session scope 避免重复创建数据
|
|
311
|
-
> - 断言用封装函数,不裸写 `assert resp.status_code`
|
|
312
|
-
|
|
313
|
-
> [!WARNING]
|
|
314
|
-
> - 不要用 mock!直接打真实后端
|
|
315
|
-
> - 不要在测试中硬编码 ID,通过 fixture 动态获取
|
|
316
|
-
> - 不要依赖测试执行顺序,每个 test 应能独立运行
|
|
317
|
-
> - 后端 500/502 标记为 BROKEN,不是测试 FAIL
|
|
318
|
-
|
|
319
|
-
> [!TIP]
|
|
320
|
-
> - 先实现认证模块测试,确保登录可用
|
|
321
|
-
> - `parametrize` 批量覆盖参数校验场景
|
|
322
|
-
> - Allure `@allure.epic` + `@allure.story` 让报告结构清晰
|
|
323
|
-
> - 定期清理测试创建的脏数据
|
|
324
|
-
|
|
325
|
-
---
|
|
326
|
-
|
|
327
|
-
## 更新日志
|
|
328
|
-
|
|
329
|
-
- **2026-03-26**: 创建初始版本,基于剧本杀预约平台实战经验总结
|