Thank you for your interest in contributing to PowerContainers! ๐
- Check if the bug has already been reported in Issues
- 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)
- Check existing Issues and Pull Requests
- Create an issue describing:
- The enhancement you'd like to see
- Why it would be useful
- How it should work
We welcome contributions of new development containers! Follow these guidelines:
-
Create a new folder following the naming convention:
language-framework/ -
Include required files:
your-container/ โโโ .devcontainer/ โ โโโ devcontainer.json โ โโโ Dockerfile โโโ .vscode/ โ โโโ settings.json โ โโโ launch.json โโโ README.md -
Dockerfile requirements:
- MUST be multi-stage
- Include a
developmenttarget - Include a
productiontarget - Add comments for each stage
- Follow existing patterns
-
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
-
devcontainer.json requirements:
- Set appropriate extensions
- Configure proper settings
- Include postCreateCommand
- Set correct user
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature-name - Make your changes
- Test your container:
cd your-container code . # Reopen in Container and verify everything works
- Commit your changes:
git commit -am 'Add some feature' - Push to your fork:
git push origin feature/your-feature-name - Create a Pull Request
- 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
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
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)
Feel free to open an issue with your question or reach out to the maintainers.
Thank you for contributing! ๐