CLI Reference
Command-line interface for CI/CD integration
Installation
# Install globally
pnpm add -g @flakiness-detective/cli
# Or use npx (no installation needed)
npx @flakiness-detective/cli --helpCommands
detect
Run flakiness detection on test failures.
flakiness-detective detect [options]Options
--adapter <type>Data adapter: in-memory, filesystem, firestore (default: in-memory)
--embedding <type>Embedding provider: google, mock (default: mock)
--days <number>Time window in days (default: 7)
--epsilon <number>DBSCAN epsilon value (default: 0.15)
--min-points <number>DBSCAN minPoints (default: 2)
--distance <metric>Distance metric: cosine, euclidean (default: cosine)
--max-clusters <number>Maximum clusters to return (default: 5)
--verbose, -vEnable debug mode with detailed logging
Examples
# Basic usage
flakiness-detective detect
# With Firestore and Google AI
flakiness-detective detect \
--adapter=firestore \
--embedding=google \
--days=14
# Debug mode
flakiness-detective detect --verbose
# Custom clustering parameters
flakiness-detective detect \
--epsilon=0.2 \
--min-points=3 \
--distance=euclideanreport
Generate a report from saved clusters.
flakiness-detective report [options]
Options:
--limit <number> Maximum clusters to show (default: 10)
--output <format> Output format: console, json (default: console)Configuration Files
The CLI supports configuration files for easier management:
Supported Files
.flakinessrc.json.flakinessrc.jsflakiness-detective.config.js.flakinessrc.tsflakiness-detective.config.tspackage.json(flakinessDetective field)
Example Configuration
// .flakinessrc.json
{
"adapter": {
"type": "firestore",
"failuresCollection": "test_failures",
"clustersCollection": "flaky_clusters"
},
"embedding": {
"type": "google",
"model": "text-embedding-004"
},
"timeWindow": {
"days": 7
},
"clustering": {
"epsilon": 0.15,
"minPoints": 2,
"distance": "cosine",
"maxClusters": 5
}
}CLI arguments take precedence over config files.
CI/CD Integration
GitHub Actions
name: Detect Flaky Tests
on: [push]
jobs:
detect:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
- name: Install CLI
run: npm install -g @flakiness-detective/cli
- name: Detect Flaky Tests
run: |
flakiness-detective detect \
--adapter=firestore \
--embedding=google \
--verbose
env:
GOOGLE_AI_API_KEY: ${{ secrets.GOOGLE_AI_API_KEY }}