This repository enables feedback and communication about the Arm for GitHub Copilot extension. It is actively updated and easy to get started.
Introduction • Installation • Value • Example Usage • Additional Information
The Arm extension provides tips, best-practice, and code examples to develop better code on Arm-based servers. All Arm-cloud developers, from beginners to experts, can benefit from using this integration. Arm-based servers offer exceptional price performance and are available across cloud providers, including AWS, Google Cloud, Microsoft Azure, Oracle, and Alibaba
It is free and easy to start. Make sure you (1) have a GitHub Copilot license, (2) install the Arm extension from the GitHub Marketplace, and (3) call @arm
from your GitHub Copilot chat on GitHub or your favorite code editor. The first time you call @arm
you will have to authorize the extension by clicking through a few screens. Then start using @arm
as much as you'd like.
Our extension adds Arm-specific depth to GitHub Copilot in two primary ways. First, by ensuring responses are specific to the Arm-architecture. Calling @arm
will ensure any tips, best-practice, and code snippets have the Arm architecture in mind. Default Copilot responses may provide information not-applicable to Arm-based cloud development.
Second, by ensuring responses consist of the most relevant and up-to-date information in an ever-evolving industry. The @arm
extension is built on a constantly updated RAG database of high-quality source material containing the most recent best-practices & code examples for Arm servers. Default Copilot responses may not reference the most up-to-date information possible.
The current scope for the @arm
extension is to assist Arm-based cloud developers in three specific areas: Migration, Optimization, and CI/CD pipelines. It also handles basic coding advice for Arm-based servers.
Port your project to the Arm architecture faster by asking about general best-practices, software compatibility, even how to migrate intrinsics to Arm. Examples:
@arm What is the best methodology for me to migrate my web service to Azure?
@arm Does Hyperscan and Snort3 work on Graviton4? What versions should I use?
@arm What is the Arm equivalent of the _mm_add_epi8 intrinsic?
Get the best price performance for your project by asking about general best-practices, application-level tips, and how to take advantage of specific Arm architecture features. Examples:
@arm Explain how to optimize my app's performance with BOLT?
@arm Help me improve memory alignment in my C data structures.
@arm How do I check if my Arm server supports LSE? I want to leverage it for my Rust app.
Learn to create an end-to-end tested & supported Arm-based project by asking about general best-practices, container management, and your specific pipeline setup. Examples:
@arm How should I set up a multi-architecture CI pipeline in GitHub Actions?
@arm How do I build multi-architecture Docker images?
@arm How can I automate the deployment of an Arm virtual machine on GCP with Terraform?
Get straightforward, simple approaches to building the best apps on Arm servers starting from the basics. Example:
@arm I am trying to compile C++ code for the Arm architecture. Which compiler should I use?
This table highlights the support status of features for this extension vs standard Github Copilot.
Feature | @arm support | Standard Copilot | Rationale |
---|---|---|---|
Ask questions | ✅ | ✅ | Fundamental feature |
Arm-specific responses | ✅ | ❌ | Built into @arm |
Expert-validated references for Arm servers | ✅ | ❌ | Built into @arm |
Using @workspace | ❌ | ✅ | Copilot does not support two @ extensions simultaneously |
Access current file/repo context on Github.com | ❌ | ✅ | Copilot currently not enabling for extensions |
Access current file/repo context in an IDE | ❌ | ✅ | Copilot currently not enabling for extensions |
Key:
- ✅ Supported
- ❌ Not Supported
We think transparency is essential when it comes to AI products. Our @arm
extension respects your privacy. We do not sell your data to third parties. We do log conversations for the purposes of product improvement only, with all Personally Identifiable Information (such as your GitHub username) removed. For more details view our privacy policy and EULA.
We continue to update and expand the scope of the @arm
GitHub Copilot extension. Any updates will be communicated here in this repository. If you have thoughts about what @arm
should help with, any data sources @arm
should be prioritizing, or otherwise please file an issue on the @arm Issue Tracker. Your feedback is appreciated, and helps us shape the future of this extension and beyond!
- Join the Arm Developer Program to talk other like-minded developers and Arm Experts about software development.