这是indexloc提供的服务,不要输入任何密码
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,13 @@ You can customize your {% data variables.product.prodname_codeql %} analysis by

{% ifversion ghas-products %}

![Screenshot of the "{% data variables.product.UI_code_security_scanning %}" section of "{% data variables.product.UI_advanced_security %}" settings. The "Advanced setup" button is highlighted with an orange outline.](/assets/images/help/security/advanced-code-scanning-setup.png)
![Screenshot of the "{% data variables.product.UI_code_security_scanning %}" section of "{% data variables.product.UI_advanced_security %}" settings. The "Advanced setup" button is highlighted with an orange outline.](/assets/images/help/security/advanced-code-scanning-setup-ghas.png)

{% else %}

![Screenshot of the "{% data variables.product.prodname_code_scanning_caps %}" section of "{% data variables.product.UI_advanced_security %}" settings. The "Advanced setup" button is highlighted with an orange outline.](/assets/images/help/security/advanced-code-scanning-setup-ghas.png)
![Screenshot of the "{% data variables.product.prodname_code_scanning_caps %}" section of "{% data variables.product.UI_advanced_security %}" settings. The "Advanced setup" button is highlighted with an orange outline.](/assets/images/help/security/advanced-code-scanning-setup.png)

{% endif %}
{% endif %}

1. To customize how {% data variables.product.prodname_code_scanning %} scans your code, edit the workflow.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ redirect_from:
- /copilot/how-tos/agents/copilot-coding-agent/best-practices-for-using-copilot-to-work-on-tasks
- /copilot/tutorials/coding-agent/best-practices
contentType: tutorials
category:
- Automate simple user stories
---

> [!NOTE]
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/coding-agent/pilot-coding-agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ redirect_from:
- /copilot/tutorials/rolling-out-github-copilot-at-scale/enabling-developers/using-copilot-coding-agent-in-org
- /copilot/tutorials/pilot-copilot-coding-agent
contentType: tutorials
category:
- Automate simple user stories
---
<!--JTBD: When rolling out {% data variables.copilot.copilot_coding_agent %}, I want to understand use cases and follow best practices, so I can ensure I'm using it as intended and get value from a pilot program.-->

Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/compare-ai-models.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ redirect_from:
- /copilot/using-github-copilot/ai-models/comparing-ai-models-using-different-tasks
- /copilot/tutorials/comparing-ai-models-using-different-tasks
contentType: tutorials
category:
- Rapid prototyping
---

## Overview
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/enhance-agent-mode-with-mcp.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ topics:
redirect_from:
- /copilot/tutorials/enhancing-copilot-agent-mode-with-mcp
contentType: tutorials
category:
- Automate simple user stories
---

{% data reusables.copilot.mcp-availability-and-preview-note %}
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/explore-a-codebase.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ redirect_from:
- /copilot/using-github-copilot/guides-on-using-github-copilot/using-copilot-to-explore-a-codebase
- /copilot/tutorials/using-copilot-to-explore-a-codebase
contentType: tutorials
category:
- Scale institutional knowledge
---

## Introduction
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/explore-issues-and-discussions.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ versions:
redirect_from:
- /copilot/tutorials/using-copilot-to-explore-issues-and-discussions
contentType: tutorials
category:
- Scale institutional knowledge
---

## Introduction
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/explore-pull-requests.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ versions:
redirect_from:
- /copilot/tutorials/using-copilot-to-explore-pull-requests
contentType: tutorials
category:
- Accelerate PR velocity
---

## Introduction
Expand Down
6 changes: 6 additions & 0 deletions content/copilot/tutorials/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,10 @@ children:
redirect_from:
- /copilot/using-github-copilot/guides-on-using-github-copilot
contentType: tutorials
heroImage: /assets/images/banner-images/hero-3.png
layout: bespoke-landing
recommended:
- /copilot/tutorials/copilot-chat-cookbook
- /copilot/tutorials/customization-library
- /copilot/tutorials/roll-out-at-scale
---
2 changes: 2 additions & 0 deletions content/copilot/tutorials/learn-a-new-language.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ versions:
redirect_from:
- /copilot/tutorials/learning-a-new-programming-language-with-github-copilot
contentType: tutorials
category:
- Scale institutional knowledge
---

