Skip to main content

Professional DevOps automation tool that automatically generates CI/CD pipelines, Dockerfiles, and Kubernetes configurations

Project description

DevOpsForge ๐Ÿ”จ

PyPI version Python 3.8+ License: MIT Contributions welcome

Professional DevOps automation tool that automatically generates production-ready CI/CD pipelines, Dockerfiles, and Kubernetes configurations.

โœจ Features

  • ๐Ÿ” Smart Repository Analysis - Automatically detects project type, language, framework, and dependencies
  • ๐Ÿณ Intelligent Dockerfile Generation - Creates optimized, multi-stage Dockerfiles with security best practices
  • ๐Ÿ”„ Automated CI/CD Creation - Generates GitHub Actions and GitLab CI pipelines with security scanning
  • ๐Ÿ›ก๏ธ DevSecOps Integration - Built-in Trivy vulnerability scanning and security best practices
  • ๐Ÿ’ก Optimization Engine - Provides tailored recommendations for performance and security improvements
  • ๐ŸŒ Multi-Language Support - Python, Node.js, Java, Go, Rust, and more

๐Ÿš€ Quick Start

Installation

pip install devopsforge

Basic Usage

# Analyze a repository
devopsforge analyze /path/to/project

# Generate DevOps configurations
devopsforge generate /path/to/project -o ./devops

# Get optimization suggestions
devopsforge suggest /path/to/project

๐Ÿ“‹ Commands

analyze Command

Analyzes a repository and detects project characteristics.

devopsforge analyze <repo_path> [options]

Options:

  • --output, -o: Output directory for analysis results
  • --format, -f: Output format (json, table, summary)

Examples:

# Basic analysis
devopsforge analyze my-project

# Save analysis to file
devopsforge analyze my-project -o ./results -f json

# Get summary format
devopsforge analyze my-project -f summary

generate Command

Generates DevOps configurations based on repository analysis.

devopsforge generate <repo_path> -o <output_dir> [options]

Options:

  • --output, -o: Output directory (required)
  • --ci-type: CI/CD type (github_actions, gitlab_ci)
  • --dockerfile/--no-dockerfile: Generate Dockerfile
  • --cicd/--no-cicd: Generate CI/CD pipeline

Examples:

# Generate everything
devopsforge generate my-project -o ./devops

# Generate only Dockerfile
devopsforge generate my-project -o ./devops --no-cicd

# Generate GitLab CI instead of GitHub Actions
devopsforge generate my-project -o ./devops --ci-type gitlab_ci

suggest Command

Provides optimization suggestions for a repository.

devopsforge suggest <repo_path>

๐Ÿ”ง Supported Technologies

Programming Languages

  • Python: Django, Flask, FastAPI, pip, poetry, pytest
  • Node.js: Express, Next.js, React, Vue.js, npm, yarn, pnpm, Jest
  • Java: Maven, Gradle, JUnit
  • Go: Go modules
  • Rust: Cargo

DevOps Tools

  • Containers: Docker, multi-stage builds
  • CI/CD: GitHub Actions, GitLab CI
  • Security: Trivy vulnerability scanner
  • Orchestration: Kubernetes-ready configurations

๐Ÿ—๏ธ Architecture

devopsforge/
โ”œโ”€โ”€ core/                    # Core analysis engine
โ”‚   โ””โ”€โ”€ analyzer.py         # Repository analyzer
โ”œโ”€โ”€ templates/               # Jinja2 template system
โ”‚   โ”œโ”€โ”€ dockerfile_generator.py    # Dockerfile templates
โ”‚   โ””โ”€โ”€ cicd_generator.py          # CI/CD templates
โ”œโ”€โ”€ cli/                     # Command-line interface
โ”‚   โ””โ”€โ”€ main.py             # CLI commands
โ””โ”€โ”€ __main__.py             # Package entry point

๐Ÿ› ๏ธ Technology Stack

  • Language: Python 3.8+
  • Template Engine: Jinja2
  • CLI Framework: Click
  • UI Enhancement: Rich (for beautiful terminal output)
  • Security: Trivy integration
  • Testing: pytest, unittest support

๐Ÿ“ฆ Installation

From PyPI (Recommended)

pip install devopsforge

From Source

git clone https://github.com/devopsforge/devopsforge.git
cd devopsforge
pip install -e .

๐Ÿงช Testing

# Install development dependencies
pip install -r requirements.txt

# Run tests
python -m pytest

# Run the test script
python test_devopsforge.py

๐Ÿ“š Documentation

๐Ÿค Contributing

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

Development Setup

git clone https://github.com/devopsforge/devopsforge.git
cd devopsforge
pip install -r requirements.txt
pip install -e .

Adding New Project Types

  1. Update RepositoryAnalyzer in core/analyzer.py
  2. Create Jinja2 templates in templates/ directory
  3. Add CLI support and tests
  4. Update documentation

๐Ÿ“„ License

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

๐Ÿ™ Acknowledgments

  • Jinja2 - Template engine
  • Click - CLI framework
  • Rich - Terminal formatting
  • Trivy - Security scanning

๐Ÿ“ž Support

๐ŸŒŸ Star History

Star History Chart


Made with โค๏ธ by the DevOpsForge community

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

devopsforge-0.1.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

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

devopsforge-0.1.0-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file devopsforge-0.1.0.tar.gz.

File metadata

  • Download URL: devopsforge-0.1.0.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for devopsforge-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6aee810a6dad33d21fa6a8f9ea74cb3bbcc4d4cf4b8c8a230feb3753663bce94
MD5 ed394f4bc9d7cbb8d81ecdb2116bcad8
BLAKE2b-256 44d54c2447b33d8489ea366ce59887901b178b876a7afe716a7100336b1974ce

See more details on using hashes here.

File details

Details for the file devopsforge-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: devopsforge-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for devopsforge-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 94c24de574cef7fcf769b04df8d93f696588fc4ad11adccd9d9530371d53f41f
MD5 8523e7905823f3fb8acdb7d71dab2621
BLAKE2b-256 66a022c84cd63658d7593848d892058588171147bba2a42d7e39221eccbe0819

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