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
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ Your trial **won't** include access to {% data variables.product.prodname_ghe_se
* {% data variables.product.prodname_github_codespaces %}
* {% data variables.copilot.copilot_enterprise %}
* {% data variables.copilot.copilot_for_business %}
* Contact {% data variables.contact.github_support %} to enable {% data variables.copilot.copilot_for_business %} during your trial.
* {% data variables.product.prodname_sponsors %}
* Paid {% data variables.product.prodname_marketplace %} apps
* {% data variables.product.prodname_github_connect %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ category:
---
{% data reusables.gpg.desktop-support-for-commit-signing %}

> [!TIP]
> To configure your Git client to sign tags by default for a local repository, in Git versions 2.23.0 and above, run `git config tag.gpgsign true`. To sign all tags by default in any local repository on your computer, run `git config --global tag.gpgsign true`.
1. To sign a tag, add `-s` to your `git tag` command.

```shell
Expand Down
3 changes: 3 additions & 0 deletions content/billing/reference/supported-payment-methods.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ category:

## Metered or usage-based billing options

> [!NOTE]
> Prepaid credit/debit cards are not accepted as a valid form of payment.
The supported payment methods for metered billing:

* Invoice – Managed accounts only
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -569,11 +569,11 @@ Package manager | YAML value | Supported versions |
| {% ifversion dependabot-opentofu-support %} |
| OpenTofu | `opentofu` | Not applicable |
| {% endif %} |
| pip| `pip` | v24.2 |
| pip-compile | `pip` | 7.4.1 |
| pipenv | `pip` | <= 2024.4.1 |
| pip | `pip` | 24.2 |
| pip-compile | `pip` | 7.5.3 |
| pipenv | `pip` | <= 2024.4.1 |
| pnpm | `npm` | v7, v8 <br>v9, v10 (version updates only) |
| poetry | `pip` | v2 |
| poetry | `pip` | 2.2.1 |
| {% ifversion dependabot-pre-commit-support %} |
| pre-commit | `pre-commit` | Not applicable |
| {% endif %} |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ category:

![Screenshot of the preview of an issue template. To the right of the template name, a pencil icon is outlined in dark orange.](/assets/images/help/repository/issue-template-edit-button.png)
1. To automatically set a default issue title, assign the issue to people with read access to the repository, or apply labels to issues raised from the template, use the fields under "Optional additional information." You can also add these details in the issue template with `title`, `labels`, `type`, or `assignees` in a YAML frontmatter format.
> [!NOTE]
> The template name must be more than 3 characters.

1. When you're finished editing and previewing your template, click **Propose changes** in the upper right corner of the page.
1. In the "Commit message" field, type a commit message describing your changes.
1. Below the commit message fields, select whether to commit your template directly to the default branch, or to create a new branch and open a pull request. For more information about pull requests, see [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests).
Expand All @@ -50,6 +53,9 @@ Here is an example of an issue form configuration file.

{% data reusables.community.issue-forms-sample %}

> [!NOTE]
> The `name` field must be more than 3 characters. If it's not, the template won't be shown when creating an issue.

Here is the rendered version of the issue form.

![Screenshot of a rendered issue form, with a mix of text fields and dropdown menus.](/assets/images/help/repository/sample-issue-form.png)
Expand Down
6 changes: 3 additions & 3 deletions content/copilot/concepts/agents/about-agent-skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ Support for organization-level and enterprise-level skills is coming soon.

## Next steps

To create an agent skill, see:
To create or add agent skills, see:

* [AUTOTITLE](/copilot/how-tos/use-copilot-agents/cloud-agent/create-skills)
* [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/create-skills)
* [AUTOTITLE](/copilot/how-tos/use-copilot-agents/cloud-agent/add-skills)
* [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-skills)
* [AUTOTITLE](/copilot/reference/customization-cheat-sheet)
1 change: 1 addition & 0 deletions content/copilot/concepts/agents/copilot-cli/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ children:
- /fleet
- /research
- /chronicle
- /lsp-servers
- /context-management
contentType: concepts
docsTeamMetrics:
Expand Down
74 changes: 74 additions & 0 deletions content/copilot/concepts/agents/copilot-cli/lsp-servers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
title: Using LSP servers with {% data variables.copilot.copilot_cli %}
shortTitle: LSP servers
allowTitleToDifferFromFilename: true
intro: 'LSP servers give {% data variables.copilot.copilot_cli_short %} precise code intelligence, enabling it to navigate definitions, find references, and rename symbols accurately across your project.'
versions:
feature: copilot
contentType: concepts
docsTeamMetrics:
- copilot-cli
category:
- Learn about Copilot # Copilot discovery page
- Learn about Copilot CLI # Copilot CLI bespoke page
---

## Introduction

The Language Server Protocol (LSP) is an open standard used for communication between a code editor and a language server. A language server is a process that provides language-specific features like go-to-definition and renaming a code symbol across your codebase. An "LSP server" is any language server that supports the Language Server Protocol.

{% data variables.copilot.copilot_cli %} can use LSP servers to understand the structure of your code more precisely. By adding and configuring an LSP server for each programming language in your project, you'll give {% data variables.copilot.copilot_cli_short %} a better understanding of your code.

## Benefits of LSP servers

* **Accuracy**: Results come from the language's own compiler/analyzer, providing an understanding of the structure of your code. This improves {% data variables.product.prodname_copilot_short %}'s precision when it works with your code. For example, when {% data variables.product.prodname_copilot_short %} can use "go to definition" it will find the actual definition, not a text match that looks similar.
* **Token efficiency**: Operations like "list all symbols" or "find references" return compact structured results instead of requiring the agent to read entire files into the conversation.
* **Safe refactoring**: When you rename a symbol, the LSP server reliably updates every reference across the project.
* **Speed**: Language servers index your project in the background, allowing near-instant responses.

## What LSP servers allow {% data variables.copilot.copilot_cli_short %} to do

When LSP servers are available, {% data variables.copilot.copilot_cli_short %} uses them automatically. You don't need to explicitly request it. {% data variables.copilot.copilot_cli_short %} will use an LSP server rather than text-based search whenever it can access an LSP server for the programming language you're using.

The following language server operations are supported:

| Operation | What it does |
|-----------|-------------|
| Go to definition | Jumps to where a symbol (function, class, variable) is defined. |
| Find references | Finds every location where a symbol is used. |
| Hover | Retrieves type information and documentation for a symbol. |
| Rename | Renames a symbol across the entire project, updating all references. |
| Document symbols | Lists all symbols defined in a file. |
| Workspace symbol search | Searches for symbols by name across the project. |
| Go to implementation | Finds implementations of an interface or abstract method. |
| Incoming calls | Shows which functions call a given function. |
| Outgoing calls | Shows which functions a given function calls. |

{% data variables.product.prodname_copilot_short %} selects the most appropriate LSP operation based on your prompt. For example, if you ask "where is `handlePayment` defined?", {% data variables.product.prodname_copilot_short %} will use the go-to-definition operation.

## How to add an LSP server

For {% data variables.copilot.copilot_cli_short %} to be able to use an LSP server, you must first install the server software on your local machine and then configure it in one of the configuration files that {% data variables.copilot.copilot_cli_short %} reads on startup. See [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/add-lsp-servers).

An LSP server may also be added as part of a CLI plugin that you choose to install. A plugin might include an LSP server if, for example, it's designed to work with an uncommon programming language or a framework-specific file type. LSP servers included as part of a plugin are automatically available when you install the plugin—no additional configuration is needed. If you uninstall the plugin, the LSP server is removed. For more information, see [AUTOTITLE](/copilot/concepts/agents/copilot-cli/about-cli-plugins).

## How LSP servers are loaded

When {% data variables.copilot.copilot_cli %} starts, it loads LSP server configurations from multiple sources with the following priority (highest to lowest):

1. **Project config**: `.github/lsp.json` in the current repository.
1. **Plugin configs**: language servers provided by installed plugins.
1. **User config**: `~/.copilot/lsp-config.json`.

Higher-priority configurations override lower-priority ones with the same server name. This means a project can customize or disable language servers for all contributors.

Once the working directory is trusted, {% data variables.copilot.copilot_cli_short %} automatically starts any LSP servers that are relevant to your project, in the background, so they are ready to respond immediately when needed.

## Next steps

* [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/add-lsp-servers)

## Further reading

* [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) on the Microsoft website
* [AUTOTITLE](/copilot/reference/cli-command-reference)
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
---
title: Creating agent skills for {% data variables.copilot.copilot_cli %}
shortTitle: Create agent skills
title: Adding agent skills for {% data variables.copilot.copilot_cli %}
shortTitle: Add agent skills
allowTitleToDifferFromFilename: true
intro: 'Modify {% data variables.product.prodname_copilot_short %}''s behavior and abilities when it works on particular tasks.'
versions:
feature: copilot
contentType: how-tos
redirect_from:
- /copilot/how-tos/copilot-cli/customize-copilot/create-skills
category:
- Configure Copilot # Copilot discovery page
- Author and optimize with Copilot # Copilot discovery page
Expand All @@ -18,6 +20,12 @@ Agent skills are folders of instructions, scripts, and resources that {% data va

{% data reusables.copilot.creating-adding-skills %}

1. Start a CLI session, or if you are currently in a CLI session enter `/skills reload`.
1. Enter `/skills info SKILL-NAME` to check that the skill has reloaded.

SKILL-NAME is defined in the SKILL.md file and is typically the same as the name of the skill directory.


## Using agent skills

{% data reusables.copilot.skills-using %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ children:
- /overview
- /add-custom-instructions
- /use-hooks
- /create-skills
- /add-skills
- /add-mcp-servers
- /create-custom-agents-for-cli
- /use-byok-models
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ For more information, see [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-cop

Skills are folders of instructions, scripts, and resources that {% data variables.product.prodname_copilot_short %} can load to improve its performance on specialized tasks. By adding skills to your project, you can give {% data variables.product.prodname_copilot_short %} extra knowledge or tools for particular workflows, technologies, or domains.

For more information, see [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/create-skills).
For more information, see [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-skills).

## Custom agents

Expand Down
4 changes: 3 additions & 1 deletion content/copilot/how-tos/copilot-cli/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,18 @@ children:
- /content/copilot/concepts/agents/copilot-cli/about-remote-access
- /content/copilot/concepts/agents/copilot-cli/fleet
- /content/copilot/concepts/agents/copilot-cli/research
- /content/copilot/concepts/agents/copilot-cli/lsp-servers
- /content/copilot/concepts/agents/copilot-cli/chronicle
- /content/copilot/concepts/agents/copilot-cli/context-management
- /set-up-copilot-cli/install-copilot-cli
- /set-up-copilot-cli/configure-copilot-cli
- /set-up-copilot-cli/add-lsp-servers
- /automate-copilot-cli/quickstart
- /automate-copilot-cli/automate-with-actions
- /automate-copilot-cli/run-cli-programmatically
- /customize-copilot/add-custom-instructions
- /customize-copilot/create-custom-agents-for-cli
- /customize-copilot/create-skills
- /customize-copilot/add-skills
- /customize-copilot/plugins-creating
- /customize-copilot/plugins-finding-installing
- /customize-copilot/plugins-marketplace
Expand Down
Loading
Loading