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>
57 lines
1.8 KiB
Markdown
57 lines
1.8 KiB
Markdown
---
|
|
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:
|
|
1. Project root
|
|
2. `tests/` or `test/` directory
|
|
3. Inside `pyproject.toml`, `package.json`, or `setup.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)
|