Skip to content

Commit b418d5f

Browse files
committed
base for discussions
1 parent d3ef550 commit b418d5f

11 files changed

Lines changed: 367 additions & 1 deletion

File tree

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Ask a question (Discussions)
4+
url: https://github.com/MicrosoftCloudEssentials-LearningHub/org-discussions/discussions
5+
about: Use Q&A for questions and troubleshooting.
6+
- name: Propose an idea (Discussions)
7+
url: https://github.com/MicrosoftCloudEssentials-LearningHub/org-discussions/discussions
8+
about: Use Ideas or RFC for proposals and feedback.
9+
- name: Report a security issue
10+
url: https://github.com/MicrosoftCloudEssentials-LearningHub/org-discussions/security/policy
11+
about: Please do not report security issues publicly.

.github/pull_request_template.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## This repository is for GitHub Discussions
2+
3+
If you intended to start a conversation (question, idea, proposal), please open a Discussion instead:
4+
5+
- https://github.com/MicrosoftCloudEssentials-LearningHub/org-discussions/discussions
6+
7+
If you truly need to change something in this repository (docs/templates), describe the change and why.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Welcome new discussions
2+
3+
on:
4+
discussion:
5+
types: [created]
6+
7+
permissions:
8+
discussions: write
9+
10+
jobs:
11+
welcome:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Post welcome comment
15+
uses: actions/github-script@v7
16+
with:
17+
script: |
18+
const discussion = context.payload.discussion;
19+
const owner = context.repo.owner;
20+
const repo = context.repo.repo;
21+
22+
// Avoid commenting on bot-created discussions.
23+
const actor = context.actor || '';
24+
if (actor.endsWith('[bot]')) {
25+
return;
26+
}
27+
28+
const body = [
29+
`Thanks for starting this discussion @${discussion.user.login}!`,
30+
'',
31+
'To get the best answers quickly:',
32+
'- Add expected vs actual behavior',
33+
'- Include repro steps (or a minimal example)',
34+
'- Share relevant versions / environment details',
35+
'',
36+
`Helpful links:`,
37+
`- Posting guide: https://github.com/${owner}/${repo}#start-here`,
38+
`- Categories: https://github.com/${owner}/${repo}/blob/main/docs/categories.md`,
39+
`- Code of Conduct: https://github.com/${owner}/${repo}/blob/main/CODE_OF_CONDUCT.md`,
40+
'',
41+
'If this is a security issue, please stop and follow the security policy instead:',
42+
`- https://github.com/${owner}/${repo}/security/policy`,
43+
].join('\n');
44+
45+
await github.request('POST /repos/{owner}/{repo}/discussions/{discussion_number}/comments', {
46+
owner,
47+
repo,
48+
discussion_number: discussion.number,
49+
body,
50+
});

CODE_OF_CONDUCT.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Code of Conduct
2+
3+
This project uses the **Contributor Covenant Code of Conduct**.
4+
5+
## Our pledge
6+
7+
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, religion, or sexual identity and orientation.
8+
9+
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
10+
11+
## Our standards
12+
13+
Examples of behavior that contributes to a positive environment for our community include:
14+
15+
- Demonstrating empathy and kindness toward other people
16+
- Being respectful of differing opinions, viewpoints, and experiences
17+
- Giving and gracefully accepting constructive feedback
18+
- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
19+
- Focusing on what is best not just for us as individuals, but for the overall community
20+
21+
Examples of unacceptable behavior include:
22+
23+
- The use of sexualized language or imagery, and sexual attention or advances of any kind
24+
- Trolling, insulting or derogatory comments, and personal or political attacks
25+
- Public or private harassment
26+
- Publishing others' private information, such as a physical or email address, without their explicit permission
27+
- Other conduct which could reasonably be considered inappropriate in a professional setting
28+
29+
## Enforcement responsibilities
30+
31+
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.
32+
33+
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.
34+
35+
## Scope
36+
37+
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces.
38+
39+
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.
40+
41+
## Enforcement
42+
43+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement.
44+
45+
- For security-related issues, see [SECURITY.md](SECURITY.md).
46+
- For other conduct issues, contact the maintainers using the method described in [SUPPORT.md](SUPPORT.md).
47+
48+
All complaints will be reviewed and investigated promptly and fairly.
49+
50+
## Enforcement guidelines
51+
52+
Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
53+
54+
### 1. Correction
55+
56+
**Community impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
57+
58+
**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.
59+
60+
### 2. Warning
61+
62+
**Community impact**: A violation through a single incident or series of actions.
63+
64+
**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.
65+
66+
### 3. Temporary ban
67+
68+
**Community impact**: A serious violation of community standards, including sustained inappropriate behavior.
69+
70+
**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.
71+
72+
### 4. Permanent ban
73+
74+
**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.
75+
76+
**Consequence**: A permanent ban from any sort of public interaction within the community.
77+
78+
## Attribution
79+
80+
This Code of Conduct is adapted from the **Contributor Covenant**, version 2.1.
81+
82+
- https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
83+
- https://www.contributor-covenant.org/

