Skip to content

bhushan-barbuddhe/frappe_github_automation

Repository files navigation

PROJECT_NAME

Quality Checks Release

PROJECT_DESCRIPTION

Powered by Dhwani RIS 🚀

📚 Documentation

⚡ Quick Start

# Clone the repository
git clone https://github.com/__GITHUB_REPOSITORY__.git
cd __REPO_NAME__

# Install pre-commit hooks
pip install pre-commit
pre-commit install

# Start development
bench start

🛡️ Code Quality & Pre-commit Hooks

This project enforces strict code quality standards using automated tools:

Pre-commit Hooks Enabled

  • Python Code Formatting: black, isort, autoflake
  • Security Scanning: bandit, safety
  • Code Quality: flake8, mypy, pylint
  • Frappe Standards: Custom hooks for Frappe-specific patterns
  • Commit Standards: Conventional commits with commitlint
  • Documentation: Automatic documentation generation

Installation

# Install pre-commit
pip install pre-commit

# Install hooks
pre-commit install

# Run all hooks manually
pre-commit run --all-files

Commit Standards

We follow Conventional Commits specification:

# Format: type(scope): description
feat(user): add user authentication module
fix(api): resolve data validation issue
docs(readme): update installation instructions
test(auth): add unit tests for login flow

Allowed commit types:

  • feat - New features
  • fix - Bug fixes
  • docs - Documentation changes
  • style - Code style improvements
  • refactor - Code refactoring
  • test - Adding/updating tests
  • chore - Maintenance tasks
  • perf - Performance improvements
  • ci - CI/CD changes
  • build - Build system changes
  • revert - Reverting changes
  • deprecate - Deprecation decisions

🔧 Features

  • Enterprise-Ready: Production-tested configurations
  • Quality Assurance: Comprehensive linting and testing setup
  • Security First: Built-in security scanning and best practices
  • Documentation: Auto-generated docs with semantic releases
  • CI/CD Ready: GitHub Actions workflows included
  • Developer Experience: Pre-configured development environment

📋 Requirements

  • Python: 3.8+ (3.13 recommended)
  • Node.js: 18+ (22 recommended)
  • Frappe Framework: Latest stable version
  • Database: MariaDB 10.6+ or PostgreSQL 13+

🚀 Development Workflow

  1. Create Feature Branch

    git checkout -b feat/your-feature-name
  2. Make Changes

    • Follow code quality standards
    • Write tests for new features
    • Update documentation
  3. Commit Changes

    git add .
    git commit -m "feat(module): add new feature description"
  4. Pre-commit Hooks Run Automatically

    • Code formatting
    • Security scanning
    • Quality checks
    • Documentation updates
  5. Push and Create PR

    git push origin feat/your-feature-name

🧪 Testing

# Run all tests
bench --site test_site run-tests

# Run specific app tests
bench --site test_site run-tests --app your_app_name

# Run with coverage
bench --site test_site run-tests --coverage

📦 Installation

Option 1: Using Frappe CLI (Recommended)

# Create new site
bench new-site your-site-name

# Install the app
bench --site your-site-name install-app __APP_NAME__

Option 2: Development Setup

# Get the app
bench get-app __APP_NAME__ https://github.com/__GITHUB_REPOSITORY__.git

# Create new site
bench new-site development.localhost

# Install app
bench --site development.localhost install-app __APP_NAME__

# Start development server
bench start

🔐 Security Features

  • Automated Vulnerability Scanning: pip-audit checks dependencies
  • Security Linting: bandit scans for security issues
  • Safe Dependencies: Regular updates and security patches
  • Secure Defaults: Production-ready security configurations

📊 Code Quality Metrics

Our CI/CD pipeline enforces:

  • Test Coverage: Minimum 80% coverage required
  • Code Quality: Pylint score > 8.0
  • Security: Zero high-severity vulnerabilities
  • Documentation: All public APIs documented
  • Performance: Performance regression testing

🤝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Quick Contribution Steps:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Ensure all tests pass
  5. Submit a pull request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟 About Dhwani RIS

Dhwani RIS is a leading technology company specializing in enterprise solutions, healthcare systems, and open-source development. We build scalable, secure, and innovative software solutions for businesses worldwide.

Why Choose Dhwani RIS?

  • 10+ Years of enterprise software experience
  • 100+ Projects delivered successfully
  • Expert Team of certified developers
  • 24/7 Support for critical applications
  • ISO Certified development processes

Contact us for custom Frappe development:

🔗 Links

📈 Project Status

  • Build Status: Quality Checks
  • Release: Release
  • Last Updated: January 2025
  • Maintenance: Actively maintained
  • Support: Enterprise support available

Made with ❤️ by Dhwani RIS

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors