Usage
Packmind CLI Tutorial
This tutorial will guide you through using the Packmind CLI to scan your codebase for best practice violations.
Getting Help
For complete command reference and options:
packmind-cli scan -h
Basic Usage
1. Scan Current Directory
packmind-cli scan .
Scans all files in the current directory and subdirectories.
2. Scan Specific Files
packmind-cli scan src/main.js,src/utils.js
Scans only the specified files (comma-separated).
3. Scan Specific Directories
packmind-cli scan src,test
Scans all files in the src
and test
directories.
Glob Patterns π
Important: Always quote glob patterns to prevent shell expansion!
Basic Patterns
# Scan all TypeScript files
packmind-cli scan "**/*.ts"
# Scan all JavaScript and TypeScript files
packmind-cli scan "**/*.{js,ts}"
# Scan all test files
packmind-cli scan "**/*.{test,spec}.{js,ts}"
Directory-Based Patterns
# Scan all files in any "src" directory
packmind-cli scan "**/src/**"
# Scan all files in "components" directories
packmind-cli scan "**/components/**"
# Scan all files in nested utility directories
packmind-cli scan "**/utils/**"
File-Specific Patterns
# Find all package.json files
packmind-cli scan "**/package.json"
# Find all pom.xml files (Maven projects)
packmind-cli scan "**/pom.xml"
# Find all Docker files
packmind-cli scan "**/Dockerfile"
Combining Multiple Patterns
# Scan source code AND configuration files
packmind-cli scan "**/src/**,**/pom.xml"
# Scan multiple file types across the project
packmind-cli scan "**/*.{js,ts},**/*.{java,kt},**/pom.xml"
# Scan source and test directories
packmind-cli scan "**/src/**,**/test/**,**/*.spec.*"
Output Formats
Console Output (Default)
# Group results by files (default)
packmind-cli scan "**/src/**"
# Group results by practices
packmind-cli scan "**/src/**" --grouped practices
Export Results
# Export to SonarQube format
packmind-cli scan "**/src/**" \
--formatters sonarqube \
--output sonarqube-report.json
# Export to SARIF format (for GitHub, etc.)
packmind-cli scan "**/src/**" \
--formatters sarif \
--output sarif-report.json
# Multiple formats
packmind-cli scan "**/src/**" \
--formatters console,sonarqube \
--output analysis-report.json
Advanced Usage
Scanning Changed Files Only
# Scan only files changed in Git
packmind-cli scan --mode onlyChanged
# Scan only files in GitLab Merge Request
packmind-cli scan --gitlabMR true
Space Filtering
# Scan using practices from specific spaces only
packmind-cli scan "**/src/**" --spaces "JavaScript,React"
# Multiple spaces
packmind-cli scan "**/src/**" --spaces "Java,Spring Boot,Security"
Debugging
# Enable debug logging
packmind-cli scan "**/src/**" --log debug
# See detailed information about pattern matching
packmind-cli scan "**/src/**" --log debug | grep "Expanding\|matched"
Last updated
Was this helpful?