Thank you for your interest in contributing to Dockyard! This document helps you get started.
- Code of Conduct
- Reporting Security Vulnerabilities
- Ways to Contribute
- Adding an MCP Server
- Development Setup
- Pull Request Process
- Commit Message Guidelines
This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to code-of-conduct@stacklok.dev.
If you think you have found a security vulnerability in Dockyard, please DO NOT disclose it publicly until we've had a chance to fix it. Please don't report security vulnerabilities using GitHub issues; instead, follow the process in SECURITY.MD.
The most common contribution is adding a new MCP server to Dockyard. See Adding an MCP Server below.
Use GitHub Issues to report bugs. Please include:
- Steps to reproduce the issue
- Expected vs actual behavior
- Container image name and version (if applicable)
We welcome feature suggestions! Open an issue describing:
- The problem you're trying to solve
- Your proposed solution
- Any alternatives you've considered
Documentation improvements are always welcome. See the docs/ directory.
To add your MCP server to Dockyard:
- Create a directory:
{protocol}/{server-name}/ - Add a
spec.yamlconfiguration file - Submit a pull request
Full guide: Adding MCP Servers
Quick example:
metadata:
name: my-server
description: "What my server does"
protocol: npx
spec:
package: "@my-org/mcp-server"
version: "1.0.0"- Go 1.21+
- Docker or Podman
- Task (optional, for convenience)
go build -o build/dockhand ./cmd/dockhandgo test ./..../build/dockhand build -c npx/context7/spec.yaml./build/dockhand verify-provenance -c npx/context7/spec.yaml -v- Fork and clone the repository
- Create a branch for your changes
- Make your changes with clear, focused commits
- Test locally if adding an MCP server:
task build -- {protocol}/{server-name} task scan -- {protocol}/{server-name} - Submit a PR with a clear description
- All commits must include a Signed-off-by trailer (DCO)
- CI checks must pass (security scan, build, etc.)
- One approval from a maintainer is required
Include in your PR description:
- What the MCP server does
- Link to the package registry (npm/PyPI)
- Link to the source repository
Follow Chris Beams' guidelines:
- Separate subject from body with a blank line
- Limit the subject line to 50 characters
- Capitalize the subject line
- Do not end the subject line with a period
- Use the imperative mood in the subject line
- Use the body to explain what and why vs. how
Example:
Add context7 MCP server
Add packaging for context7 v1.0.14 from Upstash.
This server provides vector search and context management.
Package: https://www.npmjs.com/package/@upstash/context7-mcp
Repository: https://github.com/upstash/context7-mcp
Signed-off-by: Your Name <your.email@example.com>
- Open a GitHub Discussion
- Join the Stacklok Discord