CONTRIBUTING.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Contributing (Discussions)
2+
3+
This repository is primarily a **GitHub Discussions hub**.
4+
5+
Most “contributions” here are questions, answers, ideas, proposals, and write-ups.
6+
7+
## Where to post
8+
9+
See [docs/categories.md](docs/categories.md) for the intended use of each category.
10+
11+
General guidance:
12+
13+
- Use **Q&A** for questions that should end with an accepted answer.
14+
- Use **Ideas** for product / process improvement suggestions.
15+
- Use **RFC** for larger proposals that need review.
16+
- Use **Show and tell** to share something you built or learned.
17+
18+
## How to write a great discussion
19+
20+
- Use a descriptive title.
21+
- Include context and constraints.
22+
- Prefer links/screenshots/log snippets over “it doesn’t work”.
23+
- If it’s a question, include what you already tried.
24+
- If you’re proposing change, include alternatives and trade-offs.
25+
26+
## Replies and follow-ups
27+
28+
- Be kind and assume positive intent.
29+
- Keep replies actionable: ask for missing details, propose next steps.
30+
- When something solves the question, **mark the answer** and summarize the resolution.
31+
32+
## Moderation
33+
34+
Maintainers may:
35+
36+
- Ask for clarification or redirect to another category
37+
- Close discussions that are off-topic, duplicated, or no longer actionable
38+
- Remove content that violates the Code of Conduct
39+
40+
If you believe a moderation action was incorrect, follow the guidance in [SUPPORT.md](SUPPORT.md).

README.md

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,42 @@
11
# org-discussions-public
2-
This repository hosts public Discussions related to this organization. Broadcast updates, answer questions, and hold conversations with the wider community.
2+
3+
This repository is the **home for public GitHub Discussions** for the organization.
4+
5+
Use it to:
6+
- Share announcements and updates
7+
- Ask questions and get help (Q&A)
8+
- Propose ideas and gather feedback
9+
- Host lightweight RFCs / design discussions
10+
11+
## Start here
12+
13+
- **Want to ask a question?** Create a Discussion in **Q&A** and include:
14+
- What you expected vs what happened
15+
- Repro steps (or a minimal example)
16+
- Versions / environment details
17+
- **Have an idea?** Post in **Ideas** with the problem, proposed solution, and trade-offs.
18+
- **Need to report a security issue?** Do **not** post it publicly — see [SECURITY.md](SECURITY.md).
19+
20+
## Categories (suggested)
21+
22+
Create categories that match how people actually show up. A simple default set:
23+
- **Announcements** (maintainers only)
24+
- **Q&A** (questions with accepted answers)
25+
- **Ideas** (feature requests / improvements)
26+
- **Show and tell** (demos, write-ups, cool things you built)
27+
- **RFC** (bigger proposals that need review)
28+
29+
More detail (including “what goes where”) lives in [docs/categories.md](docs/categories.md).
30+
31+
## How we keep discussions useful
32+
33+
- **Search first** (duplicate threads slow everyone down)
34+
- **One topic per thread** (split if it drifts)
35+
- **Use clear titles** (good: “CLI auth fails with 401 on Windows”, bad: “Help!!!”)
36+
- **Close the loop** when solved (summarize the fix and mark the answer if applicable)
37+
38+
## Community & conduct
39+
40+
By participating, you agree to follow our [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).
41+
42+
If you’re not sure where to ask something, see [SUPPORT.md](SUPPORT.md).

