Skip to content

arm/copilot-extension

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 

Repository files navigation

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

Introduction

Example use-cases

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

Installation

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.

Why use @arm? Is it different than standard GitHub Copilot?

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.

What can I use @arm for?

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.

🚚 Migration

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?

📈 Optimization

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.

🛠️ CI/CD

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?

🚀 Getting Started on Arm servers

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?

Additional Information

Current & Future features

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

What information do you store?

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.

The future of the @arm extension

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!

Learn more about the Arm Developer ecosystem

  • Join the Arm Developer Program to talk other like-minded developers and Arm Experts about software development.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published