## Introduction
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/migrate-a-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ redirect_from:
- /copilot/using-github-copilot/guides-on-using-github-copilot/using-copilot-to-migrate-a-project
- /copilot/tutorials/using-copilot-to-migrate-a-project
contentType: tutorials
category:
- Burn down tech debt
---

## Introduction
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/modernize-legacy-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ redirect_from:
- /copilot/using-github-copilot/guides-on-using-github-copilot/modernizing-legacy-code-with-github-copilot
- /copilot/tutorials/modernizing-legacy-code-with-github-copilot
contentType: tutorials
category:
- Modernize applications
---

> [!NOTE] The responses shown in this article are examples. {% data variables.copilot.copilot_chat_short %} responses are non-deterministic, so you may get different responses from the ones shown here.
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/plan-a-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ versions:
feature: copilot

contentType: tutorials
category:
- Unblock complex work
---

> [!NOTE]
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/refactor-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ redirect_from:
- /copilot/tutorials/refactoring-code-with-github-copilot
shortTitle: Refactor code
contentType: tutorials
category:
- Modernize applications
---

## Introduction
Expand Down
9 changes: 2 additions & 7 deletions content/copilot/tutorials/review-ai-generated-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,9 @@ shortTitle: Review AI code
intro: 'Learn techniques to verify and validate AI-generated code, and how {% data variables.copilot.copilot_chat_short %} can help.'
versions:
feature: copilot
category:
- Refactoring code
complexity:
- Simple
octicon: rocket
topics:
- Copilot
contentType: tutorials
category:
- Automate simple user stories
---

Reviewing code generated by AI tools like {% data variables.product.prodname_copilot %}, ChatGPT, or other coding agents is becoming an essential part of the modern developer workflow. This guide provides practical techniques, emphasizes the importance of human oversight and testing, and includes example prompts to showcase how AI can assist in the review process.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ redirect_from:
- /copilot/tutorials/rolling-out-github-copilot-at-scale/assigning-licenses/remind-inactive-users
- /copilot/tutorials/rolling-out-github-copilot-at-scale/assign-licenses/remind-inactive-users
contentType: tutorials
category:
- Roll Copilot out at scale
---

When you're rolling out {% data variables.product.prodname_copilot %} in a business, it's important to keep track of which users are using their {% data variables.product.prodname_copilot_short %} license, so you can respond effectively by reassigning unused licenses or helping people to get started with {% data variables.product.prodname_copilot_short %}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ redirect_from:
- /copilot/tutorials/rolling-out-github-copilot-at-scale/assigning-licenses/set-up-self-serve-licenses
- /copilot/tutorials/rolling-out-github-copilot-at-scale/assign-licenses/set-up-self-serve-licenses
contentType: tutorials
category:
- Roll Copilot out at scale
---

When you've enabled {% data variables.product.prodname_copilot %} in an organization or enterprise, you can set up a self-serve workflow to allow users to request licenses. This allows you to allocate licenses to people who want them, and means people can get started with {% data variables.product.prodname_copilot_short %} quickly.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ redirect_from:
- /copilot/tutorials/rolling-out-github-copilot-at-scale/driving-downstream-impact/accelerate-pull-requests
- /copilot/tutorials/rolling-out-github-copilot-at-scale/drive-downstream-impact/accelerate-pull-requests
contentType: tutorials
category:
- Accelerate PR velocity
---

