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

# Crea una guida di onboarding a Devin specifica per il team

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="Genera una guida di onboarding a Devin specifica per il team" description="Devin legge la propria documentazione e genera una guida introduttiva personalizzata per lo stack, le integrazioni e i flussi di lavoro del tuo team — pronta da condividere in Notion o Slack." prompt="Leggi la documentazione di Devin e crea una guida introduttiva per il nostro team di ingegneria. Concentrati su: avviare sessioni da Slack, scrivere prompt efficaci, configurare le nostre integrazioni con Linear e GitHub, creare playbook e gestire Knowledge. Formattala come una pagina di Notion che possiamo condividere in #engineering." category="Ottimizzazione di Devin" features="MCP" />

<div className="uc-detail-wrapper">
  <Tip>Non vuoi configurarlo manualmente? Incolla un collegamento a questa pagina in una sessione di Devin e chiedigli di impostare tutto per te.</Tip>

  <Steps>
    <Step title="Chiedi a Devin di generare la guida">
      Devin ha accesso integrato alla propria documentazione tramite il [Devin Docs MCP](/it/work-with-devin/devin-mcp) — non è necessario alcun setup o configurazione. Può cercare e leggere su richiesta l'intero sito di documentazione, la reference delle API, il changelog e le best practice.

      Invece di inviare ai nuovi ingegneri un elenco di link alla documentazione, chiedi a Devin di sintetizzare esattamente ciò di cui il tuo team ha bisogno in un'unica guida di onboarding con prompt, flussi di lavoro ed esempi personalizzati per il tuo stack.

      <PromptBlock>
        ```txt Generate a team-specific onboarding guide theme={null}
        Leggi la documentazione di Devin e crea una guida introduttiva
        per il nostro team di ingegneria. La guida deve coprire:

        1. Come iniziare una sessione (Slack vs. web app — quando usare l'uno o l'altra)
        2. Scrivere prompt efficaci (includi percorsi dei file, contesto degli errori, ambito)
        3. Configurare la nostra integrazione con Linear per flussi di lavoro guidati dai ticket
        4. Creare playbook per le nostre migrazioni ricorrenti da Express a Fastify
        5. Aggiungere voci in Knowledge per le convenzioni della nostra base di codice
           (ad es. "tutte le route API si trovano in src/routes/, esegui npm run test:api")

        Adatta ogni esempio al nostro stack: Node.js, React, PostgreSQL.
        Formatta l'output come una pagina Notion che possiamo incollare in #engineering.
        ```
      </PromptBlock>
    </Step>

    <Step title="Esamina la guida generata">
      Devin effettua ricerche nella propria documentazione per ogni argomento, legge le pagine rilevanti e sintetizza una guida di onboarding completa, personalizzata per il tuo stack e il tuo flusso di lavoro. Ecco come si presenta l'output:

      ```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
      Aggiungi le convenzioni del team in Impostazioni > Knowledge > Crea 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="Amplia la guida con i follow-up">
      Mantieni aperta la stessa sessione — Devin conserva il contesto e può estendere la guida con sezioni aggiuntive.

      <PromptBlock>
        ```txt Add a prompt templates section theme={null}
        Aggiungi una nuova sezione alla guida: "Modelli di prompt da copiare e incollare".
        Includi 6 modelli che il nostro team possa riutilizzare per attività comuni:
        correzione di bug, implementazione di funzionalità, copertura dei test,
        migrazioni del database, aggiornamenti delle dipendenze e debug della CI.
        Ogni modello dovrebbe avere segnaposto come [file path],
        [error message] e [ticket link].
        ```
      </PromptBlock>

      <PromptBlock>
        ```txt Add a "What's New" section from the changelog theme={null}
        Leggi le note di rilascio di Devin e aggiungi una sezione "Novità"
        alla guida che copra le funzionalità rilasciate nell'ultimo mese.
        Metti in evidenza qualsiasi elemento che cambi il modo in cui usiamo i Playbooks,
        le sessioni programmate o l'API.
        ```
      </PromptBlock>

      <PromptBlock>
        ```txt Add a Knowledge vs. Playbooks decision table theme={null}
        Aggiungi una sezione alla guida che spieghi quando usare Knowledge
        anziché i Playbooks. Includi una tabella comparativa e 3 esempi
        concreti da un progetto Node.js che mostrino quale sia la scelta migliore
        per ciascuno scenario.
        ```
      </PromptBlock>
    </Step>

    <Step title="Condividi la guida e tienila aggiornata">
      Una volta che la guida ti sembra valida, condividila e salvala come [Knowledge](/it/product-guides/knowledge) così che Devin possa fare riferimento alle convenzioni del tuo team:

      1. **Condividi la guida** — incolla la pagina Notion nel tuo canale `#engineering` oppure mettila in evidenza nella wiki del tuo team
      2. **Salvala come Knowledge** — vai su **Settings > Knowledge > Crea Knowledge**, imposta il trigger su `"onboarding new team members to Devin"`, incolla il contenuto della guida e fissala in **tutti i repository**

      Ora, quando un membro del team chiede a Devin "come dovrei scrivere i prompt?" oppure "come collego Linear?", Devin attinge dalla tua guida personalizzata — non da documentazione generica.

      Man mano che Devin rilascia nuove funzionalità, chiedigli di aggiornare la guida nello stesso formato di sessione: *"Leggi l'ultimo [changelog](/it/release-notes/overview) e aggiorna la nostra guida di onboarding con tutte le nuove funzionalità che influiscono sui nostri workflow."*
    </Step>
  </Steps>
</div>
