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:
@@ -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
|
||||
@@ -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"
|
||||
@@ -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". -->
|
||||
Reference in New Issue
Block a user