From 3f7a1ee9a0b3ce1871d04d99c242f299716ab41e Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Sun, 1 Feb 2026 21:45:43 +0000 Subject: [PATCH] Initial upload: Devtoolbelt v1.0.0 - unified CLI toolkit for developers --- README.md | 183 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 181 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1372044..ba8fd49 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,182 @@ -# devtoolbelt +# Devtoolbelt -A unified CLI toolkit for developers - database inspection, API testing, and utility functions \ No newline at end of file +A unified CLI toolkit for developers that combines database inspection, API testing, and common utility functions in a single terminal-based tool with colorized output. + +## Features + +- **Database Commands**: List tables, view schemas, execute queries for PostgreSQL, MySQL, SQLite, and MSSQL +- **API Testing**: GET/POST requests, endpoint testing, benchmarking with colored output +- **Utility Functions**: Timestamp conversion, hash generation, UUIDs, base64, URL encoding, JWT decoding, cron parsing, password generation +- **Interactive Mode**: Shell-like interface for quick access to all commands +- **Configuration**: YAML-based config for databases and API endpoints + +## Installation + +### From Source + +```bash +# Clone the repository +git clone https://7000pct.gitea.bloupla.net/7000pctAUTO/devtoolbelt.git +cd devtoolbelt + +# Install the package +pip install -e . +``` + +### From PyPI + +```bash +pip install devtoolbelt +``` + +## Quick Start + +```bash +# Show help +devtoolbelt --help + +# Start interactive mode +devtoolbelt interactive + +# Show version +devtoolbelt version +``` + +## Commands Overview + +Devtoolbelt provides three main command groups: + +- `db` - Database inspection and queries +- `api` - API testing and requests +- `utils` - Common utility functions + +## Database Commands + +```bash +# List configured databases +devtoolbelt db list + +# Connect to a database +devtoolbelt db connect mydb + +# List tables with verbose output +devtoolbelt db tables mydb --verbose + +# View table schema +devtoolbelt db schema mydb users + +# Execute queries +devtoolbelt db query mydb "SELECT * FROM users LIMIT 10" +devtoolbelt db query mydb "SELECT * FROM users" --format json --limit 50 + +# Add database configuration +devtoolbelt db add mydb \ + --type postgresql \ + --host localhost \ + --port 5432 \ + --database myapp \ + --user myuser \ + --password mypassword +``` + +## API Testing Commands + +```bash +# List configured endpoints +devtoolbelt api list + +# Make GET requests +devtoolbelt api get https://api.example.com/users +devtoolbelt api get users --headers "Authorization: Bearer token123" + +# Make POST requests +devtoolbelt api post https://api.example.com/users \ + --data '{"name": "John", "email": "john@example.com"}' + +# Test endpoints +devtoolbelt api test https://api.example.com/health --expect-status 200 + +# Benchmark endpoints +devtoolbelt api benchmark https://api.example.com/users \ + --requests 100 \ + --concurrency 5 +``` + +## Utility Commands + +```bash +# Timestamp operations +devtoolbelt utils timestamp +devtoolbelt utils timestamp --utc + +# Hash generation +devtoolbelt utils hash "hello world" +devtoolbelt utils hash "hello world" --algorithm sha256 + +# UUID generation +devtoolbelt utils uuid +devtoolbelt utils uuid --count 5 + +# Base64 encoding/decoding +devtoolbelt utils base64 "hello world" +devtoolbelt utils base64 "aGVsbG8gd29ybGQ=" --decode + +# JWT decoding +devtoolbelt utils jwt "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." + +# Password generation +devtoolbelt utils password +devtoolbelt utils password --length 24 --no-special +``` + +## Interactive Mode + +```bash +devtoolbelt interactive + +# Example session: +[devtoolbelt] db list +[devtoolbelt] uuid +[devtoolbelt] hash mypassword +[devtoolbelt] exit +``` + +## Configuration + +Devtoolbelt uses a YAML configuration file (`.devtoolbelt.yml`) for storing database and API configurations. + +### Default Location + +- Linux/macOS: `~/.config/devtoolbelt/.devtoolbelt.yml` +- Windows: `%APPDATA%\devtoolbelt\.devtoolbelt.yml` + +### Example Configuration + +```yaml +databases: + myapp: + type: postgresql + host: localhost + port: 5432 + database: myapp + user: myuser + password: mypassword + +api_endpoints: + users: https://api.example.com/users + auth: https://api.example.com/auth +``` + +## Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +1. Fork the repository +2. Create your feature branch (`git checkout -b feature/amazing-feature`) +3. Commit your changes (`git commit -m 'Add some amazing feature'`) +4. Push to the branch (`git push origin feature/amazing-feature`) +5. Open a Pull Request + +## License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.