@pzy560117/codex-harness 0.1.4 → 0.1.5
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 +1 -1
- package/package-source/AGENTS.md +48 -0
- package/package-source/PACKAGE.md +49 -0
- package/package-source/README.md +85 -0
- package/package-source/docs/codex-harness-engineering/templates/AGENTS.md +51 -0
- package/package-source/docs/codex-harness-engineering/templates/bootstrap-codex-harness.ps1 +780 -0
- package/package-source/docs/codex-harness-engineering/templates/ci/AGENTS.md +15 -0
- package/package-source/docs/codex-harness-engineering/templates/ci/github-action-codex-review.yml +110 -0
- package/package-source/docs/codex-harness-engineering/templates/ci/github-action-codex-task.yml +46 -0
- package/package-source/docs/codex-harness-engineering/templates/config/AGENTS.md +19 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/architect.toml +18 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/backend-worker.toml +15 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/docs-researcher.toml +14 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/docs-worker.toml +16 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/explorer.toml +15 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/failure-triage.toml +19 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/frontend-worker.toml +15 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/harness-writer.toml +16 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/planner.toml +16 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/readonly-research.toml +14 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/reviewer.toml +14 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/security-reviewer.toml +16 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/stage1-reviewer.toml +16 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/stage2-reviewer.toml +17 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/test-planner.toml +18 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/test-runner.toml +15 -0
- package/package-source/docs/codex-harness-engineering/templates/config/agents/visual-reviewer.toml +16 -0
- package/package-source/docs/codex-harness-engineering/templates/config/codex-agent-roles.md +24 -0
- package/package-source/docs/codex-harness-engineering/templates/config/codex-config.toml +38 -0
- package/package-source/docs/codex-harness-engineering/templates/config/codex-readme.md +67 -0
- package/package-source/docs/codex-harness-engineering/templates/config/env-check.ps1 +44 -0
- package/package-source/docs/codex-harness-engineering/templates/config/env.example +13 -0
- package/package-source/docs/codex-harness-engineering/templates/config/global-AGENTS.md +40 -0
- package/package-source/docs/codex-harness-engineering/templates/config/global-config.toml +19 -0
- package/package-source/docs/codex-harness-engineering/templates/config/mcp-config.toml +38 -0
- package/package-source/docs/codex-harness-engineering/templates/config/rules/agents.md +118 -0
- package/package-source/docs/codex-harness-engineering/templates/config/rules/coding-style.md +57 -0
- package/package-source/docs/codex-harness-engineering/templates/config/rules/constitution.md +290 -0
- package/package-source/docs/codex-harness-engineering/templates/config/rules/git.rules +41 -0
- package/package-source/docs/codex-harness-engineering/templates/config/rules/harness.rules +29 -0
- package/package-source/docs/codex-harness-engineering/templates/config/rules/patterns.md +59 -0
- package/package-source/docs/codex-harness-engineering/templates/config/rules/safety.rules +35 -0
- package/package-source/docs/codex-harness-engineering/templates/config/rules/testing.md +34 -0
- package/package-source/docs/codex-harness-engineering/templates/context/AGENTS.md +19 -0
- package/package-source/docs/codex-harness-engineering/templates/context/API_MAP.md +18 -0
- package/package-source/docs/codex-harness-engineering/templates/context/CHANGELOG_AI.md +11 -0
- package/package-source/docs/codex-harness-engineering/templates/context/CURRENT_TASK.md +114 -0
- package/package-source/docs/codex-harness-engineering/templates/context/DB_SCHEMA.md +14 -0
- package/package-source/docs/codex-harness-engineering/templates/context/DECISIONS.md +12 -0
- package/package-source/docs/codex-harness-engineering/templates/context/KNOWN_ISSUES.md +12 -0
- package/package-source/docs/codex-harness-engineering/templates/context/PROJECT_CONTEXT.md +14 -0
- package/package-source/docs/codex-harness-engineering/templates/context/architecture-brief.md +58 -0
- package/package-source/docs/codex-harness-engineering/templates/context/dev-plan.md +166 -0
- package/package-source/docs/codex-harness-engineering/templates/context/feature-pack.md +101 -0
- package/package-source/docs/codex-harness-engineering/templates/context/repo-map.md +102 -0
- package/package-source/docs/codex-harness-engineering/templates/context/service-dependency-matrix.yaml +25 -0
- package/package-source/docs/codex-harness-engineering/templates/contracts/AGENTS.md +17 -0
- package/package-source/docs/codex-harness-engineering/templates/contracts/README.md +24 -0
- package/package-source/docs/codex-harness-engineering/templates/contracts/openapi.yaml +182 -0
- package/package-source/docs/codex-harness-engineering/templates/contracts/orval.config.ts +20 -0
- package/package-source/docs/codex-harness-engineering/templates/contracts/prism-usage.md +41 -0
- package/package-source/docs/codex-harness-engineering/templates/design/AGENTS.md +21 -0
- package/package-source/docs/codex-harness-engineering/templates/design/ai-image-brief.md +122 -0
- package/package-source/docs/codex-harness-engineering/templates/design/assets/README.md +24 -0
- package/package-source/docs/codex-harness-engineering/templates/design/component-map.md +45 -0
- package/package-source/docs/codex-harness-engineering/templates/design/design-brief.md +183 -0
- package/package-source/docs/codex-harness-engineering/templates/design/design-tokens.json +88 -0
- package/package-source/docs/codex-harness-engineering/templates/design/frontend-architecture.md +165 -0
- package/package-source/docs/codex-harness-engineering/templates/design/image-to-frontend-spec.md +120 -0
- package/package-source/docs/codex-harness-engineering/templates/design/screen-states.md +157 -0
- package/package-source/docs/codex-harness-engineering/templates/design/ui-image-review.md +60 -0
- package/package-source/docs/codex-harness-engineering/templates/design/visual-parity-review.md +124 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/AGENTS.md +19 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/architecture-constraints.md +97 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/code-semantics-and-navigation.md +54 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/code-style-and-naming.md +116 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/demo-readme.md +73 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/directory-structure-template.md +88 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/env-and-deployment-template.md +60 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/frontend-quality-rules.md +165 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/governance-auto-repair.md +82 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/harness-architecture.md +78 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/install-manifest-governance.md +307 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/knowledge-architecture.md +241 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/knowledge-import.md +108 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/knowledge-lint.md +98 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/mcp-knowledge-governance.md +24 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/new-project-checklist.md +7 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/new-project-usage.md +216 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/project-agents-template.md +211 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/prompt-knowledge-integration.md +100 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/regression-rules.md +47 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/requirement-prep-kit/README.md +3 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/rule-governance.md +98 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/service-dependency-matrix.md +70 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/spec-to-ui-to-code-workflow.md +196 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/task-session-strategy.md +133 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/team-knowledge-sync.md +187 -0
- package/package-source/docs/codex-harness-engineering/templates/docs/trace-format.md +86 -0
- package/package-source/docs/codex-harness-engineering/templates/governance/AGENTS.md +18 -0
- package/package-source/docs/codex-harness-engineering/templates/governance/branch-protection-checklist.md +50 -0
- package/package-source/docs/codex-harness-engineering/templates/governance/feedback-evolution-loop.md +55 -0
- package/package-source/docs/codex-harness-engineering/templates/governance/retry-budget.yaml +30 -0
- package/package-source/docs/codex-harness-engineering/templates/governance/risk-levels.yaml +53 -0
- package/package-source/docs/codex-harness-engineering/templates/governance/sandbox-policy.md +13 -0
- package/package-source/docs/codex-harness-engineering/templates/hooks/AGENTS.md +15 -0
- package/package-source/docs/codex-harness-engineering/templates/hooks/hook-stop-verify.ps1 +871 -0
- package/package-source/docs/codex-harness-engineering/templates/hooks/hooks.json +40 -0
- package/package-source/docs/codex-harness-engineering/templates/knowledge/AGENTS.md +16 -0
- package/package-source/docs/codex-harness-engineering/templates/knowledge/catalog.md +6 -0
- package/package-source/docs/codex-harness-engineering/templates/knowledge/decisions/DECISION-HARNESS-001.md +39 -0
- package/package-source/docs/codex-harness-engineering/templates/knowledge/guidelines/GUIDELINE-RULES-001.md +30 -0
- package/package-source/docs/codex-harness-engineering/templates/knowledge/knowledge-catalog.md +41 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/memory/constitution.md +72 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/check-prerequisites.ps1 +148 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/common.ps1 +137 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/create-new-feature.ps1 +279 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/setup-plan.ps1 +61 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/scripts/powershell/update-agent-context.ps1 +448 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/agent-file-template.md +28 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/checklist-template.md +40 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/e2e-plan-template.md +38 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/plan-template.md +393 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/spec-template.md +307 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/tasks-template.md +244 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/AGENTS.md +19 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/architecture/constraints.md +98 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/AGENTS.md +25 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/README.md +198 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/START-HERE.md +66 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/agent-ecosystem-practices.md +140 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/best-practices.md +267 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/codex-global-rules-example.md +292 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/AGENTS.md +14 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/goal-templates.md +380 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/AGENTS.md +14 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/README.md +64 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/contracts/openapi.yaml +25 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/contracts/orval.config.ts +20 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/ai-image-brief.md +44 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/component-map.md +17 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/design-brief.md +58 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/frontend-architecture.md +107 -0
- 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 +72 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/screen-states.md +25 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/ui-image-review.md +38 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/difficulty-research.md +39 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/page-inventory.md +5 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/prd-lite.md +41 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/requirement-interface-matrix.md +32 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/state-matrix.yaml +14 -0
- 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 +6 -0
- 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 +35 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/packages/api-client/http-client.ts +8 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/packages/ui/TicketFilterBar.tsx +72 -0
- 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 +48 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/progress.txt +1 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/stories/TicketFilterBar.stories.tsx +33 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/task.json +54 -0
- 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 +74 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/verify.ps1 +42 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/global-rules-and-bootstrap.md +415 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/goal-harness-integration-guide.md +364 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/implementation-flow.md +290 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/implementation-guide.md +25 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/knowledge-surface-map.md +186 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/mode-matrix.md +57 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/new-project-usage.md +176 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/project-agents-template.md +168 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/spec-to-ui-to-code-workflow.md +196 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/superpowers-codex-solo-builder-playbook.md +676 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/AGENTS.md +22 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/context/AGENTS.md +14 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/context/API_MAP.md +18 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/context/CURRENT_TASK.md +89 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/context/dev-plan.md +166 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/contracts/AGENTS.md +14 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/contracts/README.md +24 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/contracts/prism-usage.md +41 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/AGENTS.md +14 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/component-map.md +45 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/design-brief.md +183 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/design-tokens.json +88 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/frontend-architecture.md +165 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/image-to-frontend-spec.md +120 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/screen-states.md +157 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/visual-parity-review.md +124 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/AGENTS.md +14 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/env-and-deployment-template.md +60 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/frontend-quality-rules.md +161 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/regression-rules.md +47 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/trace-format.md +86 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/product/AGENTS.md +14 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/product/prd-lite.md +166 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/product/state-matrix.yaml +116 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/prompts/AGENTS.md +14 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/prompts/implement-one-task.md +150 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/prompts/repair-one-finding.md +70 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/spec/11-security-design.md +43 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/spec/AGENTS.md +14 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/AGENTS.md +14 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/EVIDENCE_PROTOCOL.md +54 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/NATURAL_LANGUAGE_TEST_CASES.md +690 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/REGRESSION_PLAN.md +28 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/TEST_STRATEGY.md +98 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/TRACEABILITY_MATRIX.md +23 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/verify-matrix.md +51 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/AGENTS.md +165 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/CHANGELOG.md +149 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/CLAUDE.md +61 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/CODE_OF_CONDUCT.md +83 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/CONTRIBUTING.md +465 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/README.md +1390 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/SECURITY.md +53 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/SPONSORING.md +43 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/SPONSORS.md +59 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/TROUBLESHOOTING.md +446 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/architect.md +232 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/build-error-resolver.md +119 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/chief-of-staff.md +155 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/code-reviewer.md +238 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/cpp-build-resolver.md +91 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/cpp-reviewer.md +79 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/database-reviewer.md +94 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/doc-updater.md +110 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/docs-lookup.md +68 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/e2e-runner.md +110 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/go-build-resolver.md +95 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/go-reviewer.md +83 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/harness-optimizer.md +35 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/java-build-resolver.md +154 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/java-reviewer.md +105 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/kotlin-build-resolver.md +119 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/loop-operator.md +37 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/planner.md +215 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/python-reviewer.md +106 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/pytorch-build-resolver.md +122 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/refactor-cleaner.md +92 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/rust-build-resolver.md +149 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/rust-reviewer.md +95 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/security-reviewer.md +112 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/tdd-guide.md +96 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/agents/typescript-reviewer.md +122 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/aside.md +173 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/build-fix.md +64 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/checkpoint.md +78 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/claw.md +51 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/code-review.md +43 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/context-budget.md +29 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/cpp-build.md +173 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/cpp-review.md +140 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/cpp-test.md +257 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/docs.md +32 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/e2e.md +389 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/eval.md +122 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/evolve.md +194 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/go-build.md +183 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/go-review.md +156 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/go-test.md +274 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/gradle-build.md +72 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/harness-audit.md +72 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/instinct-export.md +67 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/instinct-import.md +117 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/instinct-status.md +59 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/kotlin-build.md +176 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/kotlin-review.md +144 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/kotlin-test.md +315 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/learn-eval.md +117 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/learn.md +70 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/loop-start.md +33 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/loop-status.md +25 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/model-route.md +27 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/multi-backend.md +162 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/multi-execute.md +321 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/multi-frontend.md +162 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/multi-plan.md +278 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/plan.md +118 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/pm2.md +283 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/projects.md +39 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/promote.md +41 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/prompt-optimize.md +37 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/prune.md +31 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/python-review.md +319 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/quality-gate.md +30 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/refactor-clean.md +83 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/resume-session.md +154 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/rules-distill.md +11 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/rust-build.md +189 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/rust-review.md +146 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/rust-test.md +311 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/setup-pm.md +83 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/skill-create.md +176 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/skill-health.md +54 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/tdd.md +330 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/test-coverage.md +69 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/update-codemaps.md +73 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/update-docs.md +86 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/verify.md +60 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/contexts/dev.md +23 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/contexts/research.md +30 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/contexts/review.md +25 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/CLAUDE.md +100 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/django-api-CLAUDE.md +308 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/go-microservice-CLAUDE.md +267 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/rust-api-CLAUDE.md +285 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/saas-nextjs-CLAUDE.md +166 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/examples/user-CLAUDE.md +118 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/hooks/README.md +220 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/plugins/README.md +89 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/the-openclaw-guide.md +471 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/the-security-guide.md +206 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/README.md +60 -0
- 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 +2457 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/app/catalog.md +33 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/architecture.md +358 -0
- 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 +2055 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/common/catalog.md +34 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/initial-content.md +296 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/integration-roadmap.md +221 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/architecture-constraints.md +95 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/code-semantics-and-navigation.md +17 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/code-style-and-naming.md +116 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/frontend-quality-rules.md +138 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/governance-auto-repair.md +82 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/mcp-knowledge-governance.md +24 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/service-dependency-matrix.md +55 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/speckit-requirements-gate.md +260 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/root/PACKAGE.md +49 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/root/README.md +52 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/root/init-project.ps1 +51 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/root/install-agent-here.ps1 +57 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/root/install-agent.ps1 +2506 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/root/install-user.ps1 +29 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/agents.md +115 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/coding-style.md +57 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/constitution.md +290 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/git.rules +41 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/harness.rules +29 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/patterns.md +59 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/safety.rules +35 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/testing.md +34 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/ai-workflow/check-ai-sync-drift.ps1 +205 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/ai-workflow/sync-ai-config-to-targets.ps1 +826 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/ai-workflow/sync-targets.example.json +35 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/harness/harness-governance-check.ps1 +864 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/HOW_TO_USE_SKILLS.md +91 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/academic-mermaid-diagrams/SKILL.md +172 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/ai-config-git-sync/SKILL.md +152 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/ai-config-git-sync/references/command-recipes.md +92 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/ai-ui-prompts/SKILL.md +350 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/allure-report/SKILL.md +230 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/allure-report/examples/usage.md +99 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/allure-report/scripts/view-allure.ps1 +28 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/api-auto-testing/SKILL.md +329 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/api-contract-template/SKILL.md +88 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/api-design/SKILL.md +139 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/api-integration/SKILL.md +302 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/architect/SKILL.md +211 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/auto-commit/SKILL.md +324 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/backend-patterns/SKILL.md +582 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/baseline-ui/SKILL.md +85 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/better-icons/SKILL.md +129 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/brand-design-md/README.md +215 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/brand-design-md/SKILL.md +191 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/browser-e2e-testing/SKILL.md +305 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/build-error-resolver/SKILL.md +532 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/build-fix/SKILL.md +34 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/business-rule-spec/SKILL.md +99 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/celery-tasks/SKILL.md +95 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/checkpoint/SKILL.md +79 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/cicd/SKILL.md +167 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/SKILL.md +100 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/references/windows-openrouter-clash-playbook.md +94 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/scripts/diagnose-openrouter-route.ps1 +282 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/scripts/ensure-openrouter-rule.ps1 +101 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/clickhouse-io/SKILL.md +429 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/code-review/SKILL.md +171 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/code-reviewer/SKILL.md +104 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/coding-standards/SKILL.md +520 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/consistency-checklist/SKILL.md +57 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/continuous-learning/SKILL.md +80 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/continuous-learning/config.json +18 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/continuous-learning/evaluate-session.sh +60 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/core-rules/SKILL.md +78 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/data-flow-spec/SKILL.md +63 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/database/SKILL.md +147 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/deep-interview/SKILL.md +154 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/django-drf/SKILL.md +97 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/doc-updater/SKILL.md +452 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/docker/SKILL.md +216 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/docx/SKILL.md +105 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/e2e/SKILL.md +364 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/e2e-runner/SKILL.md +708 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/error-handling/SKILL.md +245 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/eval/SKILL.md +125 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/eval-harness/SKILL.md +226 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/README.md +37 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/SKILL.md +141 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/examples/usage.md +76 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/resources/config.json +21 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/example-skill/scripts/helper.py +24 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/exception-handling-spec/SKILL.md +88 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/find-skill/SKILL.md +95 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/fixing-accessibility/SKILL.md +136 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/fixing-metadata/SKILL.md +111 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/fixing-motion-performance/SKILL.md +151 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/frontend-design/SKILL.md +58 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/frontend-first-workflow/SKILL.md +187 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/frontend-patterns/SKILL.md +631 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/fullstack-workflow/SKILL.md +85 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/git-workflow/SKILL.md +108 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/git-xianyu-analyzer/SKILL.md +346 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/git-xianyu-analyzer/scripts/download_images.py +112 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/github-research/SKILL.md +213 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/glue-coding/SKILL.md +389 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/glue-coding-workflow/SKILL.md +230 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/harness-surface-sync/SKILL.md +204 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/harness-surface-sync/references/current-repo-sync-matrix.md +150 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/harness-surface-sync/references/stale-patterns.md +65 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/agents/openai.yaml +4 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/adapt.md +190 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/animate.md +173 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/audit.md +134 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/bolder.md +113 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/brand.md +104 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/clarify.md +174 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/cognitive-load.md +106 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/color-and-contrast.md +105 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/colorize.md +154 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/craft.md +138 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/critique.md +213 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/delight.md +302 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/distill.md +111 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/document.md +427 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/extract.md +70 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/harden.md +347 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/heuristics-scoring.md +234 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/interaction-design.md +195 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/layout.md +141 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/live.md +513 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/motion-design.md +99 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/onboard.md +234 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/optimize.md +258 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/overdrive.md +130 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/personas.md +178 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/polish.md +232 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/product.md +62 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/quieter.md +99 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/responsive-design.md +114 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/shape.md +136 -0
- package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/impeccable/reference/spatial-design.md +100 -0
- package/package-source/install-manifest.json +523 -0
- package/package-source/install-manifest.schema.json +80 -0
- package/package-source/tools/install/ai-workflow/check-ai-sync-drift.ps1 +205 -0
- package/package-source/tools/install/ai-workflow/sync-ai-config-to-targets.ps1 +826 -0
- package/package-source/tools/install/ai-workflow/sync-targets.example.json +35 -0
- package/package-source/tools/install/bootstrap-codex-harness.ps1 +776 -0
- package/package-source/tools/install/env-check.ps1 +40 -0
- package/package-source/tools/install/init-project.ps1 +51 -0
- package/package-source/tools/install/install-agent-here.ps1 +57 -0
- package/package-source/tools/install/install-agent.ps1 +2513 -0
- package/package-source/tools/install/install-user.ps1 +29 -0
- package/package.json +1 -1
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,329 @@
|
|
|
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**: 创建初始版本,基于剧本杀预约平台实战经验总结
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: api-contract-template
|
|
3
|
+
description: API 契约模板
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# API 契约模板
|
|
7
|
+
|
|
8
|
+
前端代码完成后,提取 API 契约供后端实现。
|
|
9
|
+
|
|
10
|
+
## API 契约:[接口名称]
|
|
11
|
+
|
|
12
|
+
### 基本信息
|
|
13
|
+
| 属性 | 值 |
|
|
14
|
+
|------|-----|
|
|
15
|
+
| 接口名称 | |
|
|
16
|
+
| 请求路径 | /api/v1/xxx |
|
|
17
|
+
| 请求方法 | GET/POST/PUT/DELETE |
|
|
18
|
+
| 关联页面 | |
|
|
19
|
+
| 关联需求 | Req-XXX |
|
|
20
|
+
|
|
21
|
+
### 请求参数
|
|
22
|
+
|
|
23
|
+
#### Query 参数(GET请求)
|
|
24
|
+
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|
|
25
|
+
|--------|------|------|------|------|
|
|
26
|
+
| page | number | ❌ | 页码,默认1 | 1 |
|
|
27
|
+
| pageSize | number | ❌ | 每页条数,默认10 | 10 |
|
|
28
|
+
| status | string | ❌ | 状态筛选 | pending |
|
|
29
|
+
| keyword | string | ❌ | 关键词搜索 | 订单 |
|
|
30
|
+
|
|
31
|
+
#### Body 参数(POST/PUT请求)
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"name": "string, 必填, 名称, 2-50字符",
|
|
35
|
+
"description": "string, 选填, 描述, 最多500字符",
|
|
36
|
+
"status": "string, 必填, 枚举: draft/pending/approved"
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 响应结构
|
|
41
|
+
|
|
42
|
+
#### 成功响应
|
|
43
|
+
```json
|
|
44
|
+
{
|
|
45
|
+
"code": 0,
|
|
46
|
+
"message": "success",
|
|
47
|
+
"data": {
|
|
48
|
+
"list": [
|
|
49
|
+
{
|
|
50
|
+
"id": "string",
|
|
51
|
+
"name": "string",
|
|
52
|
+
"status": "string",
|
|
53
|
+
"createTime": "YYYY-MM-DD HH:mm:ss",
|
|
54
|
+
"updateTime": "YYYY-MM-DD HH:mm:ss"
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
"total": 100,
|
|
58
|
+
"page": 1,
|
|
59
|
+
"pageSize": 10
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
#### 错误响应
|
|
65
|
+
```json
|
|
66
|
+
{
|
|
67
|
+
"code": 400001,
|
|
68
|
+
"message": "参数校验失败",
|
|
69
|
+
"data": null
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 错误码定义
|
|
74
|
+
| 错误码 | 含义 | 前端处理 |
|
|
75
|
+
|--------|------|----------|
|
|
76
|
+
| 400001 | 参数校验失败 | 显示具体字段错误 |
|
|
77
|
+
| 401001 | 未登录 | 跳转登录页 |
|
|
78
|
+
| 403001 | 无权限 | 显示无权限提示 |
|
|
79
|
+
| 404001 | 资源不存在 | 显示404页面 |
|
|
80
|
+
| 500001 | 服务器错误 | 显示通用错误提示 |
|
|
81
|
+
|
|
82
|
+
### 幂等性(写操作必填)
|
|
83
|
+
| 属性 | 值 |
|
|
84
|
+
|------|-----|
|
|
85
|
+
| 是否幂等 | 是/否 |
|
|
86
|
+
| 幂等键 | X-Idempotency-Key header |
|
|
87
|
+
| 有效期 | 24小时 |
|
|
88
|
+
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: api-design
|
|
3
|
+
description: API Design Skill
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# API Design Skill
|
|
7
|
+
|
|
8
|
+
RESTful 和 GraphQL API 设计最佳实践。
|
|
9
|
+
|
|
10
|
+
## RESTful API 规范
|
|
11
|
+
|
|
12
|
+
### URL 设计原则
|
|
13
|
+
- 使用名词复数表示资源:`/users`、`/orders`
|
|
14
|
+
- 层级关系用嵌套:`/users/{id}/orders`
|
|
15
|
+
- 使用连字符分隔:`/user-profiles`
|
|
16
|
+
- 全小写,避免下划线
|
|
17
|
+
|
|
18
|
+
### HTTP 方法语义
|
|
19
|
+
| 方法 | 用途 | 幂等性 |
|
|
20
|
+
|------|------|--------|
|
|
21
|
+
| GET | 获取资源 | ✅ |
|
|
22
|
+
| POST | 创建资源 | ❌ |
|
|
23
|
+
| PUT | 全量更新 | ✅ |
|
|
24
|
+
| PATCH | 部分更新 | ✅ |
|
|
25
|
+
| DELETE | 删除资源 | ✅ |
|
|
26
|
+
|
|
27
|
+
### 状态码规范
|
|
28
|
+
```
|
|
29
|
+
2xx 成功
|
|
30
|
+
200 OK - 通用成功
|
|
31
|
+
201 Created - 创建成功
|
|
32
|
+
204 No Content - 删除成功
|
|
33
|
+
|
|
34
|
+
4xx 客户端错误
|
|
35
|
+
400 Bad Request - 请求格式错误
|
|
36
|
+
401 Unauthorized - 未认证
|
|
37
|
+
403 Forbidden - 无权限
|
|
38
|
+
404 Not Found - 资源不存在
|
|
39
|
+
409 Conflict - 资源冲突
|
|
40
|
+
422 Unprocessable Entity - 验证失败
|
|
41
|
+
|
|
42
|
+
5xx 服务端错误
|
|
43
|
+
500 Internal Server Error
|
|
44
|
+
502 Bad Gateway
|
|
45
|
+
503 Service Unavailable
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 响应格式
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"code": 0,
|
|
52
|
+
"message": "success",
|
|
53
|
+
"data": {
|
|
54
|
+
"id": 1,
|
|
55
|
+
"name": "example"
|
|
56
|
+
},
|
|
57
|
+
"meta": {
|
|
58
|
+
"page": 1,
|
|
59
|
+
"pageSize": 20,
|
|
60
|
+
"total": 100
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 错误响应
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"code": 40001,
|
|
69
|
+
"message": "Validation failed",
|
|
70
|
+
"errors": [
|
|
71
|
+
{
|
|
72
|
+
"field": "email",
|
|
73
|
+
"message": "Invalid email format"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## 分页设计
|
|
80
|
+
|
|
81
|
+
### 偏移分页(小数据量)
|
|
82
|
+
```
|
|
83
|
+
GET /users?page=1&pageSize=20
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### 游标分页(大数据量)
|
|
87
|
+
```
|
|
88
|
+
GET /users?cursor=eyJpZCI6MTAwfQ&limit=20
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## 版本控制
|
|
92
|
+
|
|
93
|
+
### URL 路径版本(推荐)
|
|
94
|
+
```
|
|
95
|
+
/api/v1/users
|
|
96
|
+
/api/v2/users
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Header 版本
|
|
100
|
+
```
|
|
101
|
+
Accept: application/vnd.api+json; version=1
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## GraphQL 规范
|
|
105
|
+
|
|
106
|
+
### Schema 设计
|
|
107
|
+
```graphql
|
|
108
|
+
type User {
|
|
109
|
+
id: ID!
|
|
110
|
+
email: String!
|
|
111
|
+
profile: Profile
|
|
112
|
+
orders(first: Int, after: String): OrderConnection!
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
type Query {
|
|
116
|
+
user(id: ID!): User
|
|
117
|
+
users(filter: UserFilter, pagination: Pagination): UserConnection!
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
type Mutation {
|
|
121
|
+
createUser(input: CreateUserInput!): CreateUserPayload!
|
|
122
|
+
updateUser(id: ID!, input: UpdateUserInput!): UpdateUserPayload!
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### 命名约定
|
|
127
|
+
- Query: 名词,如 `user`、`users`
|
|
128
|
+
- Mutation: 动词+名词,如 `createUser`、`deleteOrder`
|
|
129
|
+
- Input: `XxxInput`
|
|
130
|
+
- Payload: `XxxPayload`
|
|
131
|
+
|
|
132
|
+
## 安全要点
|
|
133
|
+
|
|
134
|
+
- 始终使用 HTTPS
|
|
135
|
+
- 实现速率限制(Rate Limiting)
|
|
136
|
+
- 验证所有输入参数
|
|
137
|
+
- 不在 URL 中传递敏感信息
|
|
138
|
+
- 使用 JWT 或 OAuth2.0 认证
|
|
139
|
+
|