Skip to content

Commit caf46fd

Browse files
authored
chore: add community health files and CI workflow
Add contribution, security, and conduct documentation; issue and PR templates; release and dependency automation configuration; and a basic GitHub Actions CI workflow. Also update the English and Chinese READMEs with project health links and a CI badge.
1 parent 6ff7b97 commit caf46fd

12 files changed

Lines changed: 494 additions & 0 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
name: Bug report
3+
about: Report a reproducible problem in the SSH MCP server
4+
title: "[Bug] "
5+
labels: [bug]
6+
assignees: []
7+
---
8+
9+
## Summary
10+
11+
Describe the problem in one or two sentences.
12+
13+
## Environment
14+
15+
- OS:
16+
- Node.js version:
17+
- MCP client:
18+
- Repository version / commit:
19+
20+
## Steps to reproduce
21+
22+
1.
23+
2.
24+
3.
25+
26+
## Expected behavior
27+
28+
What should have happened?
29+
30+
## Actual behavior
31+
32+
What happened instead?
33+
34+
## Relevant config / logs
35+
36+
Paste sanitized snippets only. Do not include private keys, passwords, tokens, or sensitive hostnames.
37+
38+
## Additional context
39+
40+
Anything else that helps reproduce or diagnose the issue.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Security issue
4+
url: https://github.com/B143KC47/ssh_mcp/blob/main/SECURITY.md
5+
about: Please use the security reporting process instead of a public issue.
6+
- name: Documentation and setup guide
7+
url: https://github.com/B143KC47/ssh_mcp#readme
8+
about: Check the README before opening a setup or usage issue.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: Feature request
3+
about: Suggest a new capability or workflow improvement
4+
title: "[Feature] "
5+
labels: [enhancement]
6+
assignees: []
7+
---
8+
9+
## Problem to solve
10+
11+
What workflow is currently painful or missing?
12+
13+
## Proposed solution
14+
15+
Describe the change you want to see.
16+
17+
## Why it matters
18+
19+
How would this help users adopt or trust the project?
20+
21+
## Possible design notes
22+
23+
Optional: MCP API shape, SSH behavior, security constraints, or UX considerations.
24+
25+
## Alternatives considered
26+
27+
What other approaches did you evaluate?

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
## Summary
2+
3+
Explain what changed and why.
4+
5+
## Validation
6+
7+
- [ ] `npm run build` passed locally
8+
- [ ] Docs/examples were updated if needed
9+
- [ ] I considered security implications
10+
11+
## Checklist
12+
13+
- [ ] This PR is focused and limited in scope
14+
- [ ] User-facing behavior is documented
15+
- [ ] Sensitive values are not included in logs, screenshots, or examples
16+
17+
## Notes for reviewers
18+
19+
Anything you want reviewers to pay extra attention to.

.github/dependabot.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "npm"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"
7+
open-pull-requests-limit: 5
8+
9+
- package-ecosystem: "github-actions"
10+
directory: "/"
11+
schedule:
12+
interval: "monthly"
13+
open-pull-requests-limit: 3

.github/release.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
changelog:
2+
categories:
3+
- title: 🚀 Features
4+
labels:
5+
- feature
6+
- enhancement
7+
- title: 🐛 Fixes
8+
labels:
9+
- bug
10+
- fix
11+
- title: 🛡 Security
12+
labels:
13+
- security
14+
- title: 📝 Documentation
15+
labels:
16+
- documentation
17+
- docs
18+
- title: 🧰 Maintenance
19+
labels:
20+
- chore
21+
- dependencies
22+
exclude:
23+
labels:
24+
- skip-release-notes
25+
template: |
26+
## What's changed
27+
28+
$CHANGES
29+
30+
## Contributors
31+
32+
$CONTRIBUTORS

.github/workflows/ci.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@v4
18+
19+
- name: Setup Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: 20
23+
cache: npm
24+
25+
- name: Install dependencies
26+
run: npm ci
27+
28+
- name: Build
29+
run: npm run build

