Skip to content

Commit 9b7bffe

Browse files
TMHSDigitalclaude
andcommitted
docs: add security policy, code of conduct, and issue and PR templates
Adds SECURITY.md (private reporting through GitHub advisories), CODE_OF_CONDUCT.md (Contributor Covenant 2.1), issue forms for bugs, inaccurate content, and content requests, and a PR checklist that mirrors the CI checks. CONTRIBUTING links all three. Ignores the mkdocs site/ output. Closes #48 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MpEiWjv38TrdFcgqU8ER5L
1 parent 3a9d9c0 commit 9b7bffe

9 files changed

Lines changed: 255 additions & 0 deletions

File tree

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Bug report
2+
description: Something in the plugin or MCP server does not work
3+
labels: ["bug"]
4+
body:
5+
- type: dropdown
6+
id: area
7+
attributes:
8+
label: Area
9+
options:
10+
- MCP server
11+
- Skill
12+
- Rule
13+
- Snippet
14+
- Template
15+
- Plugin install or manifest
16+
- CI or docs
17+
validations:
18+
required: true
19+
- type: textarea
20+
id: what-happened
21+
attributes:
22+
label: What happened
23+
description: What you did, what you expected, and what happened instead. Include error text.
24+
validations:
25+
required: true
26+
- type: textarea
27+
id: repro
28+
attributes:
29+
label: Steps to reproduce
30+
validations:
31+
required: true
32+
- type: input
33+
id: plugin-version
34+
attributes:
35+
label: Plugin version
36+
placeholder: v1.5.3
37+
- type: input
38+
id: host
39+
attributes:
40+
label: Host and version
41+
description: Cursor, Claude Code, or another MCP client
42+
placeholder: Cursor 2.x
43+
- type: input
44+
id: unity-version
45+
attributes:
46+
label: Unity version
47+
placeholder: 6000.3.x
48+
- type: input
49+
id: os
50+
attributes:
51+
label: Operating system

‎.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: true
2+
contact_links:
3+
- name: Questions and ideas
4+
url: https://github.com/TMHSDigital/Unity-Developer-Tools/discussions
5+
about: Ask how to use the plugin or share an idea before opening an issue
6+
- name: Report a security vulnerability
7+
url: https://github.com/TMHSDigital/Unity-Developer-Tools/security/advisories/new
8+
about: Report privately; do not open a public issue
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Skill, snippet, or tool request
2+
description: Suggest new coverage (a skill, rule, snippet, template, or MCP tool)
3+
labels: ["enhancement"]
4+
body:
5+
- type: dropdown
6+
id: kind
7+
attributes:
8+
label: Kind
9+
options:
10+
- Skill
11+
- Rule
12+
- Snippet
13+
- Template
14+
- MCP tool
15+
validations:
16+
required: true
17+
- type: textarea
18+
id: problem
19+
attributes:
20+
label: What are you trying to do
21+
description: The Unity task where the AI gave weak or wrong help, or the prompt you would type
22+
validations:
23+
required: true
24+
- type: textarea
25+
id: proposal
26+
attributes:
27+
label: What should it cover
28+
description: APIs, packages, pitfalls, and links to official docs
29+
- type: input
30+
id: unity-version
31+
attributes:
32+
label: Unity version
33+
placeholder: 6000.3.x
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Inaccurate or outdated content
2+
description: A skill, rule, snippet, or MCP data entry gives wrong or outdated Unity advice
3+
labels: ["documentation"]
4+
body:
5+
- type: input
6+
id: location
7+
attributes:
8+
label: Where
9+
description: File and line, for example skills/physics-2d-3d/SKILL.md:40
10+
validations:
11+
required: true
12+
- type: textarea
13+
id: wrong
14+
attributes:
15+
label: What is wrong
16+
description: Quote the claim or paste the code
17+
validations:
18+
required: true
19+
- type: textarea
20+
id: correct
21+
attributes:
22+
label: What is correct
23+
description: The correct behavior or API, with a link to the Unity docs, release notes, or changelog
24+
validations:
25+
required: true
26+
- type: input
27+
id: unity-version
28+
attributes:
29+
label: Unity version
30+
placeholder: 6000.3.x
31+
- type: dropdown
32+
id: pipeline
33+
attributes:
34+
label: Render pipeline
35+
options:
36+
- Not pipeline specific
37+
- URP
38+
- HDRP
39+
- Built-in

