We appreciate your interest in contributing to the ContainerCraft Devcontainer project! Your contributions help improve the project for everyone. This document outlines the guidelines for contributing to the project.
- Docker: Ensure you have Docker installed on your machine.
- Git: Install Git for version control.
- VSCode (Optional): For development with Visual Studio Code, install VSCode.
-
Fork the Repository: Click on the "Fork" button on the project's GitHub page to create a copy in your GitHub account.
-
Clone the Repository:
git clone https://github.com/your-username/devcontainer.git cd devcontainer
-
Build the Docker Image:
docker build -t devcontainer:local -f docker/slim/Dockerfile ./docker
-
Run the Container:
docker run -it --rm \ --name devcontainer \ --hostname devcontainer \ --entrypoint bash \ devcontainer:local
If you encounter any bugs or have suggestions for improvements, please open an issue on GitHub:
- Navigate to the Issues tab.
- Click on New Issue.
- Provide a clear and descriptive title.
- Include steps to reproduce the issue, if applicable.
We welcome feature requests and ideas to improve the project:
- Open an issue with the label
enhancement
. - Describe the feature, its benefits, and any implementation ideas.
-
Create a Branch:
git checkout -b feature/your-feature-name
-
Make Changes: Implement your changes, adhering to the coding standards outlined below.
-
Commit Changes:
git add . git commit -m "feat: description of the feature"
-
Push to Your Fork:
git push origin feature/your-username/your-feature-name
-
Open a Pull Request:
- Go to the original repository on GitHub.
- Click on Pull Requests and then New Pull Request.
- Select your branch and submit the pull request.
-
Use clear and descriptive commit messages.
-
Follow the Conventional Commits specification.
Examples:
feat: add support for Python 3.9
fix: resolve issue with Docker build on arm64
docs: update README with new usage instructions
- Dockerfiles: Follow best practices for writing Dockerfiles.
- Use multi-stage builds where appropriate.
- Minimize the number of layers.
- Clear cache and temporary files to reduce image size.
- Shell Scripts:
- Use
#!/bin/bash
shebang. - Ensure scripts are executable (
chmod +x script.sh
). - Handle errors gracefully and use
set -e
where appropriate.
- Use
We are committed to fostering a welcoming and respectful community. Please read our Code of Conduct before participating.
By contributing to the ContainerCraft Devcontainer project, you agree that your contributions will be licensed under the Adaptive Public License Version 1.0.