Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
7e48247
Add a 'skip-unallowed-check' label (#63546)
subatoi Sep 28, 2026
bdd6f30
Merge pull request #63555 from github/repo-sync
docs-bot Sep 28, 2026
5ce6953
Do not allow content/README (OS) contributions (#63548)
subatoi Sep 28, 2026
c7fb42f
Add some extra checks to stop non-main OS PRs (#63549)
subatoi Sep 28, 2026
339429d
docs: update copilot-cli content from source docs (#63375)
docs-bot Sep 28, 2026
64cc99b
Tighten code comments in content linter lib, scripts, and style (#63438)
heiskr Sep 28, 2026
206993f
Tighten code comments in src/content-render/scripts (#63440)
heiskr Sep 28, 2026
34eb5d5
Tighten code comments in src/content-render/liquid and tests (#63441)
heiskr Sep 28, 2026
ec3e631
Tighten code comments in src/content-linter/tests (#63442)
heiskr Sep 28, 2026
8c46ca0
Tighten code comments in src/links scripts and stylesheets (#63443)
heiskr Sep 28, 2026
3cf1c16
Tighten code comments in src/workflows/sync-sdk-docs (#63445)
heiskr Sep 28, 2026
ef7c8e7
Tighten code comments in the header Playwright spec (#63446)
heiskr Sep 28, 2026
957348f
Tighten code comments in src/search scripts and tests (#63448)
heiskr Sep 28, 2026
e01a036
Tighten code comments in src/search/components (#63449)
heiskr Sep 28, 2026
5587af2
Tighten code comments in src/fixtures helpers and tests (#63450)
heiskr Sep 28, 2026
612a246
Tighten code comments in src/article-api/middleware (#63452)
heiskr Sep 28, 2026
b532640
Add check for non-English issue/PR titles in OS repo (#63550)
subatoi Sep 28, 2026
a4c090d
Tighten code comments in src/article-api/transformers (#63454)
heiskr Sep 28, 2026
678a046
Tighten code comments in src/article-api lib, scripts, and tests (#63…
heiskr Sep 28, 2026
794e4d2
Tighten code comments in src/rest components, lib, pages, and tests (…
heiskr Sep 28, 2026
8dbaafa
Tighten code comments in src/landings/components (#63458)
heiskr Sep 28, 2026
32c815e
Tighten code comments in src/graphql/scripts (#63459)
heiskr Sep 28, 2026
d125c31
🤖 src/ghes-releases/lib/enterprise-dates.json update (#63559)
docs-bot Sep 28, 2026
68261af
GraphQL schema update (#63561)
docs-bot Sep 28, 2026
ff217a6
Tighten code comments in src/landings lib, middleware, pages, and tes…
heiskr Sep 28, 2026
9ee5672
Tighten code comments in src/graphql components, lib, pages, and test…
heiskr Sep 28, 2026
8b096ee
Tighten code comments in src/audit-logs and src/webhooks (#63461)
heiskr Sep 28, 2026
03c1c34
Tighten code comments in src/versions (#63462)
heiskr Sep 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
87 changes: 87 additions & 0 deletions .github/workflows/check-for-non-english.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: Check for non-English titles

# **What it does**: Closes issues/PRs whose title contains non-Latin-script
# characters, which is a common pattern for spam/scam submissions (e.g.
# fake certificate/badge issues written in Arabic, Cyrillic, CJK, etc.)
# **Why we have it**: We get spam in the open-source repo with titles in
# scripts our triage team can't read, making it hard to evaluate intent.
# **Who does it impact**: Open-source contributors.

on:
issues:
types: [opened]
pull_request_target:
types: [opened]

permissions:
contents: read
issues: write
pull-requests: write

jobs:
non-english-title-check:
name: Flag and close non-English titles
if: github.repository == 'github/docs'
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
with:
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
script: |
const isIssue = !!context.payload.issue
const item = context.payload.issue || context.payload.pull_request
const owner = 'github'
const repo = 'docs'
const title = item.title || ''

// Allow: basic Latin letters/digits/punctuation, common symbols,
// and emoji (surrogate pairs), so normal English titles pass.
// Flag titles containing letters from non-Latin scripts
// (Arabic, CJK, Cyrillic, Devanagari, Hebrew, Thai, etc.)
const nonLatinScriptRegex = /(?!\p{Script=Latin})\p{Letter}/u

if (!nonLatinScriptRegex.test(title)) {
return
}

try {
await github.rest.teams.getMembershipForUserInOrg({
org: 'github',
team_slug: 'employees',
username: context.payload.sender.login,
})
// Don't action GitHub employees
return
} catch (err) {
// Not an employee — continue
}

const commentBody =
`Thanks for your contribution! It looks like the title of this ${isIssue ? 'issue' : 'pull request'} contains non-English characters. ` +
`To help our team triage effectively, please resubmit with an English-language title describing the change or problem. ` +
`I'm closing this for now, but feel free to open a new one!`

if (isIssue) {
await github.rest.issues.update({
owner, repo,
issue_number: item.number,
labels: ['invalid'],
state: 'closed',
})
await github.rest.issues.createComment({
owner, repo,
issue_number: item.number,
body: commentBody,
})
} else {
await github.rest.pulls.update({
owner, repo,
pull_number: item.number,
state: 'closed',
})
await github.rest.issues.createComment({
owner, repo,
issue_number: item.number,
body: commentBody,
})
}
2 changes: 1 addition & 1 deletion .github/workflows/check-for-spammy-prs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ name: Check for Spammy PRs

on:
pull_request_target:
types: [opened]
types: [opened, edited, reopened, synchronize]

permissions:
contents: read
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/triage-unallowed-contributions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
github.repository == 'github/docs' &&
github.event.pull_request.user.login != 'docs-bot' &&
github.event.pull_request.user.login != 'dependabot[bot]'
&& !contains(github.event.pull_request.labels.*.name, 'skip-unallowed-check')
}}
runs-on: ubuntu-latest
steps:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,20 @@ You can also manage MCP servers from the terminal without entering interactive m

Removes the server from the user configuration.

* **Disable a server:**

```shell copy
copilot mcp disable SERVER-NAME
```

A disabled server remains configured but is not used by {% data variables.product.prodname_copilot_short %}. This setting persists across sessions.

* **Enable a previously disabled server:**

```shell copy
copilot mcp enable SERVER-NAME
```

## Using MCP servers

Once you have added an MCP server, {% data variables.product.prodname_copilot_short %} can automatically use the tools it provides when relevant to your prompt. You can also directly reference an MCP server and specific tools in a prompt to ensure they are used.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Use the /frontend-design skill to create a responsive navigation bar in React.

* **Remove skills:** to remove a skill that you have added directly—not via a plugin—use the command `/skills remove SKILL-DIRECTORY`. To remove skills added as part of a plugin you must manage the plugin itself. Use the `info` subcommand to find out which plugin a skill came from.

The `/skills` commands above run inside an interactive session. The same list, add, and remove operations are also available from the terminal command line by using the `copilot skill` subcommand. This is useful for scripting or for setting up skills before you start a session. For example, run `copilot skill list` to list your skills, or `copilot skill add <FILE | URL | DIRECTORY>` to add one. For the full set of subcommands for {% data variables.copilot.copilot_cli_short %}, see [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference).
The `/skills` commands above run inside an interactive session. The same list, add, remove, disable, and enable operations are also available from the terminal command line by using the `copilot skill` subcommand. This is useful for scripting or for setting up skills before you start a session. For example, run `copilot skill list` to list your skills, `copilot skill add <FILE | URL | DIRECTORY>` to add one, or `copilot skill disable SKILL-NAME` and `copilot skill enable SKILL-NAME` to turn a skill off and back on. For the full set of subcommands for {% data variables.copilot.copilot_cli_short %}, see [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference).

{% data reusables.copilot.skills-compared %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,7 @@ Use `/settings` to:
* **Change a setting with a single command** — Run `/settings KEY VALUE` to change a particular setting without opening the editor.
* **Check a setting's value** — Run `/settings show KEY` to display the current value of a setting.

You can also use `/config`, which is an alias of `/settings`.

Changes you make with `/settings` or `/config` are written to your personal settings file (by default, `~/.copilot/settings.json`) and persist across sessions.
Changes you make with `/settings`, `/config KEY VALUE`, or `/config unset KEY` are written to your personal settings file (by default, `~/.copilot/settings.json`) and persist across sessions.

## Opening the settings editor

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ Alternatively, in an interactive session, enter:
copilot plugin list # View installed plugins
copilot plugin update PLUGIN-NAME # Update plugin to latest version
copilot plugin uninstall PLUGIN-NAME # Remove plugin completely
copilot plugin disable PLUGIN-NAME # Disable a plugin without uninstalling it
copilot plugin enable PLUGIN-NAME # Re-enable a previously disabled plugin
```

## Adding plugin marketplaces
Expand Down
Loading
Loading