Skip to content

GitHub

SlopCode s’intègre à votre flux de travail GitHub. Mentionnez /slopcode ou /sc dans votre commentaire, et SlopCode exécutera des tâches dans votre runner GitHub Actions.


Fonctionnalités

  • Triage des issues : demandez à SlopCode d’examiner une issue et de vous l’expliquer.
  • Correction et implémentation : demandez à SlopCode de résoudre un problème ou d’implémenter une fonctionnalité. Il travaillera dans une nouvelle branche et soumettra une PR avec tous les changements.
  • Sécurisé : SlopCode s’exécute à l’intérieur de vos runners GitHub.

Installation

Exécutez la commande suivante dans un projet qui se trouve dans un dépôt GitHub :

Terminal window
slopcode github install

Cela vous guidera dans l’installation de l’application GitHub, la création du workflow et la configuration des secrets.


Configuration manuelle

Ou vous pouvez le configurer manuellement.

  1. Installez l’application GitHub

Rendez-vous sur github.com/apps/slopcode-agent. Assurez-vous qu’il est installé sur le dépôt cible.

  1. Ajouter le workflow

Ajoutez le fichier de workflow suivant à .github/workflows/slopcode.yml dans votre dépôt. Assurez-vous de définir les clés model appropriées et les clés API requises dans env.

.github/workflows/slopcode.yml
name: slopcode
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
slopcode:
if: |
contains(github.event.comment.body, '/sc') ||
contains(github.event.comment.body, '/slopcode')
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 1
persist-credentials: false
- name: Run SlopCode
uses: grappeggia/slopcode/github@latest
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
with:
model: anthropic/claude-sonnet-4-20250514
# share: true
# github_token: xxxx
  1. Stockez les clés API dans les secrets

Dans les paramètres de votre organisation ou de votre projet, développez Secrets et variables sur la gauche et sélectionnez Actions. Puis ajoutez les clés API requises.


Configuration

  • model : Le modèle à utiliser avec SlopCode. Prend le format provider/model. Ceci est obligatoire.
  • agent : l’agent à utiliser. Doit être un agent primaire. Revient à default_agent à partir de la configuration ou à "build" s’il n’est pas trouvé.
  • share : s’il faut partager la session SlopCode. La valeur par défaut est true pour les référentiels publics.
  • prompt : prompt personnalisé facultatif pour remplacer le comportement par défaut. Utilisez-le pour personnaliser la façon dont SlopCode traite les demandes.
  • token : jeton d’accès GitHub facultatif pour effectuer des opérations telles que la création de commentaires, le commit de modifications et l’ouverture de pull requests. Par défaut, SlopCode utilise le jeton d’accès à l’installation de l’application SlopCode GitHub, de sorte que les commits, les commentaires et les pull requests apparaissent comme provenant de l’application.

Vous pouvez également utiliser le GITHUB_TOKEN](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) intégré du runner GitHub Actions sans installer l’application SlopCode GitHub. Assurez-vous simplement d’accorder les autorisations requises dans votre workflow :

permissions:
id-token: write
contents: write
pull-requests: write
issues: write

Vous pouvez également utiliser un jeton d’accès personnel(PAT) si vous préférez.


Événements supportés

SlopCode peut être déclenché par les événements GitHub suivants :

Type d’événementDéclenché parDétails
issue_commentCommentaire sur une issue ou une PRMentionnez /slopcode ou /sc dans votre commentaire. SlopCode lit le contexte et peut créer des branches, ouvrir des PR ou répondre.
pull_request_review_commentCommentaire sur des lignes de code spécifiques dans une PRMentionnez /slopcode ou /sc lors de la révision du code. SlopCode reçoit le chemin du fichier, les numéros de ligne et le contexte de comparaison.
issuesIssue ouverte ou modifiéeDéclenchez automatiquement SlopCode lorsque des issues sont créées ou modifiées. Nécessite une entrée prompt.
pull_requestPR ouverte ou mise à jourDéclenchez automatiquement SlopCode lorsque les PR sont ouvertes, synchronisées ou rouvertes. Utile pour les revues automatisées.
schedulePlanification basée sur CronExécutez SlopCode selon un planning. Nécessite une entrée prompt. La sortie va aux journaux et aux PR (pas de commentaire sur les issues).
workflow_dispatchDéclenchement manuel depuis l’interface utilisateur GitHubDéclenchez SlopCode à la demande via l’onglet Actions. Nécessite une entrée prompt. La sortie va aux journaux et aux PR.

Exemple de planification

Exécutez SlopCode selon un planning pour effectuer des tâches automatisées :

