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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
527440079fd7a76b2fce23e14879c8dd79ad2bcbe22d07552681ae63b00276c2
|
|
| MD5 |
2063d9dcf714beab66ba3526ecc9aa1e
|
|
| BLAKE2b-256 |
ecce040d3c5b2a4bf9d90edd6fd45251b419c2bd57d105433d743d9ecf20bc91
|
File details
Details for the file z0roday_devbuddy-0.3.0-py3-none-any.whl.
File metadata
- Download URL: z0roday_devbuddy-0.3.0-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2b78cfc592b128abc58d6ba4bf9117355c165c1e25153a602fa9ed30c6e4bdc
|
|
| MD5 |
98d748ab18e4436104ea7f81215d8323
|
|
| BLAKE2b-256 |
9b44d6ffbf1bad6138c9f30c67a5e1b50a938eeeabc77361d615f610c7df6639
|