> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Générer un guide d’intégration Devin spécifique à une équipe

export const UseCaseHero = ({title, description, prompt, category, features, devinUrl, agent, intent, playbookId, type}) => {
  const encodedPrompt = encodeURIComponent(prompt || '');
  const tag = 'docs-use-case-gallery';
  const utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=hero-cta';
  const agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  const devinHref = type === 'schedule' ? 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + (prompt ? '&prompt=' + encodedPrompt : '') : type === 'review' ? 'https://app.devin.ai/review?' + utm : agent === 'ada' ? 'https://app.devin.ai/search?' + utm + '&noSubmit=true' + (prompt ? '&prompt=' + encodedPrompt : '') : devinUrl ? devinUrl.includes('?') ? devinUrl + '&' + utm + agentParams : devinUrl + '?' + utm + agentParams : prompt ? 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encodedPrompt : 'https://app.devin.ai/?' + utm + agentParams;
  const buttonLabel = type === 'schedule' ? 'Schedule in Devin ↗' : type === 'review' ? 'Set Up Devin Review ↗' : agent === 'advanced' ? 'Try in Devin ↗' : agent === 'dana' ? 'Try in Dana ↗' : agent === 'ada' ? 'Try in Ask Devin ↗' : 'Try in Devin ↗';
  const featureList = features ? features.split(',').map(f => f.trim()) : [];
  return <div className="uc-hero">
      <div className="uc-hero-inner">
        <div className="uc-hero-left">
          <h1 className="uc-hero-title">{title}</h1>
          <p className="uc-hero-desc">{description}</p>
          <div>
            <a href={devinHref} target="_blank" rel="noopener noreferrer" className="try-in-devin-btn">
              {buttonLabel}
            </a>
          </div>
        </div>
        <div className="uc-hero-meta">
          <div className="uc-meta-item">
            <span className="uc-meta-label">Author</span>
            <span className="uc-meta-value">Cognition</span>
          </div>
          <div className="uc-meta-item">
            <span className="uc-meta-label">Category</span>
            <span className="uc-meta-value">{category}</span>
          </div>
          {featureList.length > 0 && <div className="uc-meta-item">
              <span className="uc-meta-label">Features</span>
              <span className="uc-meta-value">{featureList.join(', ')}</span>
            </div>}
        </div>
      </div>
    </div>;
};

export const PromptBlock = ({children, type, agent, intent, playbookId}) => {
  var utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=prompt-block';
  var tag = 'docs-use-case-gallery';
  var agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  var label = type === 'schedule' ? 'Schedule in Devin' : type === 'playbook' ? 'Create Playbook' : type === 'knowledge' ? 'Add to Knowledge' : agent === 'advanced' ? 'Try in Devin' : agent === 'dana' ? 'Try in Dana' : agent === 'ada' ? 'Try in Ask Devin' : 'Try in Devin';
  var buildUrl = function (text) {
    var encoded = encodeURIComponent(text);
    if (type === 'schedule') return 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + '&prompt=' + encoded;
    if (type === 'playbook') return 'https://app.devin.ai/settings/playbooks/create?' + utm + '&body=' + encoded;
    if (type === 'knowledge') return 'https://app.devin.ai/knowledge?' + utm + '&body=' + encoded;
    if (agent === 'ada') return 'https://app.devin.ai/search?' + utm + '&noSubmit=true&prompt=' + encoded;
    return 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encoded;
  };
  const ref = React.useRef(null);
  const [href, setHref] = React.useState('#');
  React.useEffect(() => {
    if (!ref.current) return;
    var codeEl = ref.current.querySelector('pre code');
    if (codeEl) {
      var text = codeEl.textContent.trim();
      if (text) setHref(buildUrl(text));
    }
    var header = ref.current.querySelector('[data-component-part="code-block-header"]');
    if (header && !header.querySelector('.prompt-block-devin-link')) {
      var link = document.createElement('a');
      link.href = href;
      link.target = '_blank';
      link.rel = 'noopener noreferrer';
      link.className = 'prompt-block-devin-link';
      link.style.cssText = 'display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#fff;font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;white-space:nowrap;background:#317CFF;transition:background 0.2s;margin-left:8px;';
      link.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg> ' + label;
      link.onmouseenter = function () {
        link.style.background = '#2968D9';
      };
      link.onmouseleave = function () {
        link.style.background = '#317CFF';
      };
      header.appendChild(link);
    }
    var existingLink = ref.current.querySelector('.prompt-block-devin-link');
    if (existingLink && href !== '#') existingLink.href = href;
  });
  return <div className="prompt-block" ref={ref}>{children}</div>;
};

