Phase 1b: Rename all ~94 commands across 12 plugins to /<noun> <action> sub-command pattern. Git-flow consolidated from 8→5 commands (commit variants absorbed into --push/--merge/--sync flags). Dispatch files, name: frontmatter, and cross-reference updates for all plugins. Phase 2: Design documents for 8 new plugins in docs/designs/. Phase 3: Scaffold 8 new plugins — saas-api-platform, saas-db-migrate, saas-react-platform, saas-test-pilot, data-seed, ops-release-manager, ops-deploy-pipeline, debug-mcp. Each with plugin.json, commands, agents, skills, README, and claude-md-integration. Marketplace grows from 12→20. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
description
| description |
|---|
| Detect test frameworks, locate config files, and identify test runner |
Framework Detection Skill
Overview
Detect the test framework and runner used by the current project based on configuration files, dependencies, and directory structure.
Detection Matrix
Python
| Indicator | Framework | Confidence |
|---|---|---|
pytest.ini |
pytest | HIGH |
pyproject.toml with [tool.pytest] |
pytest | HIGH |
setup.cfg with [tool:pytest] |
pytest | HIGH |
conftest.py in project root or tests/ |
pytest | HIGH |
tests/test_*.py with import unittest |
unittest | MEDIUM |
tox.ini with pytest commands |
pytest | MEDIUM |
JavaScript / TypeScript
| Indicator | Framework | Confidence |
|---|---|---|
jest.config.js or jest.config.ts |
Jest | HIGH |
package.json with "jest" config |
Jest | HIGH |
vitest.config.ts or vitest.config.js |
Vitest | HIGH |
.mocharc.yml or .mocharc.json |
Mocha | HIGH |
karma.conf.js |
Karma | MEDIUM |
E2E Frameworks
| Indicator | Framework | Confidence |
|---|---|---|
playwright.config.ts |
Playwright | HIGH |
cypress.config.js or cypress.config.ts |
Cypress | HIGH |
cypress/ directory |
Cypress | MEDIUM |
Config File Locations
Search order for each framework:
- Project root
tests/ortest/directory- Inside
pyproject.toml,package.json, orsetup.cfg(inline config)
Output
When detection completes, report:
- Detected framework name and version (from lock file or dependency list)
- Config file path
- Test directory path
- Coverage tool if configured (pytest-cov, istanbul, c8)
- CI integration if found (.github/workflows, .gitlab-ci.yml, Jenkinsfile)