Metadata-Version: 2.4
Name: devkit-toolbox
Version: 0.1.0
Summary: The Swiss Army Knife for Developers
Author-email: Your Name <your.email@example.com>
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.12.0
Requires-Dist: rich>=13.7.0
Requires-Dist: pydantic>=2.5.0
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: psutil>=5.9.0
Requires-Dist: python-whois>=0.8.0
Requires-Dist: Pillow>=10.0.0
Requires-Dist: PyPDF2>=3.0.0
Requires-Dist: qrcode>=7.0.0
Requires-Dist: cryptography>=41.0.0
Requires-Dist: Markdown>=3.0.0
Requires-Dist: beautifulsoup4>=4.0.0
Requires-Dist: PyYAML>=6.0
Requires-Dist: croniter>=2.0.0
Requires-Dist: art>=6.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Dynamic: license-file

<div align="center">
  <h1>DevKit 🛠️</h1>
  <p><b>The Swiss Army Knife for Developers.</b></p>
  <p>
    <img src="https://img.shields.io/badge/python-3.12+-blue.svg" alt="Python 3.12+">
    <img src="https://img.shields.io/badge/license-MIT-green.svg" alt="MIT License">
  </p>
</div>

DevKit is a modern, extensible command-line toolbox that provides dozens of useful developer utilities through a single, beautifully formatted CLI. Built with [Typer](https://typer.tiangolo.com/) and [Rich](https://rich.readthedocs.io/), it features a completely modular plugin architecture.

## 🚀 Features

DevKit comes packed with **17 independent plugins** right out of the box:

- 🔐 **Password**: Generate secure passwords with custom criteria.
- 🆔 **UUID**: Generate v1, v3, v4, v5 UUIDs.
- #️⃣ **Hash**: Calculate MD5, SHA1, SHA256, Blake2 hashes for strings or files.
- 🔠 **Base64**: Encode and decode strings or files.
- 📦 **Archive**: Zip and Unzip utilities.
- 🔐 **Crypto**: Encrypt and decrypt files securely using Fernet symmetric keys.
- 🖥️ **System**: View beautiful tables for CPU, Memory, Disk usage, and Directory Trees.
- 🌐 **Network**: Ping, Port scanner, DNS lookup, WHOIS lookup.
- 💻 **Env**: Manage and view environment variables.
- 🖼️ **Image**: Convert formats, compress (JPEG/WebP), extract metadata.
- 📄 **PDF**: Merge, split, and extract info from PDFs.
- ⬛ **QR**: Generate customizable QR codes.
- 📝 **JSON**: Format, pretty-print, and validate JSON.
- 📜 **Text**: Lorem Ipsum generator, Regex tester, Extractive text summarizer.
- ⏱️ **Time**: Timestamp converter, Cron parser.
- 🌐 **Web**: Markdown to HTML converter, HTML/XML/YAML/CSV formatters.
- 🎨 **Misc**: Hex/RGB color converter, ASCII Art generator.

## ⚙️ Installation

To get DevKit working properly on your system, you need to have Python 3.12+ installed. 
Follow these exact steps in your terminal to install DevKit globally so you can use the `devkit` command anywhere:

1. **Clone the repository:**
```bash
git clone https://github.com/azlanabdulla/dev-kit.git
cd dev-kit
```

2. **Install the package in editable mode:**
```bash
pip install -e .
```
*(Note: The `-e` flag means "editable", so if you pull new updates from git, they apply immediately without needing to reinstall).*

3. **Verify it works!**
You should now be able to run `devkit` from anywhere in your terminal. Let's check the health of the installation:
```bash
devkit doctor
devkit plugins
```

## 📖 Usage Examples

```bash
# Generate a 20-character secure password
devkit password generate -l 20

# Parse a cron expression
devkit time cron "0 0 * * *" -c 5

# Display system CPU information
devkit system cpu

# Compress an image to 80% quality
devkit image compress input.jpg output.jpg -q 80

# Convert a color from Hex to RGB
devkit misc color "#FF5733"
```

## 🏗️ Architecture

DevKit uses a **Dynamic Plugin Registry**. Every folder inside `devkit/plugins/` that contains a `cli.py` with a Typer `app` object is automatically discovered and loaded as a subcommand.

This means you can easily add your own plugins without modifying the core source code!

## 🤝 Contribution Guide

We welcome contributions!
1. Fork the repository.
2. Create your feature branch (`git checkout -b feature/AmazingPlugin`).
3. Place your plugin in `devkit/plugins/yourplugin`.
4. Add tests in the `tests/` directory.
5. Commit your changes (`git commit -m 'Add amazing plugin'`).
6. Push to the branch (`git push origin feature/AmazingPlugin`).
7. Open a Pull Request.

## 🗺️ Roadmap

- [ ] Standalone plugin installation (`devkit install plugin-name`)
- [ ] AI Integration Plugin
- [ ] GUI / TUI Dashboard mode

## 📄 License

Distributed under the MIT License. See `LICENSE` for more information.
