Anpassa Copilot

Mjukvaruutveckling med GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Mjukvaruutveckling med GitHub Copilot

Mjukvaruutveckling med GitHub Copilot

Mjukvaruutveckling med GitHub Copilot

Mjukvaruutveckling med GitHub Copilot

Så fungerar egna instruktioner

$$

Definiera:

  • Kodkonventioner
  • Verktygsval
  • Projektkontext

Mjukvaruutveckling med GitHub Copilot

Så fungerar egna instruktioner

$$

Definiera:

  • Kodkonventioner
  • Verktygsval
  • Projektkontext

Mjukvaruutveckling med GitHub Copilot

Så definierar du egna instruktioner

Lägg dem i: .github/copilot-instructions.md

## Project context
Python project for processing data pipelines with Airflow.

## Coding style - Use type hints for all functions
- Follow PEP8
- Use snake_case naming
- Write Google-style docstrings
## Testing - Use pytest
- Include one test per function
## More instructions...
Mjukvaruutveckling med GitHub Copilot

Vad gör en instruktion effektiv

$$

✅ Effektiva instruktioner:

  • Korta och specifika
  • Självständiga
  • Tillför kontext eller relevant information

$$

❌ Ineffektiva instruktioner:

  • Externa dokument eller repositorier
  • Specifik ton eller skrivstil
  • Begränsning av detaljer eller formatering
1 https://docs.github.com/en/copilot/how-tos/configure-custom-instructions/add-repository-instructions
Mjukvaruutveckling med GitHub Copilot

$$

$$

## Style guidelines

- Conform to the coding styles defined 
in styleguide.md in repo my-org/my-repo

- Answer in the style of a friendly 
colleague, using informal language

- Answer in fewer than 1,000 characters

Mjukvaruutveckling med GitHub Copilot

$$

$$

## Style guidelines

- Conform to the coding styles defined 
in styleguide.md in repo my-org/my-repo

- Answer in the style of a friendly 
colleague, using informal language

- Answer in fewer than 1,000 characters

Mjukvaruutveckling med GitHub Copilot

Så aktiverar du egna instruktioner

  • Spara filen copilot-instructions.md
  • Den inkluderas automatiskt i dina promptar

Mjukvaruutveckling med GitHub Copilot

Så aktiverar du egna instruktioner

  • Spara filen copilot-instructions.md
  • Den inkluderas automatiskt i dina promptar

Mjukvaruutveckling med GitHub Copilot

Använda flera instruktionsfiler

Mjukvaruutveckling med GitHub Copilot

Använda flera instruktionsfiler

Mjukvaruutveckling med GitHub Copilot

Använda flera instruktionsfiler

$$

Mjukvaruutveckling med GitHub Copilot

Ange instruktioner på organisationsnivå

$$

Mjukvaruutveckling med GitHub Copilot

Ange instruktioner på organisationsnivå

$$

Exempel på företagsövergripande regler:

  • Använd interna verktyg
  • Använd specifika bibliotek
  • Tillämpa konsekvent stil
  • Varna vid föråldrade mönster
Mjukvaruutveckling med GitHub Copilot

Prioritetsordning för instruktioner på flera nivåer

$$

$$

$$

Omfång Prioritet
Personliga instruktioner Högst
Projektinstruktioner Medel
Organisationsinstruktioner Lägst
Mjukvaruutveckling med GitHub Copilot

$$

Exempelprompt: "Write a function that calculates the average of a list of numbers."

def calculate_average(numbers: List[float]) -> float:
    """Calculate the average of a list of numbers.

    Args:
        numbers (List[float]): A list of numbers to average.

    Returns:
        float: The average value of the numbers.

    Raises:
        ValueError: If the list is empty.
    """
    if not numbers:
        raise ValueError("The list of numbers cannot be empty.")
    return sum(numbers) / len(numbers)
Mjukvaruutveckling med GitHub Copilot

$$

Exempelprompt: "Write a function that calculates the average of a list of numbers."

def calculate_average(numbers: List[float]) -> float:
    """Calculate the average of a list of numbers.

    Args:
        numbers (List[float]): A list of numbers to average.

    Returns:
        float: The average value of the numbers.

    Raises:
        ValueError: If the list is empty.
    """
    if not numbers:
        raise ValueError("The numbers list cannot be empty.")
    return sum(numbers) / len(numbers)

$$

Mjukvaruutveckling med GitHub Copilot

Nu kör vi en övning!

Mjukvaruutveckling med GitHub Copilot

Preparing Video For Download...