Skip to main content
Devin works inside a persistent environment snapshot. Every session starts by booting a fresh copy of that snapshot, so the more complete your setup is, the less time Devin wastes installing tools. The new Repo Setup flow is designed to be fast and low-friction:
  • Configure repos without opening VS Code (no snapshot lock)
  • Add multiple repositories at once
  • AI suggestions + verification run asynchronously

Before you start: grant repository access

Make sure Devin can read the repositories you want.
Need help with permissions? Refer to the GitHub Integration Guide.

Add repositories (one or many)

Go to Settings > Devin’s Environment > Repositories.
  1. Click Add repository
  2. Select the one or more repos you want to configure
  3. Click Manage setup
That’s it—you’ll land in the setup screen with your selected repos listed on the left. You can also bulk clone multiple repositories at once by selecting them in the repository list and clicking the “Clone repositories” action, which is useful when onboarding many repos simultaneously.
Adding a repo starts in the background. You don’t have to wait for them to finish to keep configuring.

Configure each repository (lightweight)

Pick a repo from the left sidebar. Each repo has three sections:
1

Clone Repository

Cloning puts the repo into the environment so it’s available in future sessions under ~/repos/.
  • If you want Devin to actively work in the repo: clone it
  • If you’re just setting up commands for later: you can leave it uncloned for now
2

Upkeep

These commands run automatically to keep Devin synced.
  • Git pull: runs during session startup (default is usually correct)
  • Maintain dependencies: optional, but recommended (e.g. npm ci, pip install -r requirements.txt, uv sync, etc.)
Use Verify to sanity-check an individual command, or Verify All to run everything.
Verification runs asynchronously—you can switch repos or leave the page while it completes.
3

Knowledge

This is where you teach Devin how to check work quality.
  • Set up lint (fast, ideally ≤ 5 minutes)
  • Set up tests (fast, ideally ≤ 5 minutes)
  • Add any repo-specific notes Devin should follow (how to run the app, special scripts, etc.)
If AI suggestions are available, you’ll see a card with Accept / Reject. Accepting will prefill common commands (lint/tests/etc.) based on your repo.
Prefer a single “entrypoint” command like make lint / make test if you have it. It’s the most durable setup.

AI Suggestions

Devin can propose repo-specific setup commands (lint, tests, dependency upkeep, and common run targets). These suggestions are asynchronous and non-blocking — they’re meant to save you typing, not slow you down. Lifecycle
  1. As soon as you start configuring a repository, Devin automatically kicks off AI suggestions in the background.
  2. Suggestions may take a while depending on repo size and complexity. You can keep configuring other fields or switch repos while they’re running.
  3. When suggestions are ready, they appear inline next to each relevant command field with Accept / Reject buttons. Accepting prefills the command; rejecting leaves your setup unchanged.
  4. If your repo changed or the suggestions missed something, open the ⋯ menu in the top-right and click “Regenerate Suggestions”.

Configure the environment (only when you need to)

Repo setup is mostly text fields + verification. You only need to open the machine when you actually want to:
  • install tools (compilers, package managers, CLIs)
  • log into websites Devin needs (Browser tab)
  • create local files like .envrc or .env
Click Environment Setup in the left sidebar, then:
  1. (Optional) adjust Upkeep Frequency (how often Devin runs upkeep tasks to keep the env fresh)
  2. Click Open VSCode + Browser
At this point, Devin locks the environment so your changes are consistent. Inside the embedded VS Code:
  • run your bootstrap/install steps in the terminal
  • confirm ~/repos/<repo> exists and builds/tests run
  • use the Setup Agent prompt if you want AI help creating the right install commands
When you’re done, click Save to write the changes.
Anything you install here becomes part of the shared environment and may affect other repos. If you need isolation, prefer per-repo virtual environments / containers.

What Devin will do in every session

Once configured:
  • Devin boots a new session from your latest environment’s snapshot
  • On startup, Devin runs:
    • the repo’s Git pull command
    • then Maintain dependencies (if provided)
  • Before committing, Devin runs:
    • your lint commands
    • your test commands

If you want the simplest setup that still works well:
  1. Keep the default Git pull command
  2. Set Maintain dependencies to one command (e.g. npm ci / uv sync / pip install -r requirements.txt)
  3. Grab some coffee. You are done!

Troubleshooting

Verification failed but it works for me

Most failures are one of these:
  • Wrong working directory → use cd ~/repos/<repo> && …
  • Tool not on PATH → add it to PATH in your shell config (or use absolute paths)
  • Missing dependencies → install them during Environment Setup, then re-verify
  • Wrong language version → ensure the version is selected in non-interactive shells (fresh terminal)

I broke my environment snapshot

You can restore an older image from Settings → Devin’s Environment → Version History.

Need to edit later?

Go back to Settings → Devin’s Environment → Repositories.
  • Add more repos anytime
  • Select repos and click Configure to revisit setup
  • Use Version History if you need to roll back

All done

Once your repos and environment are set up, you’re ready to start a session. If you get stuck, reach out to support@cognition.ai.