{% data reusables.copilot.essp-intro %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ redirect_from:
- /copilot/tutorials/rolling-out-github-copilot-at-scale/driving-downstream-impact/increase-test-coverage
- /copilot/tutorials/rolling-out-github-copilot-at-scale/drive-downstream-impact/increase-test-coverage
contentType: tutorials
category:
- Roll Copilot out at scale
---

{% data reusables.copilot.essp-intro %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ redirect_from:
- /copilot/tutorials/rolling-out-github-copilot-at-scale/driving-downstream-impact/reduce-security-debt
- /copilot/tutorials/rolling-out-github-copilot-at-scale/drive-downstream-impact/reduce-security-debt
contentType: tutorials
category:
- Roll Copilot out at scale
---

{% data reusables.copilot.essp-intro %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ redirect_from:
- /copilot/tutorials/rolling-out-github-copilot-at-scale/enabling-developers/drive-adoption
- /copilot/tutorials/rolling-out-github-copilot-at-scale/enable-developers/drive-adoption
contentType: tutorials
category:
- Roll Copilot out at scale
---

An effective enablement process is essential to drive adoption of {% data variables.product.prodname_copilot_short %} in your organization. This process should be tailored to your organization's needs and goals, and should be designed to help your teams understand how to use {% data variables.product.prodname_copilot_short %} effectively.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ redirect_from:
- /copilot/tutorials/rolling-out-github-copilot-at-scale/enabling-developers/integrate-ai-agents
- /copilot/tutorials/rolling-out-github-copilot-at-scale/enable-developers/integrate-ai-agents
contentType: tutorials
category:
- Roll Copilot out at scale
---

## About AI agents on {% data variables.product.github %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ layout: inline
topics:
- Copilot
contentType: tutorials
category:
- Roll Copilot out at scale
---

## Introduction
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/spark/build-apps-with-spark.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ redirect_from:
- /copilot/tutorials/building-ai-app-prototypes
- /copilot/tutorials/build-apps-with-spark
contentType: tutorials
category:
- Rapid prototyping
---

> [!NOTE]
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/spark/prompt-tips.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ versions:
feature: spark
product: 'Anyone with a {% data variables.copilot.copilot_pro_plus_short %} or {% data variables.copilot.copilot_enterprise_short %} license can use {% data variables.product.prodname_spark_short %}.'
contentType: tutorials
category:
- Rapid prototyping
---

## Introduction
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/spark/your-first-spark.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ redirect_from:
- /copilot/tutorials/building-your-first-app-in-minutes-with-github-spark
- /copilot/tutorials/spark/easy-apps-with-spark
contentType: tutorials
category:
- Rapid prototyping
---

Have you ever had a great idea for an app, but you didn't have the tools to build it? With the help of AI, you can now bring your app ideas to life in minutes using only natural language. In this article, we'll use {% data variables.product.prodname_spark %} to build, improve, and share a word search app without writing a single line of code ourselves.
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/speed-up-development-work.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ redirect_from:
- /copilot/using-github-copilot/copilot-spaces/speeding-up-development-work-with-copilot-spaces
- /copilot/tutorials/speeding-up-development-work-with-copilot-spaces
contentType: tutorials
category:
- Accelerate PR velocity
---

If you're starting a new feature, trying to understand a system, or picking up a task in a codebase you’re still learning, {% data variables.copilot.copilot_spaces %} can help you:
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/try-extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ topics:
- Copilot
shortTitle: Try Extensions
contentType: tutorials
category:
- Rapid prototyping
---

The [Blackbeard extension](https://github.com/copilot-extensions/blackbeard-extension) is a {% data variables.copilot.copilot_extension %} that comprises a {% data variables.product.prodname_github_app %} and a {% data variables.product.prodname_copilot_short %} agent. The agent responds to chat requests in the style of a pirate, using {% data variables.product.prodname_copilot_short %}'s large language model (LLM) API and special system prompts. See [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents).
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/upgrade-projects.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ redirect_from:
- /copilot/tutorials/upgrading-java-projects-with-github-copilot
- /copilot/tutorials/upgrading-projects-with-github-copilot
contentType: tutorials
category:
- Burn down tech debt
---

> [!NOTE]
Expand Down
2 changes: 2 additions & 0 deletions content/copilot/tutorials/write-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ redirect_from:
- /copilot/tutorials/writing-tests-with-github-copilot
shortTitle: Write tests
contentType: tutorials
category:
- Improve quality and maintainability
---

## Introduction
Expand Down
5 changes: 1 addition & 4 deletions content/enterprise-onboarding/index.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
---
title: Enterprise onboarding
intro: 'Learn how to successfully onboard your company to {% data variables.product.prodname_ghe_cloud %}.'
introLinks:
overview: '/enterprise-onboarding/getting-started-with-your-enterprise'
try_ghec_for_free: 'https://github.com/account/enterprises/new?ref_product=ghec&ref_type=trial&ref_style=button&ref_plan=enterprise'
featuredLinks:
startHere:
- '/enterprise-onboarding/getting-started-with-your-enterprise'
Expand All @@ -12,7 +9,7 @@ featuredLinks:
popular:
- '/enterprise-onboarding/github-actions-for-your-enterprise'
- '/enterprise-onboarding/feature-enhancements'
layout: product-landing
layout: journey-landing
journeyTracks:
- id: 'getting_started'
title: 'Getting started with your enterprise'
Expand Down
4 changes: 1 addition & 3 deletions content/site-policy/github-terms/github-dpa-previews.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,4 @@ The pre-release products and features listed below use data handling that is the

| Product / Feature | DPA Coverage Date |
|:---------------------------------------------------|:-------------------:|
| Copilot CLI | 28 October 2025 |
| Copilot Enterprise & Users Usage Metrics Dashboard | 28 October 2025 |
| Spark | 28 October 2025 |
| Coming Soon! | 27 October 2025 |
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,36 @@ function isValidArticlePath(articlePath: string, currentFilePath: string): boole
// Strategy 1: Always try as an absolute path from content root first
const contentDir = path.join(ROOT, 'content')
const normalizedPath = articlePath.startsWith('/') ? articlePath.substring(1) : articlePath
const absolutePath: string = path.join(contentDir, `${normalizedPath}.md`)

// Check for direct .md file
const absolutePath: string = path.join(contentDir, `${normalizedPath}.md`)
if (fs.existsSync(absolutePath) && fs.statSync(absolutePath).isFile()) {
return true
}

// Check for index.md file in directory (for landing pages)
const indexPath: string = path.join(contentDir, normalizedPath, 'index.md')
if (fs.existsSync(indexPath) && fs.statSync(indexPath).isFile()) {
return true
}

// Strategy 2: Fall back to relative path from current file's directory
const currentDir: string = path.dirname(currentFilePath)

// Check for relative .md file
const relativePath: string = path.join(currentDir, `${normalizedPath}.md`)
try {
if (fs.existsSync(relativePath) && fs.statSync(relativePath).isFile()) {
return true
}
} catch {
// Continue to next strategy
}

// Check for relative index.md file
const relativeIndexPath: string = path.join(currentDir, normalizedPath, 'index.md')
try {
return fs.existsSync(relativePath) && fs.statSync(relativePath).isFile()
return fs.existsSync(relativeIndexPath) && fs.statSync(relativeIndexPath).isFile()
} catch {
return false
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,36 @@ function isValidGuidePath(guidePath: string, currentFilePath: string): boolean {
// Strategy 1: Always try as an absolute path from content root first
const contentDir = path.join(ROOT, 'content')
const normalizedPath = guidePath.startsWith('/') ? guidePath.substring(1) : guidePath
const absolutePath = path.join(contentDir, `${normalizedPath}.md`)

// Check for direct .md file
const absolutePath = path.join(contentDir, `${normalizedPath}.md`)
if (fs.existsSync(absolutePath) && fs.statSync(absolutePath).isFile()) {
return true
}

// Check for index.md file in directory (for landing pages)
const indexPath = path.join(contentDir, normalizedPath, 'index.md')
if (fs.existsSync(indexPath) && fs.statSync(indexPath).isFile()) {
return true
}

// Strategy 2: Fall back to relative path from current file's directory
const currentDir = path.dirname(currentFilePath)

// Check for relative .md file
const relativePath = path.join(currentDir, `${normalizedPath}.md`)
try {
if (fs.existsSync(relativePath) && fs.statSync(relativePath).isFile()) {
return true
}
} catch {
// Continue to next strategy
}

// Check for relative index.md file
const relativeIndexPath = path.join(currentDir, normalizedPath, 'index.md')
try {
return fs.existsSync(relativePath) && fs.statSync(relativePath).isFile()
return fs.existsSync(relativeIndexPath) && fs.statSync(relativeIndexPath).isFile()
} catch {
return false
}
Expand Down
Loading
Loading