.github/workflows/slopcode-scheduled.yml
name: Scheduled SlopCode Task
on:
schedule:
- cron: "0 9 * * 1" # Every Monday at 9am UTC
jobs:
slopcode:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
pull-requests: write
issues: write
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Run SlopCode
uses: grappeggia/slopcode/github@latest
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
with:
model: anthropic/claude-sonnet-4-20250514
prompt: |
Review the codebase for any TODO comments and create a summary.
If you find issues worth addressing, open an issue to track them.

Pour les événements planifiés, l’entrée prompt est obligatoire car il n’y a aucun commentaire pour extraire les instructions. Les workflows planifiés s’exécutent sans contexte utilisateur pour vérifier les autorisations. Le workflow doit donc accorder contents: write et pull-requests: write si vous vous attendez à ce que SlopCode crée des branches ou des PR.


Exemple de Pull Request

Examinez automatiquement les PR lorsqu’ils sont ouverts ou mis à jour :

.github/workflows/slopcode-review.yml
name: slopcode-review
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
jobs:
review:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
pull-requests: read
issues: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: grappeggia/slopcode/github@latest
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
model: anthropic/claude-sonnet-4-20250514
use_github_token: true
prompt: |
Review this pull request:
- Check for code quality issues
- Look for potential bugs
- Suggest improvements

Pour les événements pull_request, si aucun prompt n’est fourni, SlopCode examine par défaut la pull request.


Exemple de Triage d’Issue

Triez automatiquement les nouvelles issues. Cet exemple filtre les comptes datant de plus de 30 jours pour réduire le spam :

.github/workflows/slopcode-triage.yml
name: Issue Triage
on:
issues:
types: [opened]
jobs:
triage:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
pull-requests: write
issues: write
steps:
- name: Check account age
id: check
uses: actions/github-script@v7
with:
script: |
const user = await github.rest.users.getByUsername({
username: context.payload.issue.user.login
});
const created = new Date(user.data.created_at);
const days = (Date.now() - created) / (1000 * 60 * 60 * 24);
return days >= 30;
result-encoding: string
- uses: actions/checkout@v6
if: steps.check.outputs.result == 'true'
with:
persist-credentials: false
- uses: grappeggia/slopcode/github@latest
if: steps.check.outputs.result == 'true'
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
with:
model: anthropic/claude-sonnet-4-20250514
prompt: |
Review this issue. If there's a clear fix or relevant docs:
- Provide documentation links
- Add error handling guidance for code examples
Otherwise, do not comment.

Pour les événements issues, l’entrée prompt est obligatoire car il n’y a aucun commentaire à partir duquel extraire les instructions.


Invites personnalisées

Remplacez l’invite par défaut pour personnaliser le comportement de SlopCode pour votre workflow.

.github/workflows/slopcode.yml
- uses: grappeggia/slopcode/github@latest
with:
model: anthropic/claude-sonnet-4-5
prompt: |
Review this pull request:
- Check for code quality issues
- Look for potential bugs
- Suggest improvements

Ceci est utile pour appliquer des critères d’évaluation spécifiques, des normes de codage ou des domaines d’intervention pertinents pour votre projet.


Exemples

Voici quelques exemples de la façon dont vous pouvez utiliser SlopCode dans GitHub.

  • Expliquer une issue

Ajoutez ce commentaire dans une issue GitHub.

/slopcode explain this issue

SlopCode lira l’intégralité du fil de discussion, y compris tous les commentaires, et répondra avec une explication claire.

  • Résoudre une issue

Dans une issue GitHub, dites :

/slopcode fix this

Et SlopCode créera une nouvelle branche, mettra en œuvre les modifications et ouvrira une PR avec les modifications.

  • Examinez les PR et apportez des modifications

Laissez le commentaire suivant sur une PR GitHub.

Delete the attachment from S3 when the note is removed /sc

SlopCode mettra en œuvre la modification demandée et la validera dans la même PR.

  • Revue de lignes de code spécifiques

Laissez un commentaire directement sur les lignes de code dans l’onglet “Fichiers” de la PR. SlopCode détecte automatiquement le fichier, les numéros de ligne et le contexte de comparaison pour fournir des réponses précises.

[Comment on specific lines in Files tab]
/sc add error handling here

Lorsqu’il commente des lignes spécifiques, SlopCode reçoit :

  • Le fichier exact en cours d’examen
  • Les lignes de code spécifiques
  • Le contexte différentiel environnant
  • Informations sur le numéro de ligne

Cela permet des requêtes plus ciblées sans avoir besoin de spécifier manuellement les chemins de fichiers ou les numéros de ligne.