Skip to main content

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.

PyPI version License: MIT


โœจ 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:

  1. Stops Docker Desktop processes
  2. Shuts down WSL instances
  3. Removes stale lock files
  4. Restarts Docker service
  5. 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):

  1. Summary Report (summary_YYYYMMDD_HHMMSS.txt)

    • Quick overview of installed tools
    • List of cleanup candidates
    • Perfect for quick checks
  2. 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:

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new functionality
  4. Submit a pull request

๐Ÿ“„ License

MIT License - See LICENSE file for details.


๐Ÿ™ Acknowledgments

  • Inspired by PowerShell system audit scripts
  • Terminal UI powered by Rich
  • CLI framework by Click

๐Ÿ“ž Support


DevAudit - Because knowing your environment is the first step to mastering it. ๐Ÿ”

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devaudit-0.1.0.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devaudit-0.1.0-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

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

Hashes for devaudit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9e6f61acc991dea0413bef0d268721cd713e2c4a3c188051063da631e0e7d3d6
MD5 082601247b8daf3f59f45d98f01c8ebb
BLAKE2b-256 43571e7e85cc9dcb7fc753f44b83a97f072f7a2ff7d538d2aa32404092e4337f

See more details on using hashes here.

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

Hashes for devaudit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5c1a7b3070b1f76ef80b077ccf402c5a5cddabfc7e13bf12648d7dd63a9134e
MD5 f9933dd091cd1e312638b97999aff8e7
BLAKE2b-256 c1973a210a8850ef31d476ca4a681b8a8f77f51f7160279f87938a3012b92c6e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page