Skip to content

Latest commit

ย 

History

History
140 lines (111 loc) ยท 3.82 KB

File metadata and controls

140 lines (111 loc) ยท 3.82 KB

๐Ÿค Contributing to PowerContainers

Thank you for your interest in contributing to PowerContainers! ๐ŸŽ‰

๐Ÿ“‹ How to Contribute

๐Ÿ› Reporting Bugs

  1. Check if the bug has already been reported in Issues
  2. If not, create a new issue with:
    • Clear description of the problem
    • Steps to reproduce
    • Expected vs actual behavior
    • Your environment (OS, Docker version, VS Code version)

โœจ Suggesting Enhancements

  1. Check existing Issues and Pull Requests
  2. Create an issue describing:
    • The enhancement you'd like to see
    • Why it would be useful
    • How it should work

๐Ÿ”ง Adding New Containers

We welcome contributions of new development containers! Follow these guidelines:

  1. Create a new folder following the naming convention: language-framework/

  2. Include required files:

    your-container/
    โ”œโ”€โ”€ .devcontainer/
    โ”‚   โ”œโ”€โ”€ devcontainer.json
    โ”‚   โ””โ”€โ”€ Dockerfile
    โ”œโ”€โ”€ .vscode/
    โ”‚   โ”œโ”€โ”€ settings.json
    โ”‚   โ””โ”€โ”€ launch.json
    โ””โ”€โ”€ README.md
    
  3. Dockerfile requirements:

    • MUST be multi-stage
    • Include a development target
    • Include a production target
    • Add comments for each stage
    • Follow existing patterns
  4. README requirements:

    • Use English language
    • Include emojis and colors
    • Follow the template structure:
      • Overview with checkmarks
      • Quick Start
      • Included Tools
      • VS Code Extensions
      • Customization section
      • Usage Examples
      • Resources
  5. devcontainer.json requirements:

    • Set appropriate extensions
    • Configure proper settings
    • Include postCreateCommand
    • Set correct user

๐Ÿ“ Pull Request Process

  1. Fork the repository
  2. Create a new branch: git checkout -b feature/your-feature-name
  3. Make your changes
  4. Test your container:
    cd your-container
    code .
    # Reopen in Container and verify everything works
  5. Commit your changes: git commit -am 'Add some feature'
  6. Push to your fork: git push origin feature/your-feature-name
  7. Create a Pull Request

โœ… Checklist Before Submitting PR

  • Multi-stage Dockerfile implemented
  • README.md with emojis and proper formatting
  • All required VS Code configuration files included
  • Container builds successfully
  • Container runs without errors
  • Documentation is clear and complete
  • No sensitive information in files

๐ŸŽจ Style Guidelines

Dockerfile:

  • Use multi-stage builds
  • Name stages descriptively
  • Add comments for complex operations
  • Clean up apt cache: && rm -rf /var/lib/apt/lists/*
  • Use specific versions when possible

Documentation:

  • Use emojis consistently
  • Format code blocks with language hints
  • Include practical examples
  • Keep it concise but complete

JSON files:

  • Use 2-space indentation
  • Keep arrays and objects formatted clearly

๐ŸŒŸ Container Ideas

Looking for ideas? Here are some containers we'd love to see:

  • ๐Ÿฆ€ Rust
  • ๐Ÿน Go
  • โ˜• Java (Spring Boot, Quarkus)
  • ๐Ÿ’Ž Ruby (Rails)
  • ๐Ÿ˜ PHP (Laravel)
  • ๐Ÿฆ• Deno
  • ๐Ÿ”ท Kotlin
  • ๐ŸŽฏ Dart (without Flutter)
  • ๐ŸŒŠ Elixir (Phoenix)
  • ๐Ÿ“Š R
  • ๐ŸŽฎ Game Development (Unity, Godot)
  • ๐Ÿ”— Blockchain Development
  • ๐Ÿค– Machine Learning (TensorFlow, PyTorch)

๐Ÿ“š Resources

๐Ÿ’ฌ Questions?

Feel free to open an issue with your question or reach out to the maintainers.


Thank you for contributing! ๐Ÿ™