CODE_OF_CONDUCT.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Code of Conduct
2+
3+
This project aims to be welcoming, practical, and respectful.
4+
5+
## Expected behavior
6+
7+
- Be respectful and constructive
8+
- Focus feedback on ideas, code, and outcomes
9+
- Assume good intent, but communicate clearly
10+
- Help keep discussions useful for contributors from different backgrounds and experience levels
11+
12+
## Unacceptable behavior
13+
14+
- Harassment, insults, or personal attacks
15+
- Hate speech or discriminatory language
16+
- Doxxing or sharing private information without consent
17+
- Repeated spam, trolling, or deliberately disruptive behavior
18+
19+
## Scope
20+
21+
This applies to issues, pull requests, code review, and project discussions.
22+
23+
## Enforcement
24+
25+
The maintainer may edit, hide, lock, or remove content that violates these expectations and may restrict participation for repeated or severe violations.
26+
27+
## Reporting
28+
29+
If you experience or witness a serious conduct issue, report it privately when possible. For non-sensitive moderation problems, a maintainer issue is also acceptable.

CONTRIBUTING.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Contributing to SSH MCP Server
2+
3+
Thanks for considering a contribution.
4+
5+
## Best ways to contribute
6+
7+
- Report bugs with clear reproduction steps
8+
- Propose new MCP workflows or SSH safety features
9+
- Improve docs, examples, and onboarding
10+
- Submit focused pull requests with one clear goal
11+
12+
## Before you start
13+
14+
1. Search existing issues and pull requests first
15+
2. For larger changes, open an issue to discuss the use case
16+
3. Keep security and backwards compatibility in mind
17+
18+
## Local development
19+
20+
```bash
21+
npm install
22+
npm run build
23+
npm run dev -- --project-root .
24+
```
25+
26+
## Project expectations
27+
28+
- Preserve the security-first design of the server
29+
- Keep MCP tool names stable unless there is a strong reason to change them
30+
- Prefer standard OpenSSH behavior over custom configuration formats
31+
- Update both `README.md` and `README.zh-CN.md` when user-facing behavior changes
32+
- Update examples when configuration or setup steps change
33+
34+
## Pull request checklist
35+
36+
- [ ] The change solves one clear problem
37+
- [ ] `npm run build` passes
38+
- [ ] User-facing changes are documented
39+
- [ ] New config or workflow behavior is reflected in examples
40+
- [ ] Security implications were considered
41+
42+
## Reporting security issues
43+
44+
Please do **not** open public issues for vulnerabilities. Follow the process in [SECURITY.md](SECURITY.md).
45+
46+
## Code review style
47+
48+
Smaller, focused pull requests are reviewed faster. If a change is large, explain:
49+
50+
- the user problem
51+
- the design tradeoffs
52+
- the security implications
53+
- how you verified the result

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# SSH MCP Server
22

33
[![GitHub stars](https://img.shields.io/github/stars/B143KC47/ssh_mcp?style=flat-square)](https://github.com/B143KC47/ssh_mcp/stargazers)
4+
[![CI](https://github.com/B143KC47/ssh_mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/B143KC47/ssh_mcp/actions/workflows/ci.yml)
45
[![License: MIT](https://img.shields.io/badge/license-MIT-green?style=flat-square)](LICENSE)
56
[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178c6?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
67
[![MCP](https://img.shields.io/badge/MCP-compatible-6e56cf?style=flat-square)](https://modelcontextprotocol.io/)
@@ -10,6 +11,14 @@
1011

1112
Secure SSH access for MCP clients. `ssh_mcp` lets Claude Desktop, VS Code Copilot, Augment, and other MCP-compatible agents run remote commands through a safety-first SSH proxy with OpenSSH config compatibility, connection pooling, and output guardrails.
1213

14+
## Project health
15+
16+
- [Contributing guide](CONTRIBUTING.md)
17+
- [Security policy](SECURITY.md)
18+
- [Code of conduct](CODE_OF_CONDUCT.md)
19+
- [Open an issue](https://github.com/B143KC47/ssh_mcp/issues)
20+
- [View CI runs](https://github.com/B143KC47/ssh_mcp/actions/workflows/ci.yml)
21+
1322
## Why developers pick this project
1423

1524
- **Use the SSH config you already know**: standard OpenSSH fields like `Host`, `HostName`, `User`, `Port`, `IdentityFile`, and `ProxyJump`
@@ -221,6 +230,13 @@ npm run inspect
221230

222231
Issues and pull requests are welcome. If you want support for more MCP clients, stronger security policies, or better SSH ergonomics, open an issue and share the workflow you want to enable.
223232

233+
For contributor workflow details, see [CONTRIBUTING.md](CONTRIBUTING.md).
234+
235+
## Community
236+
237+
- Please follow the expectations in [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)
238+
- For security issues, use [SECURITY.md](SECURITY.md) instead of filing a public bug report
239+
224240
## License
225241

226242
MIT — see [LICENSE](LICENSE).

0 commit comments

Comments
 (0)