Professional DevOps automation tool that automatically generates CI/CD pipelines, Dockerfiles, and Kubernetes configurations
Project description
DevOpsForge ๐จ
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
- Usage Guide - Comprehensive usage examples and configuration options
- Contributing Guidelines - How to contribute to the project
- Code of Conduct - Community guidelines
- Changelog - Version history and changes
๐ค 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
- Update
RepositoryAnalyzerincore/analyzer.py - Create Jinja2 templates in
templates/directory - Add CLI support and tests
- Update documentation
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
๐ Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: USAGE.md
๐ Star History
Made with โค๏ธ by the DevOpsForge community
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6aee810a6dad33d21fa6a8f9ea74cb3bbcc4d4cf4b8c8a230feb3753663bce94
|
|
| MD5 |
ed394f4bc9d7cbb8d81ecdb2116bcad8
|
|
| BLAKE2b-256 |
44d54c2447b33d8489ea366ce59887901b178b876a7afe716a7100336b1974ce
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94c24de574cef7fcf769b04df8d93f696588fc4ad11adccd9d9530371d53f41f
|
|
| MD5 |
8523e7905823f3fb8acdb7d71dab2621
|
|
| BLAKE2b-256 |
66a022c84cd63658d7593848d892058588171147bba2a42d7e39221eccbe0819
|