Cross-platform developer environment auditing and cleanup tool
Project description
๐ DevAudit
Developer Environment Auditing Tool
Cross-platform CLI tool for auditing development environments, tracking dependencies, and identifying cleanup candidates. Beautiful terminal output powered by Rich.
โจ Features
- ๐ Python Auditing - List packages, detect frameworks (Django, Flask, FastAPI), find outdated packages
- ๐ฆ Node.js/npm Auditing - Track global packages, detect frameworks (Express, React, Vue), identify outdated packages
- ๐ณ Docker Auditing - List containers, images, identify large images, find dangling resources
- ๐ท Go Auditing - List modules, show cache location
- ๐ป System Auditing - Detect Git, kubectl, Terraform, cloud CLIs, and more
- ๐ฏ Project-Specific Scanning - Target individual projects to audit their dependencies and configuration
- ๐ Beautiful Reports - Console output with Rich tables + timestamped text reports
- ๐งน Cleanup Suggestions - Automatically identify outdated packages and large Docker images
- ๐ง Docker Desktop Fix - Fix common Docker Desktop UI issues (Windows)
- ๐ค Automation Ready - Perfect for CI/CD pipelines and batch processing multiple projects
๐ Quick Start
Installation
pip install devaudit
Basic Usage
# Full system audit
devaudit scan
# Audit specific tools
devaudit scan --python
devaudit scan --docker
devaudit scan --node
# Audit a specific project directory
devaudit scan --target /path/to/project
# Fix Docker Desktop (Windows only)
devaudit fix-docker
๐ Commands
devaudit scan
Audit your development environment.
Options:
--python- Audit Python only--node- Audit Node.js only--docker- Audit Docker only--go- Audit Go only--system- Audit system tools only--target PATH- Target directory to audit (project-specific scan)--no-reports- Skip generating report files--output-dir PATH- Custom output directory for reports
Examples:
# Full system audit (all tools)
devaudit scan
# Python only
devaudit scan --python
# Multiple tools
devaudit scan --python --docker
# Audit a specific project directory
devaudit scan --target ~/projects/my-django-app
# Audit specific tool in a project
devaudit scan --python --target ~/projects/my-app
# Custom report location
devaudit scan --output-dir ~/audit-reports
# Audit multiple projects with a script
for dir in ~/projects/*; do
devaudit scan --target "$dir" --output-dir "./reports/$(basename $dir)"
done
devaudit fix-docker
Fix common Docker Desktop issues on Windows.
This command:
- Stops Docker Desktop processes
- Shuts down WSL instances
- Removes stale lock files
- Restarts Docker service
- Launches Docker Desktop cleanly
Example:
devaudit fix-docker
๐ Output
Console Output
DevAudit displays beautiful tables in your terminal:
- โ Overview Table - Shows which tools are installed with versions
- ๐ Python Details - Frameworks detected, outdated packages
- ๐ฆ Node Details - Global packages, frameworks
- ๐ณ Docker Details - Container/image statistics
- ๐งน Cleanup Candidates - Suggested items to remove
Report Files
Two report files are generated (timestamped):
-
Summary Report (
summary_YYYYMMDD_HHMMSS.txt)- Quick overview of installed tools
- List of cleanup candidates
- Perfect for quick checks
-
Detailed Report (
detailed_YYYYMMDD_HHMMSS.txt)- Complete package lists
- Framework detection results
- Full Docker container/image details
- Comprehensive cleanup suggestions
Reports are saved to ./devaudit_reports/ by default.
๐ฏ Use Cases
1. Project-Specific Auditing
Audit individual projects to understand their dependencies and configuration.
devaudit scan --target ~/projects/my-app
# Checks for:
# - Python: requirements.txt, pyproject.toml, Pipfile, venv/
# - Node: package.json, package-lock.json, node_modules/
# - Go: go.mod, go.sum, module info
2. Environment Cleanup
Identify outdated packages and large Docker images consuming disk space.
devaudit scan
# Check the "Cleanup Candidates" section
3. New Machine Setup Verification
Verify all required development tools are installed.
devaudit scan
# Check the overview table for missing tools
4. Team Environment Standardization
Compare audit reports across team members to ensure consistent environments.
devaudit scan --output-dir ~/team-audits/
# Share the summary report with your team
5. Docker Troubleshooting
When Docker Desktop won't start or containers are stuck.
devaudit fix-docker
6. CI/CD Environment Documentation
Generate audit reports in CI to document build environment state.
devaudit scan --output-dir ./build-artifacts/
7. Batch Project Auditing
Audit multiple projects at once with automation scripts.
# Audit all projects in a directory
for dir in ~/projects/*; do
echo "Auditing $(basename $dir)..."
devaudit scan --target "$dir" --output-dir "./audits/$(basename $dir)"
done
๐ ๏ธ What Gets Audited?
Python
System-wide:
- โ
Installed interpreters (
python,python3,py) - โ Global packages with versions
- โ Framework detection (Django, Flask, FastAPI, Pyramid)
- โ Outdated packages
Project-specific (with --target):
- โ requirements.txt parsing
- โ pyproject.toml detection
- โ Pipfile detection
- โ Virtual environment (venv/) detection and package listing
Node.js/npm
System-wide:
- โ Node.js and npm versions
- โ Global packages
- โ Framework detection (Express, React, Vue, Angular, Next.js)
- โ Outdated global packages
Project-specific (with --target):
- โ package.json parsing (dependencies, devDependencies, scripts)
- โ package-lock.json detection
- โ node_modules/ analysis and package count
Docker
- โ Docker version
- โ Running/stopped containers
- โ Images with sizes
- โ Dangling images
- โ Large images (>500MB)
Go
System-wide:
- โ Go version
- โ Module cache location
Project-specific (with --target):
- โ go.mod parsing (module name, Go version)
- โ go.sum detection
- โ Module dependency listing
System
- โ Git
- โ Docker Compose
- โ Kubectl
- โ Terraform
- โ AWS CLI
- โ Azure CLI
- โ gcloud
- โ Windows installed programs (Windows only)
๐ก Tips
Schedule Regular Audits
Add to your shell profile:
# Run audit on first terminal open each week
if [ ! -f ~/.devaudit_last_run ] || [ $(find ~/.devaudit_last_run -mtime +7) ]; then
devaudit scan --no-reports
touch ~/.devaudit_last_run
fi
Compare Audits Over Time
# Save with descriptive names
devaudit scan --output-dir ~/audits/2025-01-pre-cleanup/
# After cleanup
devaudit scan --output-dir ~/audits/2025-01-post-cleanup/
Integrate with Documentation
Include audit reports in project documentation to show environment requirements.
๐ Privacy
DevAudit runs 100% locally. No data is sent to external servers. All auditing happens on your machine.
๐ Requirements
- Python 3.8+
- Cross-platform (Windows, macOS, Linux)
- Optional: Docker, Node.js, Go (only if you want to audit them)
๐ค Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Submit a pull request
๐ License
MIT License - See LICENSE file for details.
๐ Acknowledgments
๐ Support
- Issues: GitHub Issues
- Email: john.doyle.mail@icloud.com
DevAudit - Because knowing your environment is the first step to mastering it. ๐
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devaudit-0.1.0.tar.gz.
File metadata
- Download URL: devaudit-0.1.0.tar.gz
- Upload date:
- Size: 21.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e6f61acc991dea0413bef0d268721cd713e2c4a3c188051063da631e0e7d3d6
|
|
| MD5 |
082601247b8daf3f59f45d98f01c8ebb
|
|
| BLAKE2b-256 |
43571e7e85cc9dcb7fc753f44b83a97f072f7a2ff7d538d2aa32404092e4337f
|
File details
Details for the file devaudit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: devaudit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 25.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5c1a7b3070b1f76ef80b077ccf402c5a5cddabfc7e13bf12648d7dd63a9134e
|
|
| MD5 |
f9933dd091cd1e312638b97999aff8e7
|
|
| BLAKE2b-256 |
c1973a210a8850ef31d476ca4a681b8a8f77f51f7160279f87938a3012b92c6e
|