Contributing to Dockyard
January 20, 2026 ยท View on GitHub
Thank you for your interest in contributing to Dockyard! This document helps you get started.
Table of Contents
- Code of Conduct
- Reporting Security Vulnerabilities
- Ways to Contribute
- Adding an MCP Server
- Development Setup
- Pull Request Process
- Commit Message Guidelines
Code of Conduct
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.
Reporting Security Vulnerabilities
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.
Ways to Contribute
Add an MCP Server
The most common contribution is adding a new MCP server to Dockyard. See Adding an MCP Server below.
Report Bugs
Use GitHub Issues to report bugs. Please include:
- Steps to reproduce the issue
- Expected vs actual behavior
- Container image name and version (if applicable)
Suggest Enhancements
We welcome feature suggestions! Open an issue describing:
- The problem you're trying to solve
- Your proposed solution
- Any alternatives you've considered
Improve Documentation
Documentation improvements are always welcome. See the docs/ directory.
Adding an MCP Server
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"
Development Setup
Prerequisites
- Go 1.21+
- Docker or Podman
- Task (optional, for convenience)
Build the CLI
go build -o build/dockhand ./cmd/dockhand
Run Tests
go test ./...
Generate a Dockerfile
./build/dockhand build -c npx/context7/spec.yaml
Verify Provenance
./build/dockhand verify-provenance -c npx/context7/spec.yaml -v
Pull Request Process
- 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
PR Requirements
- 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
For MCP Server PRs
Include in your PR description:
- What the MCP server does
- Link to the package registry (npm/PyPI)
- Link to the source repository
Commit Message Guidelines
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>
Questions?
- Open a GitHub Discussion
- Join the Stacklok Discord