docs(contributing): add CONTRIBUTING, code of conduct and issue/PR templates

Add CONTRIBUTING.md covering all validation gates and contribution
workflows, CODE_OF_CONDUCT.md (Contributor Covenant 2.1), GitHub issue
templates (bug/feature), and a pull request template; add a Contributing
section to the README.
This commit is contained in:
Vitaliy Filyuchkov
2026-08-12 11:23:48 +03:00
parent 4da4dfb80b
commit 02f52986c0
7 changed files with 418 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
name: Bug report
description: A diagram, script, or import path misbehaves — report it so we can fix it.
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for reporting. Before submitting, check that this isn't an already-open issue.
- type: dropdown
id: area
attributes:
label: Area
description: What part of the project is affected?
options:
- A diagram example
- Style guide / skin / linter
- draw.io import
- Mermaid import
- Export (SVG / PNG)
- Documentation
- CI / tooling
- Other
validations:
required: true
- type: textarea
id: description
attributes:
label: What happened?
description: Describe the unexpected behavior. Include what you expected instead.
placeholder: "The linter accepts a diagram that breaks the accessible SVG contract…"
validations:
required: true
- type: textarea
id: repro
attributes:
label: Steps to reproduce
description: Concrete steps — commands, file names, and inputs matter here.
placeholder: |
1. Run `python3 scripts/lint-skin.py <file>`
2. …
validations:
required: true
- type: input
id: environment
attributes:
label: Environment
description: OS, Python version, agent (Claude Code / Codex / Pi) if relevant
placeholder: "macOS 14, Python 3.11, Claude Code"
- type: checkboxes
id: gates
attributes:
label: Validation gates
description: If relevant, which gates have you already run?
options:
- label: "`python3 scripts/test-lint-a11y.py`"
- label: "`python3 scripts/lint-skin.py --all --baseline`"
- label: "`python3 scripts/verify-drawio-import.py`"
- label: "`python3 scripts/verify-mermaid-import.py`"
- label: "I haven't run any gates"
- type: textarea
id: logs
attributes:
label: Relevant output
description: Paste error messages or linter findings, trimmed to what matters.
render: text
+5
View File
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Security vulnerability
url: https://github.com/cathrynlavery/diagram-design/security/advisories/new
about: Report a suspected vulnerability privately — do not open a public issue for it.
@@ -0,0 +1,45 @@
name: Feature request
description: Suggest a new diagram type, primitive, or improvement.
title: "[Feature]: "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Ideas are welcome. Before submitting, check the README's "When *not* to use this skill" section — sometimes the right answer is a table, not a diagram.
- type: textarea
id: problem
attributes:
label: What are you trying to show?
description: Describe the situation and what the reader needs to understand. A sketch or ASCII mock helps a lot.
placeholder: "I want to show how... and the reader should see..."
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed solution
description: How could the skill serve this? A new type, a primitive, a change to an existing one, docs?
placeholder: "A new `type-*.md` for …, or an extension of …"
- type: dropdown
id: scope
attributes:
label: Scope
description: Roughly how much surface does this touch?
options:
- New diagram type (reference + 3 examples + gallery)
- New or changed primitive
- Import grammar support
- Tooling / scripts / CI
- Documentation only
- Not sure yet — help me scope it
validations:
required: true
- type: checkboxes
id: philosophy
attributes:
label: Design-system fit
description: Features in this project must fit the editorial philosophy in SKILL.md §1–§2.
options:
- label: "I've checked the anti-patterns and 'When not to use' — this still seems worth drawing"
- label: "I'm willing to contribute the implementation or pair with a maintainer"
+26
View File
@@ -0,0 +1,26 @@
## What does this PR do?
<!-- One or two sentences: what changed and why. -->
## Validation gates
<!-- Mark what you ran and that it passed. CI runs all of these on the PR too. -->
- [ ] `python3 scripts/test-lint-a11y.py`
- [ ] `python3 scripts/lint-skin.py --all --baseline`
- [ ] `python3 scripts/verify-sequence-oauth.py`
- [ ] `python3 scripts/verify-drawio-import.py`
- [ ] `python3 scripts/verify-mermaid-import.py`
- [ ] `git diff --exit-code` green after `python3 scripts/build-icons.py` (if icons changed)
- [ ] Docs updated in the same PR where behavior changed
## Checklist
- [ ] No new entries added to `scripts/lint-skin-baseline.txt`
- [ ] Generated and source files are consistent (extractor ↔ verifier ↔ reference ↔ command)
- [ ] Accessible SVG contract satisfied for new/changed examples
- [ ] Code of Conduct respected
## Related issues
<!-- Link any issues this closes, e.g. "Closes #12". -->