<UseCaseHero title="Générer un guide d’intégration à Devin propre à votre équipe" description="Devin lit sa propre documentation et génère un guide de prise en main personnalisé pour la stack, les intégrations et les workflows de votre équipe — prêt à être partagé dans Notion ou Slack." prompt="Lisez la documentation de Devin et créez un guide de prise en main pour notre équipe d’ingénierie. Concentrez-vous sur : le démarrage de sessions depuis Slack, la rédaction de prompts efficaces, la configuration de nos intégrations Linear et GitHub, la création de playbooks et la gestion de Knowledge. Adaptez les exemples à une stack Node.js/React. Formatez le tout comme une page Notion que nous pouvons partager dans #engineering." category="Optimisation de Devin" features="MCP" />

<div className="uc-detail-wrapper">
  <Tip>Vous ne souhaitez pas effectuer cette configuration manuellement ? Collez un lien vers cette page dans une session Devin et demandez-lui de tout configurer pour vous.</Tip>

  <Steps>
    <Step title="Demandez à Devin de créer votre guide">
      Devin dispose d’un accès intégré à sa propre documentation via le [Devin Docs MCP](/fr/work-with-devin/devin-mcp) — aucune configuration ni installation requise. Il peut, à la demande, rechercher et lire l’intégralité du site de documentation, la référence d’API, le changelog et les bonnes pratiques.

      Au lieu d’envoyer aux nouveaux ingénieurs une liste de liens vers la documentation, demandez à Devin de synthétiser exactement ce dont votre équipe a besoin dans un guide d’onboarding unique, avec des prompts, des workflows et des exemples adaptés à votre stack.

      <PromptBlock>
        ```txt Générer un guide d’onboarding spécifique à l’équipe theme={null}
        Lis la documentation de Devin et crée un guide de démarrage
        pour notre équipe d’ingénierie. Le guide doit couvrir :

        1. Comment démarrer une session (Slack vs application web — quand utiliser chaque option)
        2. Rédiger des prompts efficaces (inclure les chemins de fichiers, le contexte d’erreur, le périmètre)
        3. Configurer notre intégration Linear pour des workflows pilotés par les tickets
        4. Créer des playbooks pour nos migrations récurrentes d’Express vers Fastify
        5. Ajouter des entrées Knowledge pour les conventions de notre base de code
           (par exemple : "toutes les routes d’API se trouvent dans src/routes/, exécuter npm run test:api")

        Adapte chaque exemple à notre stack : Node.js, React, PostgreSQL.
        Formate le résultat comme une page Notion que nous pouvons coller dans #engineering.
        ```
      </PromptBlock>
    </Step>

    <Step title="Passez en revue le guide généré">
      Devin parcourt sa documentation pour chaque sujet, lit les pages pertinentes et synthétise un guide d’intégration complet, adapté à votre stack et à votre workflow. Voici à quoi ressemble le résultat :

      ```markdown theme={null}
      # Getting Started with Devin — Acme Engineering Team

      ## 1. Starting a Session
      | Method | When to use | Example |
      |--------|-------------|--------|
      | **Slack** — message @Devin | Quick, scoped tasks | "Fix the failing CI in api-service" |
      | **Web app** — app.devin.ai | Longer tasks needing file attachments or playbooks | Attach a migration playbook + spec file |

      ## 2. Writing Effective Prompts
      Devin works best with specific, scoped requests. Always include
      the file path, what's broken, and when it started.

      ❌ "Fix the login bug"
      ✅ "The login form at src/pages/Login.tsx returns a 401 for valid
         credentials since the JWT key rotation on Friday. Check the
         auth middleware at src/middleware/auth.ts."

      ## 3. Linear Integration
      Go to Settings > Connections > Linear and authorize. Once
      connected, Devin can:
      - Pick up tickets assigned to it automatically
      - Update ticket status as it works
      - Link PRs to the originating Linear ticket

      See the full setup guide: docs.devin.ai/integrations/linear

      ## 4. Playbooks for Recurring Tasks
      Create reusable prompts at Settings > Playbooks > Create New.
      For our Express-to-Fastify migration, the playbook should include:
      - The target module path (e.g., src/services/payments/)
      - Test commands: npm run test:api && npm run test:integration
      - Rollback steps if the migration breaks downstream consumers

      ## 5. Knowledge — Teaching Devin Our Conventions
      Add team conventions at Settings > Knowledge > Create knowledge.

      Example entry:
        Trigger: "working on API routes"
        Content: "We use Fastify, not Express. All routes live in
        src/routes/. Run npm run test:api before committing.
        Error responses must use the ApiError class from src/lib/errors.ts."
      ```
    </Step>

    <Step title="Compléter le guide avec des actions de suivi">
      Gardez la même session ouverte — Devin conserve le contexte et peut étendre le guide avec des sections supplémentaires.

      <PromptBlock>
        ```txt Add a prompt templates section theme={null}
        Ajoutez une nouvelle section au guide : « Modèles de prompts à copier-coller ».
        Incluez 6 modèles que notre équipe peut réutiliser pour les tâches courantes :
        corrections de bugs, implémentation de fonctionnalités, couverture de tests, migrations
        de base de données, mises à jour de dépendances et débogage de la CI.
        Chaque modèle doit comporter des variables comme [file path],
        [error message] et [ticket link].
        ```
      </PromptBlock>

      <PromptBlock>
        ```txt Add a "What's New" section from the changelog theme={null}
        Lisez les notes de version de Devin et ajoutez une section « Nouveautés »
        au guide, couvrant les fonctionnalités publiées au cours du dernier mois.
        Mettez en avant tout ce qui modifie notre utilisation des playbooks,
        des sessions planifiées ou de l’API.
        ```
      </PromptBlock>

      <PromptBlock>
        ```txt Add a Knowledge vs. Playbooks decision table theme={null}
        Ajoutez une section au guide expliquant quand utiliser Knowledge
        plutôt que les Playbooks. Incluez un tableau comparatif et 3 exemples
        concrets issus d’un projet Node.js montrant ce qui est le plus adapté
        pour chaque scénario.
        ```
      </PromptBlock>
    </Step>

    <Step title="Partagez ce guide et tenez-le à jour">
      Une fois que le guide vous convient, partagez-le et enregistrez-le comme [Knowledge](/fr/product-guides/knowledge) afin que Devin lui-même puisse se référer aux conventions de votre équipe :

      1. **Partagez le guide** — collez le lien de la page Notion dans votre canal `#engineering` ou épinglez-la dans le wiki de votre équipe
      2. **Enregistrez-le comme Knowledge** — allez dans **Settings > Knowledge > Create knowledge**, définissez le déclencheur sur « onboarding new team members to Devin », collez le contenu du guide et épinglez-le à **all repositories**

      Désormais, lorsqu’un membre de l’équipe demande à Devin « Comment dois-je rédiger mes prompts ? » ou « Comment connecter Linear ? », Devin s’appuie sur votre guide personnalisé — et non sur la documentation générique.

      À mesure que Devin publie de nouvelles fonctionnalités, demandez-lui de mettre à jour le guide dans le même format de session : *« Lis le dernier [changelog](/fr/release-notes/overview) et mets à jour notre guide d’onboarding avec toutes les nouvelles fonctionnalités qui impactent nos workflows. »*
    </Step>
  </Steps>
</div>