SECURITY.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Security Policy
2+
3+
## Reporting a vulnerability
4+
5+
If you believe you’ve found a security vulnerability, **do not** open a public Discussion.
6+
7+
Preferred options (in order):
8+
9+
1. Use **GitHub private vulnerability reporting** (Security tab) if enabled for this repository.
10+
2. Otherwise, email the security contact listed below.
11+
12+
Please include:
13+
14+
- A description of the issue and its potential impact
15+
- Steps to reproduce (proof-of-concept if available)
16+
- Affected versions or environments
17+
- Any suggested mitigations
18+
19+
## Security contact
20+
21+
- `UPDATE-ME-security@example.com`
22+
23+
> Maintainers: replace the placeholder with your real security contact (or enable GitHub private vulnerability reporting and point people to it).

SUPPORT.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Support
2+
3+
## I need help / have a question
4+
5+
Open a Discussion in the **Q&A** category.
6+
7+
To help others help you:
8+
9+
- Describe what you’re trying to do
10+
- Provide relevant versions (OS, tooling, etc.)
11+
- Include exact error messages and logs (redact secrets)
12+
13+
## I have an idea / feature request
14+
15+
Open a Discussion in **Ideas**.
16+
17+
## I want to report a security issue
18+
19+
Do **not** open a public Discussion.
20+
21+
Follow the steps in [SECURITY.md](SECURITY.md).
22+
23+
## Code of Conduct concerns
24+
25+
If something violates [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md), report it using the same contact route used for non-security concerns.
26+
27+
> Maintainers: update the contact method below.
28+
29+
## Contact
30+
31+
If you need to reach maintainers privately (non-security), use one of these:
32+
33+
- A private contact email (recommended): `UPDATE-ME@example.com`
34+
- Or a maintainer-owned escalation channel in your organization (document it here)

docs/categories.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Discussion categories
2+
3+
This page describes a suggested category setup for an organization Discussions hub.
4+
5+
## Announcements
6+
7+
- **Purpose**: official updates from maintainers
8+
- **Examples**: releases, policy changes, scheduled maintenance, roadmap milestones
9+
- **Posting**: keep this restricted (maintainers/moderators)
10+
11+
## Q&A
12+
13+
- **Purpose**: questions with a concrete answer
14+
- **Best practices**: mark accepted answers; summarize the resolution at the end
15+
16+
## Ideas
17+
18+
- **Purpose**: suggestions, feature requests, process improvements
19+
- **Template**: problem → proposal → alternatives → trade-offs → success criteria
20+
21+
## Show and tell
22+
23+
- **Purpose**: share demos, write-ups, integrations, or lessons learned
24+
- **Note**: link to source or screenshots when possible
25+
26+
## RFC
27+
28+
- **Purpose**: bigger changes needing review and decision
29+
- **Template**: context → goals/non-goals → proposal → risks → rollout plan
30+
31+
## Optional categories
32+
33+
Add these only if you see sustained demand:
34+
35+
- **Support / Troubleshooting** (if Q&A becomes too broad)
36+
- **Jobs** (if the community expects it)
37+
- **Events** (meetups, livestreams)
38+
- **Off topic** (only if you can moderate it)

docs/moderation.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Moderation guide
2+
3+
This is a lightweight playbook for keeping Discussions welcoming and high-signal.
4+
5+
## When to intervene
6+
7+
- Code of Conduct violations
8+
- Spam, scams, or repetitive promotions
9+
- Sensitive information posted publicly (keys, tokens, personal data)
10+
- Off-topic threads or wrong categories
11+
- Low-effort duplicates that don’t add new context
12+
13+
## Common actions
14+
15+
- Ask for missing details and suggest next steps
16+
- Link to an existing canonical thread and close duplicates
17+
- Move to the correct category (if you choose to do this manually)
18+
- Lock/close threads that are no longer constructive
19+
20+
## De-escalation
21+
22+
- Prefer calm, factual statements
23+
- Avoid public arguments; use private contact when appropriate
24+
- If needed, take a timeout before replying
25+
26+
## Sensitive reports
27+
28+
- For security, redirect to [SECURITY.md](../SECURITY.md)
29+
- For conduct, redirect to [CODE_OF_CONDUCT.md](../CODE_OF_CONDUCT.md)

0 commit comments

Comments
 (0)