Skip to main content

A powerful CLI tool to automate coding tasks by z0roday

Project description

z0roday's DevBuddy

A powerful CLI tool to automate common developer tasks, scaffold projects, and boost productivity.

Features

  • 🚀 Project Scaffolding: Create new projects with various frameworks (Python, Flask, Django, FastAPI, React, Vue, Angular, and more)
  • 🔍 Code Formatting: Format your Python code with popular tools like Black, Autopep8, YAPF, and isort
  • 📊 Code Analysis: Analyze code quality with Pylint
  • 📝 Documentation: Generate documentation scaffolds with Sphinx
  • 🐳 Docker Support: Create Dockerfiles and docker-compose.yml files for your projects
  • 🧪 Testing: Set up testing frameworks for your projects
  • 🔧 Development Tools: Install framework dependencies and tools
  • 🔄 Auto-update: Keep your tools and dependencies updated
  • 🛠️ Environment Setup: Automatically set up development environments
  • 🧩 Plugin System: Extend functionality with plugins
  • 🔍 CI/CD Integration: Create CI/CD configuration for GitHub Actions

Installation

pip install z0roday-devbuddy

Or install directly from GitHub:

pip install git+https://github.com/z0roday/devbuddy.git

Usage

Creating a new project

# Create a Flask project
dbuddy create flask-myapp

# Create a React project with Docker support
dbuddy create react-myapp --dockerize

# Create a Django project with Git initialization and testing
dbuddy create django-myapp --git-init --with-tests

# Create a FastAPI project with CI/CD configuration
dbuddy create fastapi-myapp --auto-ci

Formatting code

# Format all Python files in current directory with black
dbuddy format .

# Format using a specific tool and only git-staged files
dbuddy format . --tool autopep8 --git

# Format all files recursively
dbuddy format . --recursive

Installing frameworks

# Install JavaScript frameworks
dbuddy install js-frameworks

# Install Python frameworks
dbuddy install python-frameworks

Analyzing code

# Analyze Python code in current directory
dbuddy analyze .

Generating documentation

# Generate documentation for a package
dbuddy docs mypackage

Generating template files

# Generate a .gitignore file for Python
dbuddy generate gitignore --lang python

# Generate a Dockerfile
dbuddy generate dockerfile

# Generate a README.md
dbuddy generate readme

# Generate a LICENSE file
dbuddy generate license

New Features

# Check for updates in project dependencies
dbuddy update-deps

# Update only outdated packages with npm
dbuddy update-deps --package-manager npm --only-outdated

# Setup development environment with one command
dbuddy setup-env python --install-deps

# Setup a Django environment
dbuddy setup-env django

# List installed plugins
dbuddy plugin list

# Install a plugin
dbuddy plugin install example

# Remove a plugin
dbuddy plugin remove example

# Use a plugin command (if example plugin is installed)
dbuddy system-info
dbuddy count-lines file.py

Supported Project Types

  • Python: Basic Python project
  • Flask: Flask web application
  • Django: Django web application
  • FastAPI: FastAPI web API
  • React: React frontend application
  • Next.js: Next.js React framework
  • Vue: Vue.js frontend application
  • Express: Express.js Node backend
  • Angular: Angular frontend framework
  • Laravel: PHP Laravel framework
  • Spring: Java Spring Boot framework
  • Go: Go web application
  • Rust: Rust web application
  • .NET: ASP.NET Core web API

Plugin System

DevBuddy supports plugins to extend its functionality. You can install plugins from Git repositories:

dbuddy plugin install my-plugin

To create your own plugin, create a Python package with the following structure:

devbuddy-plugin-myplugin/
├── __init__.py
└── ... other files

In your __init__.py, define a register_commands function:

def register_commands(cli_group):
    @cli_group.command()
    def my_command():
        """My custom command."""
        print("Hello from my plugin!")

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

License

MIT License

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

z0roday_devbuddy-0.3.0.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

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

z0roday_devbuddy-0.3.0-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file z0roday_devbuddy-0.3.0.tar.gz.

File metadata

  • Download URL: z0roday_devbuddy-0.3.0.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.0

File hashes

Hashes for z0roday_devbuddy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 527440079fd7a76b2fce23e14879c8dd79ad2bcbe22d07552681ae63b00276c2
MD5 2063d9dcf714beab66ba3526ecc9aa1e
BLAKE2b-256 ecce040d3c5b2a4bf9d90edd6fd45251b419c2bd57d105433d743d9ecf20bc91

See more details on using hashes here.

File details

Details for the file z0roday_devbuddy-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for z0roday_devbuddy-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2b78cfc592b128abc58d6ba4bf9117355c165c1e25153a602fa9ed30c6e4bdc
MD5 98d748ab18e4436104ea7f81215d8323
BLAKE2b-256 9b44d6ffbf1bad6138c9f30c67a5e1b50a938eeeabc77361d615f610c7df6639

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