Thank you for your interest in contributing! This plugin is community-driven and welcomes contributions of all kinds.
If you find a bug, please open an issue with:
- A clear, descriptive title
- Steps to reproduce the problem
- Expected vs actual behavior
- Your environment (OS, Docker version, Clawdbot version)
- Relevant logs or error messages
We welcome feature suggestions! Please:
- Check existing issues to avoid duplicates
- Describe the use case and why it would be valuable
- Provide examples if possible
-
Fork the repository
git clone https://github.com/clawdbot/docker-mcp-plugin.git cd docker-mcp-plugin -
Create a feature branch
git checkout -b feature/your-feature-name
-
Make your changes
- Follow the existing code style
- Add comments for complex logic
- Update documentation if needed
-
Test your changes
# Install the plugin locally clawdbot plugins install . # Test with Clawdbot clawdbot chat
-
Commit with clear messages
git commit -m "Add feature: brief description" -
Push and create a PR
git push origin feature/your-feature-name
- Use TypeScript with proper type annotations
- Follow existing naming conventions
- Keep functions focused and single-purpose
- Add JSDoc comments for public APIs
docker-mcp-plugin/
├── clawdbot.plugin.json # Plugin metadata and config schema
├── package.json # NPM package configuration
├── index.ts # Main entry point
├── src/
│ ├── docker-mcp-client.ts # MCP client wrapper
│ └── docker-mcp-tools.ts # Tool registration and conversion
└── test/ # Tests (if any)
# Install dependencies
npm install
# Link for local development
npm link
# Install in Clawdbot
clawdbot plugins install /path/to/docker-mcp-pluginBefore submitting a PR:
- Test basic Docker operations (list containers, images, etc.)
- Test error handling (disconnection, invalid commands)
- Verify config options work as expected
- Check logs for any warnings or errors
When adding features, please update:
README.md- User-facing documentationclawdbot.plugin.json- Config schema if adding options- JSDoc comments in code
- Examples in README if applicable
Feel free to:
- Open an issue for discussion
- Join the Clawdbot community Discord
- Tag maintainers in your PR for review
Thank you for contributing! 🐾