Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
9 changes: 1 addition & 8 deletions scripts/compliance-audit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ REQUIRED_SETTINGS_BOOL=(
"delete_branch_on_merge:true:Automatically delete head branches must be enabled"
"has_wiki:false:Wiki should be disabled — documentation lives in the repo"
"has_issues:true:Issue tracking must be enabled"
"has_discussions:true:Discussions must be enabled for ideation and community engagement"
Comment thread
don-petry marked this conversation as resolved.
Resolved
)
Comment thread
don-petry marked this conversation as resolved.
Resolved

# ---------------------------------------------------------------------------
Expand Down Expand Up @@ -276,14 +277,6 @@ check_repo_settings() {
"standards/github-settings.md#general"
fi

# Discussions
local has_discussions
has_discussions=$(echo "$settings" | jq -r '.has_discussions')
if [ "$has_discussions" != "true" ]; then
add_finding "$repo" "settings" "has-discussions" "warning" \
"Discussions should be enabled for community engagement" \
"standards/github-settings.md#general"
fi
}

# ---------------------------------------------------------------------------
Expand Down
47 changes: 46 additions & 1 deletion standards/github-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ SHOULD be audited and brought into compliance.
| **Has Issues** | `true` | Issue tracking enabled on all repos |
| **Has Projects** | `true` | Currently enabled on all repos |
| **Has Wiki** | `false` | Disabled — documentation lives in the repo |
| **Has Discussions** | `true` | Enabled for community engagement |
| **Has Discussions** | `true` | **Required** — enables Discussions for ideation, feedback, and community engagement (see [Discussions Configuration](#discussions-configuration)) |

### Merge Settings

Expand All @@ -51,6 +51,51 @@ SHOULD be audited and brought into compliance.

---

## Discussions Configuration

GitHub Discussions MUST be enabled on all repositories. Discussions serve as the
durable, threaded home for feature ideation, design proposals, and community
feedback — distinct from Issues (which track actionable work).

### Required Discussion Categories

All repositories MUST have the following categories configured:

| Category | Format | Emoji | Description |
|----------|--------|-------|-------------|
| **Ideas** | Open-ended | `💡` | Feature proposals, ideation threads, and innovation exploration |
| **General** | Open-ended | `💬` | General project discussions and questions |

Additional categories MAY be added per project needs (e.g., "Q&A", "Show and Tell",
"Polls"). The two above are the required minimum.

### Automated Ideation Workflow

Repositories with the `feature-ideation.yml` workflow use the **Ideas** category
to post and maintain feature proposal Discussions. Each proposal is a separate
Discussion thread, updated by subsequent workflow runs as market signals and
project context evolve.

### Setup

To enable and configure Discussions on an existing repository:

```bash
# Enable Discussions
gh api -X PATCH repos/<owner>/<repo> -f has_discussions=true

# Discussion categories are managed via the GitHub UI:
# Settings → General → Features → Discussions → Set up discussions
# Or via GraphQL after initial setup.
```

> **Note:** Discussion categories cannot currently be created via the REST API.
> Use the GitHub UI or GraphQL `createDiscussionCategory` mutation. The compliance
> audit checks that Discussions are enabled; category configuration is verified
> manually during onboarding.

---

## Repository Rulesets

Rulesets are the primary enforcement mechanism for branch policies. All
Expand Down
Loading