DEV Community

Cover image for Varedura — safe Docker/WSL cleanup + network monitor🧹⚡
João Natividade
João Natividade

Posted on

Varedura — safe Docker/WSL cleanup + network monitor🧹⚡

GitHub Copilot CLI Challenge Submission

*This is a submission for the GitHub Copilot CLI Challenge

What I Built

Varedura is a small but focused toolkit that makes cleaning up Docker/WSL and monitoring local network activity painless. It combines a Textual TUI and a set of CLIs to:

  • safely prune Docker resources (containers, images, volumes, builders),
  • compact Windows VHDX files for WSL distributions,
  • provide network speed and port‑scan monitoring,
  • record short session GIFs and write daily logs.

All destructive actions require explicit confirmation and the test suite mocks external calls so CI never runs destructive commands. The app exposes both synchronous CLI methods (for scripts) and async streaming APIs (for TUI/workers).

Demo

Repository: https://github.com/joaosnet/Varedura

Quick start (Windows recommended for VHDX tasks):

  • Activate venv
    • & .\.venv\Scripts\Activate.ps1
  • Run the Textual TUI (auto‑elevates on Windows when needed)
    • uv run main.py
  • Run CLI cleaner (full)
    • uv run python -m cli.main_cleaner
  • Quick prune
    • uv run python -m cli.quick_cleanup
  • Run tests
    • uv run pytest tests/ -v

Tip: Use the screenshots or recordings folders for visuals when publishing. The app parses Docker output for lines like Total reclaimed space: to summarize results after a prune.

My Experience with GitHub Copilot CLI

This project was built using GitHub Copilot (Editor + Copilot CLI) — Copilot helped me scaffold features, write tests, and iterate UI components quickly. I used it to:

  • generate initial implementations and pair sync/async variants (e.g., WSLDockerCleaner + *_async),
  • scaffold unit tests and safe mocks for subprocess and admin flows,
  • prototype Textual screens and worker patterns,
  • write reproducible CLI entry points and helpful README examples.

Practical impact: Copilot cut iteration time dramatically — I could try multiple implementations fast and focus on reviewing, testing, and hardening logic. Final code and decisions were reviewed and refined manually; Copilot provided the scaffolding and strong suggestions that sped up development.

Top comments (0)