Skip to content

zehedisodef1-oss/configforge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ ConfigForge

Generate perfect config files for any project in seconds

PyPI version Python 3.8+ License: MIT GitHub stars

Stop copying config files from old projects or Googling "best eslint config 2024". ConfigForge generates battle-tested configuration files for the most popular tools and frameworks — instantly.

✨ Features

  • 🐳 Docker — Dockerfile + docker-compose.yml + .dockerignore
  • 📏 ESLint — React, Vue, Node, TypeScript configs
  • 💅 Prettier — Consistent code formatting
  • 🙈 GitIgnore — Python, Node, Rust, Go, Java
  • 🔄 GitHub Actions — CI/CD workflows for Node, Python, Docker
  • 📘 TypeScript — tsconfig for React, Node, Libraries
  • 🌐 Nginx — Reverse proxy, static site configs
  • 🔐 Env — .env.example templates
  • 🎯 Interactive mode — Guided setup with prompts
  • 🎨 Beautiful CLI — Colorful terminal output with Rich

🚀 Installation

pip install configforge

Or install from source:

git clone https://github.com/zehedisode/configforge.git
cd configforge
pip install .

📖 Usage

List all templates

configforge list

Generate config files

# Generate Docker configs for Node.js
configforge generate docker --preset node

# Generate ESLint config for React
configforge generate eslint --preset react

# Generate .gitignore for Python
configforge generate gitignore --preset python

# Generate GitHub Actions CI for Python
configforge generate github-actions --preset python

# Generate TypeScript config for React
configforge generate tsconfig --preset react

# Generate Nginx reverse proxy config
configforge generate nginx --preset reverse-proxy

# Generate .env.example template
configforge generate env

# Output to a specific directory
configforge generate docker --preset python --output ./my-project

Interactive mode

configforge generate

The interactive mode will guide you through selecting a template and preset with a nice UI.

📋 Supported Templates

Template Presets Files Generated
docker node, python, rust Dockerfile, docker-compose.yml, .dockerignore
eslint react, vue, node, typescript .eslintrc.json
prettier default .prettierrc
gitignore python, node, rust, go, java .gitignore
github-actions node, python, docker .github/workflows/ci.yml
tsconfig react, node, library tsconfig.json
nginx reverse-proxy, static-site nginx.conf
env default .env.example

🛠️ Development

# Clone the repo
git clone https://github.com/zehedisode/configforge.git
cd configforge

# Install in development mode
pip install -e .

# Run
configforge --help

🤝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Adding a new template

  1. Add your template to src/configforge/templates.py
  2. Follow the existing structure with description, files, and presets
  3. Submit a PR!

📄 License

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


Made with ⚡ by zehedisode

About

⚡ Generate perfect config files for any project in seconds

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages