Skip to main content

Contributing to DevContainer Toolbox

Thank you for your interest in contributing! This guide will help you get started.

Ways to Contribute​

ContributionDescription
Add a toolCreate install scripts for new languages, frameworks, or tools
Fix bugsFix issues in existing scripts
Improve docsEnhance documentation or add examples
Report issuesFile bug reports or feature requests on GitHub

Quick Start​

1. Fork and Clone​

# Fork on GitHub, then clone your fork
git clone https://github.com/YOUR-USERNAME/devcontainer-toolbox.git
cd devcontainer-toolbox

2. Open in Devcontainer​

code .
# Click "Reopen in Container" when prompted

3. Create a Branch​

git checkout -b feature/my-contribution

4. Make Your Changes​

  • Add scripts to .devcontainer/additions/
  • Run tests: dev-test
  • Preview docs: dev-docs

5. Submit a Pull Request​

git add .
git commit -m "feat: add my contribution"
git push -u origin feature/my-contribution

Then create a Pull Request on GitHub.


Documentation​

Getting Started​

GuideDescription
Adding ToolsOverview of adding new tools
TestingRunning and writing tests
CI/CDGitHub Actions and automated checks
ReleasingVersion bumping and releases
Documentation WebsiteWorking with this Docusaurus site

Creating Scripts​

GuideDescription
Creating Install ScriptsComplete guide to install-*.sh scripts

Architecture & Reference​

GuideDescription
System ArchitectureDesign patterns and data flow
Categories ReferenceValid tool categories
Libraries ReferenceShared library functions
Menu SystemDialog TUI reference

Services​

GuideDescription
Services OverviewBuilt-in services documentation

Contribution Guidelines​

Code Style​

  • Use shellcheck for all bash scripts
  • Follow existing patterns in the codebase
  • Include proper metadata in all scripts

Commit Messages​

Use conventional commit format:

feat: add Elixir development environment
fix: correct Python path in install script
docs: update getting started guide
chore: bump version to 1.2.0

Pull Request Process​

  1. Tests must pass - CI runs automatically on your PR
  2. One feature per PR - Keep PRs focused
  3. Update docs if needed - CI auto-updates generated docs after merge
  4. Version bump - If your change should reach users, bump version.txt

Getting Help​

  • Questions? Open a GitHub Discussion
  • Found a bug? Open an Issue
  • Want to chat? Comment on an existing issue or discussion

Recognition​

All contributors are appreciated! Your contributions help make development environments better for everyone.