Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @davidweb3-ctrl
69 changes: 69 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Bug report
description: Report incorrect behavior in an MCP Git Enhanced tool.
title: "[Bug]: "
labels: ["bug", "needs-triage"]
body:
- type: markdown
attributes:
value: |
Thanks for helping improve MCP Git Enhanced. Please avoid pasting secrets, private diffs, or sensitive repository output.
- type: textarea
id: summary
attributes:
label: Summary
description: What went wrong?
validations:
required: true
- type: dropdown
id: tool
attributes:
label: Affected tool
options:
- git_diff
- git_log
- git_branch
- git_status
- git_commit_analyze
- server startup/configuration
- documentation
- unknown
validations:
required: true
- type: textarea
id: steps
attributes:
label: Reproduction steps
description: Include the tool input shape, but redact sensitive paths or output.
placeholder: |
1. Start the MCP server with ...
2. Call ... with ...
3. Observe ...
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual behavior
validations:
required: true
- type: input
id: node
attributes:
label: Node.js version
placeholder: "22.0.0"
- type: input
id: git
attributes:
label: Git version
placeholder: "git version 2.45.0"
- type: input
id: os
attributes:
label: Operating system
placeholder: "macOS, Linux, Windows"
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Security report
url: https://github.com/davidweb3-ctrl/mcp-git-enhanced/security
about: Please report exploitable vulnerabilities privately when possible.
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Feature request
description: Propose a new read-oriented maintainer workflow.
title: "[Feature]: "
labels: ["enhancement", "needs-triage"]
body:
- type: textarea
id: problem
attributes:
label: Maintainer problem
description: What open-source maintenance task should this improve?
placeholder: "As a maintainer, I need to..."
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed tool or behavior
description: Describe the smallest useful workflow.
validations:
required: true
- type: dropdown
id: mutating
attributes:
label: Does this mutate a repository?
options:
- "No, it is read-only"
- "Yes, it changes repository state"
- "Unsure"
validations:
required: true
- type: textarea
id: security
attributes:
label: Security or safety considerations
description: Mention path handling, Git refs, sensitive output, or destructive behavior.
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/maintenance_task.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Maintenance task
description: Track release, CI, documentation, or repository hygiene work.
title: "[Maintenance]: "
labels: ["maintenance", "needs-triage"]
body:
- type: dropdown
id: area
attributes:
label: Area
options:
- CI
- release
- documentation
- tests
- packaging
- repository hygiene
- security review
validations:
required: true
- type: textarea
id: task
attributes:
label: Task
description: What needs to be done?
validations:
required: true
- type: textarea
id: done
attributes:
label: Done when
description: What would make this task complete?
21 changes: 21 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## Summary

<!-- What changed and why? -->

## Verification

<!-- Check every command that was run. -->

- [ ] `npm run lint`
- [ ] `npm run format:check`
- [ ] `npm test`
- [ ] `npm run build`

## Maintainer Review Notes

<!-- Call out Git command, path handling, output-size, or security-sensitive changes. -->

- [ ] This PR does not add mutating Git behavior.
- [ ] Any new tool has README documentation.
- [ ] Any new tool has tests.
- [ ] Security-sensitive behavior is documented in `SECURITY.md` or comments.
42 changes: 26 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,31 +6,41 @@ on:
pull_request:
branches: [ master, main ]

permissions:
contents: read

jobs:
build:
verify:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x, 20.x, 22.x]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"

- name: Install dependencies
run: npm ci

- name: Lint
run: npm run lint

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Check formatting
run: npm run format:check

- name: Install dependencies
run: npm ci
- name: Test
run: npm test

- name: Build
run: npm run build
- name: Build
run: npm run build

- name: Test server starts
run: |
timeout 3 node dist/index.js &
sleep 1
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}' | node dist/index.js
- name: Smoke test MCP server
run: |
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"ci","version":"1.0.0"}}}' | timeout 5 node dist/index.js
19 changes: 18 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,23 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- Security policy and supported-version guidance.
- Open-source roadmap focused on maintainer workflows.
- Codex for Open Source maintenance plan.
- GitHub issue templates, pull request template, and CODEOWNERS.
- Package metadata for repository, issues, homepage, and publish files.
- English launch and publish checklists aligned with the current tools.

### Changed
- Repositioned README around open-source maintenance workflows.
- Expanded CI to run lint, formatting checks, tests, build, and MCP smoke test.
- Updated the placeholder index test to use Jest consistently.
- Excluded test files from release builds and added a clean prebuild step.
- Updated TypeScript ESLint dependencies to resolve audit findings.

## [1.0.0] - 2025-04-19

### Added
Expand All @@ -21,4 +38,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- MIT License
- Comprehensive documentation and examples

[1.0.0]: https://github.com/davidweb3-ctrl/mcp-git-enhanced/releases/tag/v1.0.0
[1.0.0]: https://github.com/davidweb3-ctrl/mcp-git-enhanced/releases/tag/v1.0.0
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing to MCP Git Enhanced

Thank you for your interest in contributing! 🦞
Thank you for your interest in contributing.

## Development Setup

Expand Down Expand Up @@ -58,4 +58,4 @@ Please include:

## License

By contributing, you agree that your contributions will be licensed under the MIT License.
By contributing, you agree that your contributions will be licensed under the MIT License.
Loading
Loading