‎.github/PULL_REQUEST_TEMPLATE.md‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
## Summary
2+
3+
<!-- What does this change and why? Link the issue it fixes, for example "Fixes #12". -->
4+
5+
## Checklist
6+
7+
- [ ] PR title is a conventional commit (`feat:`, `fix:`, `docs:`, `chore:` ...)
8+
- [ ] `python .github/scripts/validate_plugin.py` passes
9+
- [ ] No em or en dashes in Markdown or rules
10+
- [ ] New or edited skills and rules have `title`, `description`, `globs`, and `standards-version` frontmatter
11+
- [ ] C# in snippets and templates compiles against Unity 6 (see CONTRIBUTING.md for the local compile check)
12+
- [ ] Version-specific Unity claims link an official source
13+
- [ ] Counts in README.md, CLAUDE.md, and docs updated if a skill, rule, snippet, template, or tool was added or removed
14+
- [ ] Did not hand-edit the plugin.json version, the README badge, or the `**Version:**` line

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,4 @@ RESEARCH.md
5252

5353
# Unity reference assemblies for the C# compile check
5454
.unity-refs/
55+
site/

‎CODE_OF_CONDUCT.md‎

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.
6+
7+
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
8+
9+
## Our Standards
10+
11+
Examples of behavior that contributes to a positive environment for our community include:
12+
13+
- Demonstrating empathy and kindness toward other people
14+
- Being respectful of differing opinions, viewpoints, and experiences
15+
- Giving and gracefully accepting constructive feedback
16+
- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
17+
- Focusing on what is best not just for us as individuals, but for the overall community
18+
19+
Examples of unacceptable behavior include:
20+
21+
- The use of sexualized language or imagery, and sexual attention or advances of any kind
22+
- Trolling, insulting or derogatory comments, and personal or political attacks
23+
- Public or private harassment
24+
- Publishing others' private information, such as a physical or email address, without their explicit permission
25+
- Other conduct which could reasonably be considered inappropriate in a professional setting
26+
27+
## Enforcement Responsibilities
28+
29+
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
30+
31+
Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.
32+
33+
## Scope
34+
35+
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official email address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
36+
37+
## Enforcement
38+
39+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the project maintainer, [@TMHSDigital](https://github.com/TMHSDigital), through a private message on GitHub. All complaints will be reviewed and investigated promptly and fairly.
40+
41+
All community leaders are obligated to respect the privacy and security of the reporter of any incident.
42+
43+
## Enforcement Guidelines
44+
45+
Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
46+
47+
### 1. Correction
48+
49+
**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
50+
51+
**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
52+
53+
### 2. Warning
54+
55+
**Community Impact**: A violation through a single incident or series of actions.
56+
57+
**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
58+
59+
### 3. Temporary Ban
60+
61+
**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
62+
63+
**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
64+
65+
### 4. Permanent Ban
66+
67+
**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
68+
69+
**Consequence**: A permanent ban from any sort of public interaction within the community.
70+
71+
## Attribution
72+
73+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).
74+
75+
Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/inclusion).
76+
77+
For answers to common questions about this code of conduct, see the FAQ at [https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq).

‎CONTRIBUTING.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
Thanks for helping improve this plugin. This document describes how to set up locally, extend skills and rules, and submit changes.
44

5+
By participating you agree to the [Code of Conduct](https://github.com/TMHSDigital/Unity-Developer-Tools/blob/main/CODE_OF_CONDUCT.md). Report security problems privately as described in the [Security Policy](https://github.com/TMHSDigital/Unity-Developer-Tools/blob/main/SECURITY.md), not in a public issue. Questions and ideas go in [Discussions](https://github.com/TMHSDigital/Unity-Developer-Tools/discussions).
6+
57
## Getting Started
68

79
Cursor loads local plugins from `~/.cursor/plugins/local/<name>` and skips symlinks that point outside that folder, so fork the repository and clone your fork straight into the local plugins folder:

‎SECURITY.md‎

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Security Policy
2+
3+
## Supported Versions
4+
5+
Only the latest release receives fixes. The plugin and MCP server are released together from `main`, so update to the newest tag before reporting.
6+
7+
## Reporting a Vulnerability
8+
9+
Please do not open a public issue for security problems.
10+
11+
Report privately through GitHub: open the repository's **Security** tab and choose **Report a vulnerability**. Include:
12+
13+
- What is affected (MCP server tool, a workflow, a rule or skill that gives unsafe advice)
14+
- Steps to reproduce, or a proof of concept
15+
- The impact you expect
16+
17+
You should get a first response within 7 days. Once a fix is released, the advisory is published with credit to the reporter unless you ask to stay anonymous.
18+
19+
## Scope
20+
21+
In scope:
22+
23+
- The MCP server in `mcp-server/` (for example, path traversal in `analyze_project`, or a tool that reads or writes outside the paths it is given)
24+
- GitHub Actions workflows in `.github/workflows/` (for example, script injection or token exposure)
25+
- Skills, rules, snippets, or templates that recommend insecure practices, such as shipping secrets in a build
26+
27+
Out of scope:
28+
29+
- Vulnerabilities in Unity itself or in third-party packages; report those to the vendor
30+
- Issues that need an already compromised machine or a malicious local Unity project you chose to open

0 commit comments

Comments
 (0)