# Introduction
Source: https://docs.augmentcode.com/introduction

Augment is the developer AI platform that helps you understand code, debug issues, and ship faster because it understands your codebase. Use Chat, Next Edit, and Code Completions to get more done.

export const NextEditIcon = () => <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
        <g fill="none" fill-rule="evenodd">
            <path fill="#868686" d="M11.007 7c.126 0 .225-.091.246-.232.288-1.812.611-2.241 2.522-2.515.14-.021.225-.12.225-.253 0-.126-.084-.225-.225-.246-1.918-.274-2.157-.681-2.522-2.536-.028-.127-.12-.218-.246-.218-.133 0-.232.091-.253.225-.288 1.848-.604 2.255-2.515 2.53-.14.027-.232.119-.232.245 0 .133.091.232.232.253 1.918.274 2.164.674 2.515 2.522.028.14.127.225.253.225Z" />
            <path fill="#A7A7A7" d="M14.006 8.8c.075 0 .135-.055.147-.14.173-1.087.367-1.344 1.514-1.508.084-.013.134-.072.134-.152 0-.076-.05-.135-.134-.148-1.151-.164-1.295-.408-1.514-1.521-.017-.076-.072-.131-.147-.131-.08 0-.14.055-.152.135-.173 1.109-.363 1.353-1.51 1.517-.084.017-.138.072-.138.148 0 .08.054.14.139.152 1.15.164 1.298.404 1.509 1.513.017.084.076.135.152.135Z" opacity=".6" />
            <g fill="#5f6368">
            <path fill-rule="nonzero" d="m5.983 4.612 4.22 4.22c.433.434.78.945 1.022 1.507l1.323 3.069a.908.908 0 0 1-1.192 1.192l-3.07-1.323a4.84 4.84 0 0 1-1.505-1.022L2.56 8.035l3.423-3.423Zm-.001 1.711L4.271 8.034l3.365 3.365c.27.271.582.497.922.67l.208.097 2.37 1.022-1.022-2.37a3.63 3.63 0 0 0-.61-.963l-.157-.167-3.365-3.365Zm-.706-2.417L1.854 7.327l-.096-.104a2.42 2.42 0 0 1 3.518-3.317Z" />
            <path d="m11.678 11.388.87 2.02a.908.908 0 0 1-1.192 1.192l-2.02-.87 2.342-2.342ZM5.303 3.933l4.9 4.9c.084.083.164.17.242.26L7.04 12.497a4.84 4.84 0 0 1-.26-.242l-4.9-4.9a2.42 2.42 0 0 1 3.422-3.422Z" />
            </g>
        </g>
    </svg>;

export const CodeIcon = () => <svg xmlns="http://www.w3.org/2000/svg" height="28px" viewBox="0 -960 960 960" width="28px" fill="#5f6368">
    <path d="M336-240 96-480l240-240 51 51-189 189 189 189-51 51Zm288 0-51-51 189-189-189-189 51-51 240 240-240 240Z" />
  </svg>;

export const ChatIcon = () => <svg xmlns="http://www.w3.org/2000/svg" height="28px" viewBox="0 -960 960 960" width="28px" fill="#5f6368">
    <path d="M864-96 720-240H360q-29.7 0-50.85-21.15Q288-282.3 288-312v-48h384q29.7 0 50.85-21.15Q744-402.3 744-432v-240h48q29.7 0 50.85 21.15Q864-629.7 864-600v504ZM168-462l42-42h390v-288H168v330ZM96-288v-504q0-29.7 21.15-50.85Q138.3-864 168-864h432q29.7 0 50.85 21.15Q672-821.7 672-792v288q0 29.7-21.15 50.85Q629.7-432 600-432H240L96-288Zm72-216v-288 288Z" />
  </svg>;

<img className="block rounded-xl" src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/augment-hero-sm.png" alt="Augment Code" />

## Get started in minutes

Augment works with your favorite IDE and your favorite programming language. Download the extension, sign in, and get coding.

<CardGroup cols={3}>
  <Card href="/setup-augment/install-visual-studio-code">
    <img className="w-12 h-12" src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/vscode-icon.svg" alt="Visual Studio Code" />

    <h2 className="pt-4 font-semibold text-base text-gray-800 dark:text-white">
      Visual Studio Code
    </h2>

    <p>
      Get completions, chat, and instructions in your favorite open source
      editor.
    </p>
  </Card>

  <Card className="bg-red" href="/setup-augment/install-jetbrains-ides">
    <img className="w-12 h-12" src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/jetbrains-icon.svg" alt="JetBrains IDEs" />

    <h2 className="pt-4 font-semibold text-base text-gray-800 dark:text-white">
      JetBrains IDEs
    </h2>

    <p>
      Completions are available for all JetBrains IDEs, like WebStorm, PyCharm,
      and IntelliJ.
    </p>
  </Card>

  <Card className="bg-red" href="/setup-augment/install-vim-neovim">
    <img className="w-12 h-12" src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/neovim-logo.svg" alt="Vim and Neovim" />

    <h2 className="pt-4 font-semibold text-base text-gray-800 dark:text-white">
      Vim and Neovim
    </h2>

    <p>
      Get completions and chat in your favorite text editor.
    </p>
  </Card>
</CardGroup>

## Learn more

Get up to speed, stay in the flow, and get more done. Chat, Next Edit, and Code Completions will change the way you build software.

<CardGroup cols={3}>
  <Card title="Chat" icon={<ChatIcon />} href="/using-augment/chat">
    Never get stuck getting started again. Chat will help you get up to speed on
    unfamiliar code.
  </Card>

  <Card title="Next Edit" icon={<NextEditIcon />} href="/using-augment/next-edit">
    Keep moving through your tasks by guiding you step-by-step through complex or repetitive changes.
  </Card>

  <Card title="Code Completions" icon={<CodeIcon />} href="/using-augment/completions">
    Intelligent code suggestions that knows your codebase right at your
    fingertips.
  </Card>
</CardGroup>


# Quickstart
Source: https://docs.augmentcode.com/quickstart

Augment is the developer AI for teams that deeply understands your codebase and how you build software. Your code, your dependencies, and your best practices are all at your fingertips.

export const Next = ({children}) => <div className="border-t border-b pb-8 border-gray dark:border-white/10">
    <h3>Next steps</h3>
    {children}
  </div>;

export const k = {
  openPanel: "Cmd/Ctrl L",
  commandsPalette: "Cmd/Ctrl Shift A",
  completions: {
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Cmd/Ctrl →"
  },
  instructions: {
    start: "Cmd/Ctrl I",
    accept: "Return/Enter",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Cmd/Ctrl ;",
    goToPrevious: "Cmd/Ctrl Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Cmd/Ctrl Z",
    redo: "Cmd Shift Z/Ctrl Y"
  }
};

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

### 1. Install the Augment extension

<CardGroup cols={3}>
  <Card href="https://marketplace.visualstudio.com/items?itemName=augment.vscode-augment">
    <img className="w-12 h-12" src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/vscode-icon.svg" alt="Visual Studio Code" />

    <h2 className="pt-4 font-semibold text-base text-gray-800 dark:text-white">
      Visual Studio Code
    </h2>

    <p>Install Augment for Visual Studio Code</p>
  </Card>

  <Card className="bg-red" href="https://plugins.jetbrains.com/plugin/24072-augment">
    <img className="w-12 h-12" src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/jetbrains-icon.svg" alt="JetBrains IDEs" />

    <h2 className="pt-4 font-semibold text-base text-gray-800 dark:text-white">
      JetBrains IDEs
    </h2>

    <p>Install Augment for JetBrains IDEs, including WebStorm, PyCharm, and IntelliJ</p>
  </Card>

  <Card className="bg-red" href="/setup-augment/install-vim-neovim">
    <img className="w-12 h-12" src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/neovim-logo.svg" alt="Vim and Neovim" />

    <h2 className="pt-4 font-semibold text-base text-gray-800 dark:text-white">
      Vim and Neovim
    </h2>

    <p>
      Get completions and chat in your favorite text editor.
    </p>
  </Card>
</CardGroup>

### 2. Sign-in and sync your repository

For VS Code and JetBrains IDEs, follow the prompts in the Augment panel to [sign in](/setup-augment/sign-in) and [index your workspace](/setup-augment/workspace-indexing). If you don't see the Augment panel, press <Keyboard shortcut={k.openPanel} /> or click the Augment icon in the side panel of your IDE.

For Vim and Neovim, use the command `:Augment signin` to sign in.

### 3. Start coding with Augment

<Steps>
  <Step title="Using chat">
    Augment Chat enables you to work with your codebase using natural language.
    Ask Chat to explain your codebase, help you get started with debugging an
    issue, or writing entire functions and tests. See [Using
    Chat](/using-augment/chat) for more details.
  </Step>

  <Step title="Using Next Edit">
    Augment Next Edit keeps you moving through your tasks by guiding you step-by-step through complex or repetitive changes. Jump to the next suggestion–in the same file or across your codebase–by pressing <Keyboard shortcut={k.suggestions.goToNext} />. See
    [Using Next Edit](/using-augment/next-edit) for more details.
  </Step>

  <Step title="Using instructions">
    Start using an Instruction by hitting <Keyboard shortcut={k.instructions.start} /> and quickly write tests, refactor code, or craft any prompt in natural language to transform your code. See [Using
    Instructions](/using-augment/instructions) for more details.
  </Step>

  <Step title="Using completions">
    Augment provides inline code suggestions as you type. To accept the full
    suggestions, press <Keyboard shortcut={k.completions.accept} />, or accept the suggestion one
    word at a time with <Keyboard shortcut={k.completions.acceptNextWord} />. See [Using
    Completions](/using-augment/completions) for more details.
  </Step>
</Steps>

<Next>
  * [Disable other code assistants](/troubleshooting/disable-copilot)
  * [Use keyboard shortcuts](/setup-augment/vscode-keyboard-shortcuts)
  * [Configure indexing](/setup-augment/workspace-indexing)
</Next>


# Install Augment for JetBrains IDEs
Source: https://docs.augmentcode.com/setup-augment/install-jetbrains-ides

Are you ready for your new superpowers? Augment in JetBrains IDEs gives you powerful code completions integrated into your favorite text editor.

export const k = {
  openPanel: "Cmd/Ctrl L",
  commandsPalette: "Cmd/Ctrl Shift A",
  completions: {
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Cmd/Ctrl →"
  },
  instructions: {
    start: "Cmd/Ctrl I",
    accept: "Return/Enter",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Cmd/Ctrl ;",
    goToPrevious: "Cmd/Ctrl Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Cmd/Ctrl Z",
    redo: "Cmd Shift Z/Ctrl Y"
  }
};

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

export const Command = ({text}) => <span className="font-bold">{text}</span>;

export const ExternalLink = ({text, href}) => <a href={href} rel="noopener noreferrer">
    {text}
  </a>;

export const JetbrainsLogo = () => <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 64 64">
    <defs>
      <linearGradient id="linear-gradient" x1=".8" y1="3.3" x2="62.6" y2="64.2" gradientTransform="translate(0 66) scale(1 -1)" gradientUnits="userSpaceOnUse">
        <stop offset="0" stop-color="#ff9419" />
        <stop offset=".4" stop-color="#ff021d" />
        <stop offset="1" stop-color="#e600ff" />
      </linearGradient>
    </defs>
    <path fill="url(#linear-gradient)" d="M20.3,3.7L3.7,20.3c-2.3,2.3-3.7,5.5-3.7,8.8v29.8c0,2.8,2.2,5,5,5h29.8c3.3,0,6.5-1.3,8.8-3.7l16.7-16.7c2.3-2.3,3.7-5.5,3.7-8.8V5c0-2.8-2.2-5-5-5h-29.8c-3.3,0-6.5,1.3-8.8,3.7Z" />
    <path fill="#000" d="M48,16H8v40h40V16Z" />
    <path fill="#fff" d="M30,47H13v4h17v-4Z" />
  </svg>;

<Info>
  Augment requires version `2024.2` or above for all JetBrains IDEs. [See
  JetBrains documentation](https://www.jetbrains.com/help/) on how to update
  your IDE.
</Info>

<CardGroup cols={1}>
  <Card title="Get the Augment Plugin" href="https://plugins.jetbrains.com/plugin/24072-augment" icon={<JetbrainsLogo />} horizontal>
    Install Augment for JetBrains IDEs
  </Card>
</CardGroup>

## About Installation

Installing <ExternalLink text="Augment for JetBrains IDEs" href="https://plugins.jetbrains.com/plugin/24072-augment" /> is easy and will take you less than a minute. Augment is compatible with all JetBrains IDEs, including WebStorm, PyCharm, and IntelliJ. You can find the Augment plugin in the JetBrains Marketplace and install it following the instructions below.

<img className="block rounded-xl" src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/jetbrains-plugin.png" alt="Augment plugin in JetBrains Marketplace" />

## Installing Augment for JetBrains IDEs

<Note>
  For these instructions we'll use *JetBrains IntelliJ* as an example, anywhere
  you see *IntelliJ* replace the name of the JetBrains IDE you're using.

  In the case of Android Studio, which is based on IntelliJ, please ensure that your installation
  uses a runtime with JCEF. Go to <Command text="Help > Find Action" />, type <Command text="Choose Boot Java Runtime for the IDE" />
  and press <Keyboard shortcut="Enter" />. Ensure the current runtime ends with `-jcef`; if not, select one **with JCEF** from the options
  below.
</Note>

<Steps>
  <Step title="Make sure you have the latest version of your IDE installed">
    You can download the latest version of JetBrains IDEs from the <ExternalLink text="JetBrains" href="https://www.jetbrains.com/ides/#choose-your-ide" />
    website. If you already have IntelliJ installed, you can update to the
    latest version by going to{" "}
    <Command text="IntelliJ IDEA > Check for Updates..." />.
  </Step>

  <Step title="Open the Plugins settings in your IDE">
    From the menu bar, go to <Command text="IntelliJ IDEA > Settings..." />, or
    use the keyboard shortcut <Keyboard shortcut="Cmd/Ctrl ," /> to open the
    Settings window. Select <Command text="Plugins" /> from the sidebar.
  </Step>

  <Step title="Search for Augment in the marketplace">
    Using the search bar in the Plugins panel, search for{" "}
    <Command text="Augment" />.
  </Step>

  <Step title="Install the extension">
    Click <Command text="Install" /> to install the extension. Then click{" "}
    <Command text="OK" /> to close the Settings window.
  </Step>

  <Step title="Sign into Augment and get coding">
    Sign in to by clicking <Command text="Sign in to Augment" /> in the Augment
    panel. If you do not see the Augment panel, use the shortcut{" "}
    <Keyboard shortcut={k.openPanel} /> or click the Augment icon{" "}
    <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/augment-icon-simple.svg" className="inline h-3 p-0 m-0" /> in the side bar of your IDE. See more details in [Sign
    In](/setup-augment/sign-in).
  </Step>
</Steps>

## Installing Beta versions of Augment for JetBrains IDEs

In order to get a specific bug fix or feature, sometimes you may need to *temporarily* install a beta version of Augment for JetBrains IDEs.
To do this, follow the steps below:

<Steps>
  <Step title="Download an archive of the beta version">
    You can download the latest beta version of Augment from <ExternalLink text="JetBrains Marketplace" href="https://plugins.jetbrains.com/plugin/24072-augment/versions/beta?noRedirect=true" />
    website. Please click <Command text="Download" /> on the latest version and save the archive to disk.
  </Step>

  <Step title="Open the Plugins settings in your IDE">
    From the menu bar, go to <Command text="IntelliJ IDEA > Settings..." />, or
    use the keyboard shortcut <Keyboard shortcut="Cmd/Ctrl ," /> to open the
    Settings window. Select <Command text="Plugins" /> from the sidebar.
  </Step>

  <Step title="Install Augment from the downloaded archive">
    Click on the gear icon next to <Command text="Installed" /> tab and click <Command text="Install plugin from disk..." />.
    Select the archive you downloaded in the previous step and click <Command text="OK" />.
  </Step>
</Steps>


# Install Augment for Slack
Source: https://docs.augmentcode.com/setup-augment/install-slack-app

Ask Augment questions about your codebase right in Slack.

export const Next = ({children}) => <div className="border-t border-b pb-8 border-gray dark:border-white/10">
    <h3>Next steps</h3>
    {children}
  </div>;

export const SlackLogo = () => <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 127 127">
    <path fill="#E01E5A" d="M27.2 80c0 7.3-5.9 13.2-13.2 13.2C6.7 93.2.8 87.3.8 80c0-7.3 5.9-13.2 13.2-13.2h13.2V80zm6.6 0c0-7.3 5.9-13.2 13.2-13.2 7.3 0 13.2 5.9 13.2 13.2v33c0 7.3-5.9 13.2-13.2 13.2-7.3 0-13.2-5.9-13.2-13.2V80z" />
    <path fill="#36C5F0" d="M47 27c-7.3 0-13.2-5.9-13.2-13.2C33.8 6.5 39.7.6 47 .6c7.3 0 13.2 5.9 13.2 13.2V27H47zm0 6.7c7.3 0 13.2 5.9 13.2 13.2 0 7.3-5.9 13.2-13.2 13.2H13.9C6.6 60.1.7 54.2.7 46.9c0-7.3 5.9-13.2 13.2-13.2H47z" />
    <path fill="#2EB67D" d="M99.9 46.9c0-7.3 5.9-13.2 13.2-13.2 7.3 0 13.2 5.9 13.2 13.2 0 7.3-5.9 13.2-13.2 13.2H99.9V46.9zm-6.6 0c0 7.3-5.9 13.2-13.2 13.2-7.3 0-13.2-5.9-13.2-13.2V13.8C66.9 6.5 72.8.6 80.1.6c7.3 0 13.2 5.9 13.2 13.2v33.1z" />
    <path fill="#ECB22E" d="M80.1 99.8c7.3 0 13.2 5.9 13.2 13.2 0 7.3-5.9 13.2-13.2 13.2-7.3 0-13.2-5.9-13.2-13.2V99.8h13.2zm0-6.6c-7.3 0-13.2-5.9-13.2-13.2 0-7.3 5.9-13.2 13.2-13.2h33.1c7.3 0 13.2 5.9 13.2 13.2 0 7.3-5.9 13.2-13.2 13.2H80.1z" />
  </svg>;

export const GitHubLogo = () => <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 98 96"><path fill="#24292f" fill-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" clip-rule="evenodd" /></svg>;

export const Command = ({text}) => <span className="font-bold">{text}</span>;

<Note>
  The Augment GitHub App is compatible with GitHub.com and GitHub Enterprise Cloud. GitHub Enterprise Server is not currently supported.
</Note>

## About Augment for Slack

Augment for Slack brings the power of Augment Chat to your team's Slack workspace. Mention <Command text="@Augment" /> in any channel or start a DM with Augment to have deep codebase-aware conversations with your team.

*To protect your confidential information, Augment will not include repository context in responses when used in shared channels with external members.*

## Installing Augment for Slack

### 1. Install GitHub App

<CardGroup cols={1}>
  <Card title="Install Augment GitHub App" href="https://github.com/apps/augmentcode/installations/new" icon={<GitHubLogo />} horizontal>
    GitHub App for Augment Chat in Slack
  </Card>
</CardGroup>

To enable Augment's rich codebase-awareness, install the Augment GitHub App and grant access to your desired repositories. Organization owners and repository admins can install the app directly; others will need owner approval. See [GitHub documentation](https://docs.github.com/en/apps/using-github-apps/installing-a-github-app-from-a-third-party) for details.

We recommend authorizing only the few active repositories you want accessible to Augment Slack users. You can modify repository access anytime in the GitHub App settings.

<img className="block rounded-xl" src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/install-github-app.png" alt="Installing the GitHub app on a single repository" />

### 2. Install Slack App

<CardGroup cols={1}>
  <Card title="Install Augment for Slack" href="https://slack.com/oauth/v2/authorize?client_id=3751018318864.7878669571030&scope=app_mentions:read,channels:history,channels:read,chat:write,groups:history,groups:read,im:history,im:read,im:write,mpim:history,mpim:read,mpim:write,reactions:read,reactions:write,users.profile:read,users:read,users:read.email,groups:write,commands,assistant:write&user_scope=identity.basic" icon={<SlackLogo />} horizontal>
    Slack App for Augment Code
  </Card>
</CardGroup>

Once you have the GitHub App installed, install the Augment Slack App. You'll need an Augment account and correct permissions to install Slack apps for your workspace.

Any workspace member can use the Slack app once installed. Contact us if you need to restrict access to specific channels or users.

### 3. Add Augment to the Slack Navigation Bar

Make Augment easily accessible by adding it to Slack's assistant-view navigation bar:

1. Click your profile picture → **Preferences** → **Navigation**
2. Under **App agents & assistants**, select **Augment**

*Note: Each user can customize this setting in their preferences.*

<Next>
  [Using Augment for Slack](/using-augment/slack)
</Next>


# Install Augment for Vim and Neovim
Source: https://docs.augmentcode.com/setup-augment/install-vim-neovim

Augment for Vim and Neovim gives you powerful code completions and chat capabilities integrated into your favorite code editor.

export const Next = ({children}) => <div className="border-t border-b pb-8 border-gray dark:border-white/10">
    <h3>Next steps</h3>
    {children}
  </div>;

export const NeoVimLogo = () => <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1012_311)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.11719 5.0407L7.2509 -0.14502V23.9669L2.11719 18.841V5.0407Z" fill="url(#paint0_linear_1012_311)" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M21.9551 5.08747L16.7572 -0.14502L16.8625 23.9669L21.9902 18.8404L21.9551 5.08747Z" fill="url(#paint1_linear_1012_311)" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.25 -0.111816L20.5981 20.2637L16.8629 24.0001L3.50781 3.66964L7.25 -0.111816Z" fill="url(#paint2_linear_1012_311)" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.24955 9.28895L7.24248 10.0894L3.14258 4.01872L3.52221 3.63086L7.24955 9.28895Z" fill="black" fill-opacity="0.13" />
</g>
<defs>
<linearGradient id="paint0_linear_1012_311" x1="258.803" y1="-0.14502" x2="258.803" y2="2411.04" gradientUnits="userSpaceOnUse">
<stop stop-color="#16B0ED" stop-opacity="0.800236" />
<stop offset="1" stop-color="#0F59B2" stop-opacity="0.837" />
</linearGradient>
<linearGradient id="paint1_linear_1012_311" x1="-239.663" y1="-0.14502" x2="-239.663" y2="2411.04" gradientUnits="userSpaceOnUse">
<stop stop-color="#7DB643" />
<stop offset="1" stop-color="#367533" />
</linearGradient>
<linearGradient id="paint2_linear_1012_311" x1="858.022" y1="-0.111816" x2="858.022" y2="2411.08" gradientUnits="userSpaceOnUse">
<stop stop-color="#88C649" stop-opacity="0.8" />
<stop offset="1" stop-color="#439240" stop-opacity="0.84" />
</linearGradient>
<clipPath id="clip0_1012_311">
<rect width="24" height="24" fill="white" />
</clipPath>
</defs>
</svg>;

export const ExternalLink = ({text, href}) => <a href={href} rel="noopener noreferrer">
    {text}
  </a>;

<CardGroup cols={1}>
  <Card title="Get the Augment Extension" href="https://github.com/augmentcode/augment.vim" icon={<NeoVimLogo />} horizontal>
    View Augment for Vim and Neovim on GitHub
  </Card>
</CardGroup>

## About Installation

Installing <ExternalLink text="Augment for Vim and Neovim" href="https://github.com/augmentcode/augment.vim" /> is easy and will take you less than a minute. You can install the extension manually or you can use your favorite plugin manager.

## Prerequisites

Augment for Vim and Neovim requires a compatible version of Vim or Neovim, and Node.js:

| Dependency                                                                                     | Minimum version |
| :--------------------------------------------------------------------------------------------- | :-------------- |
| [Vim](https://github.com/vim/vim?tab=readme-ov-file#installation)                              | 9.1.0           |
| [Neovim](https://github.com/neovim/neovim/tree/master?tab=readme-ov-file#install-from-package) | 0.10.0          |
| [Node.js](https://nodejs.org/en/download/package-manager/all)                                  | 22.0.0          |

## 1. Install the extension

<Tabs>
  <Tab title="Neovim">
    ### Manual Installation

    ```sh
    git clone https://github.com/augmentcode/augment.vim.git ~/.config/nvim/pack/augment/start/augment.vim
    ```

    ### Using Lazy.nvim

    Add the following to your `init.lua` file, then run `:Lazy sync` in Neovim. See more details about using [Lazy.nvim on GitHub](https://github.com/folke/lazy.nvim).

    ```lua
    require('lazy').setup({
      -- Your other plugins here
      'augmentcode/augment.vim',
    })
    ```
  </Tab>

  <Tab title="Vim">
    ### Manual Installation

    ```sh
    git clone https://github.com/augmentcode/augment.vim.git ~/.vim/pack/augment/start/augment.vim
    ```

    ### Using Vim Plug

    Add the following to your `.vimrc` file, then run `:PlugInstall` in Vim. See more details about using [Vim Plug on GitHub](https://github.com/junegunn/vim-plug).

    ```vim
    call plug#begin()

    " Your other plugins here
    Plug 'augmentcode/augment.vim'

    call plug#end()
    ```
  </Tab>
</Tabs>

## 2. Configure your workspace context

Add your project root to your workspace context by setting `g:augment_workspace_folders` in your `.vimrc` or `init.lua` file before the plugin is loaded. For example:

```vim
" Add to your .vimrc
let g:augment_workspace_folders = ['/path/to/project']

" Add to your init.lua
vim.g.augment_workspace_folders = {'/path/to/project'}
```

Augment's Context Engine provides the best suggestions when it has access to your project's codebase and any related repositories. See more details in
[Configure additional workspace context](/setup-augment/workspace-context-vim).

## 3. Sign-in to Augment

Open Vim or Neovim and sign-in to Augment with the following command:

```vim
:Augment signin
```

<Next>
  * [Using Augment with Vim and Neovim](/using-augment/vim-neovim)
  * [Configure keyboard shortcuts](/setup-augment/vim-keyboard-shortcuts)
</Next>


# Install Augment for Visual Studio Code
Source: https://docs.augmentcode.com/setup-augment/install-visual-studio-code

Augment in Visual Studio Code gives you powerful code completions, transformations, and chat capabilities integrated into your favorite code editor.

export const k = {
  openPanel: "Cmd/Ctrl L",
  commandsPalette: "Cmd/Ctrl Shift A",
  completions: {
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Cmd/Ctrl →"
  },
  instructions: {
    start: "Cmd/Ctrl I",
    accept: "Return/Enter",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Cmd/Ctrl ;",
    goToPrevious: "Cmd/Ctrl Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Cmd/Ctrl Z",
    redo: "Cmd Shift Z/Ctrl Y"
  }
};

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

export const Command = ({text}) => <span className="font-bold">{text}</span>;

export const VscodeLogo = () => <svg xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 64 64">
    <defs>
      <mask id="mask" x=".5" y=".7" width="63.5" height="63.1" maskUnits="userSpaceOnUse">
        <g id="mask0">
          <path fill="#fff" d="M45.5,63.5c1,.4,2.1.4,3.1-.1l13.1-6.3c1.4-.7,2.2-2,2.2-3.6V10.9c0-1.5-.9-2.9-2.2-3.6l-13.1-6.3c-1.3-.6-2.9-.5-4,.4-.2.1-.3.3-.5.4l-25,22.8-10.9-8.3c-1-.8-2.4-.7-3.4.2l-3.5,3.2c-1.2,1-1.2,2.9,0,3.9l9.4,8.6L1.4,40.9c-1.2,1-1.1,2.9,0,3.9l3.5,3.2c.9.9,2.4.9,3.4.1l10.9-8.3,25,22.8c.4.4.9.7,1.4.9ZM48.1,17.9l-19,14.4,19,14.4v-28.8Z" />
        </g>
      </mask>
      <linearGradient id="linear-gradient" x1="32.2" y1="65.3" x2="32.2" y2="2.2" gradientTransform="translate(0 66) scale(1 -1)" gradientUnits="userSpaceOnUse">
        <stop offset="0" stopColor="#fff" />
        <stop offset="1" stopColor="#fff" stopOpacity="0" />
      </linearGradient>
    </defs>
    <g style={{
  isolation: "isolate"
}}>
      <g mask="url(#mask)">
        <path fill="#0065a9" d="M61.8,7.4l-13.1-6.3c-1.5-.7-3.3-.4-4.5.8L1.4,40.9c-1.2,1-1.1,2.9,0,3.9l3.5,3.2c.9.9,2.4.9,3.4.2L59.8,9c1.7-1.3,4.2,0,4.2,2.1v-.2c0-1.5-.9-2.9-2.2-3.6Z" />
        <path fill="#007acc" d="M61.8,57.1l-13.1,6.3c-1.5.7-3.3.4-4.5-.8L1.4,23.6c-1.2-1-1.1-2.9,0-3.9l3.5-3.2c.9-.9,2.4-.9,3.4-.2l51.5,39.1c1.7,1.3,4.2,0,4.2-2.1v.2c0,1.5-.9,2.9-2.2,3.6Z" />
        <path fill="#1f9cf0" d="M48.7,63.4c-1.5.7-3.3.4-4.5-.8,1.5,1.5,4,.4,4-1.6V3.5c0-2.1-2.5-3.1-4-1.6,1.2-1.2,3-1.5,4.5-.8l13.1,6.3c1.4.7,2.2,2,2.2,3.6v42.6c0,1.5-.9,2.9-2.2,3.6l-13.1,6.3Z" />
        <g style={{
  mixBlendMode: "overlay",
  opacity: 0.2
}}>
          <path fill="url(#linear-gradient)" fillRule="evenodd" d="M45.5,63.5c1,.4,2.1.4,3.1-.1l13.1-6.3c1.4-.7,2.2-2,2.2-3.6V10.9c0-1.5-.9-2.9-2.2-3.6l-13.1-6.3c-1.3-.6-2.9-.5-4,.4-.2.1-.3.3-.5.4l-25,22.8-10.9-8.3c-1-.8-2.4-.7-3.4.1l-3.5,3.2c-1.2,1-1.2,2.9,0,3.9l9.4,8.6L1.4,40.9c-1.2,1-1.1,2.9,0,3.9l3.5,3.2c.9.9,2.4.9,3.4.2l10.9-8.3,25,22.8c.4.4.9.7,1.4.9ZM48.1,17.9l-19,14.4,19,14.4v-28.8Z" />
        </g>
      </g>
    </g>
  </svg>;

export const ExternalLink = ({text, href}) => <a href={href} rel="noopener noreferrer">
    {text}
  </a>;

<CardGroup cols={1}>
  <Card title="Get the Augment Extension" href="https://marketplace.visualstudio.com/items?itemName=augment.vscode-augment" icon={<VscodeLogo />} horizontal>
    Install Augment for Visual Studio Code
  </Card>
</CardGroup>

## About Installation

Installing <ExternalLink text="Augment for Visual Studio Code" href="https://marketplace.visualstudio.com/items?itemName=augment.vscode-augment" /> is easy and will take you less than a minute. You can install the extension directly from the Visual Studio Code Marketplace or follow the instructions below.

<img className="block rounded-xl" src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/vscode-extension.png" alt="Augment extension in Visual Studio Code Marketplace" />

## Installing Augment for Visual Studio Code

<Steps>
  <Step title="Make sure you have the latest version of Visual Studio Code installed">
    You can download the latest version of Visual Studio Code from the <ExternalLink text="Visual Studio Code website" href="https://code.visualstudio.com/" />. If you already have Visual Studio Code installed, you can update to the latest version by going to <Command text="Code > Check for Updates..." />.
  </Step>

  <Step title="Open the Extensions panel in Visual Studio Code">
    Click the Extensions icon in the sidebar to show
    the Extensions panel.
  </Step>

  <Step title="Search for Augment in the marketplace">
    Using the search bar in the Extensions panel, search for{" "}
    <Command text="Augment" />.
  </Step>

  <Step title="Install the extension">
    Click <Command text="Install" /> to install the extension.
  </Step>

  <Step title="Sign into Augment and get coding">
    Sign in to by clicking <Command text="Sign in to Augment" /> in the Augment
    panel. If you do not see the Augment panel, use the shortcut{" "}
    <Keyboard shortcut={k.openPanel} /> or click the Augment icon{" "}
    <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/augment-icon-simple.svg" className="inline h-3 p-0 m-0" /> in the side bar of your IDE. See more details in [Sign
    In](/setup-augment/sign-in).
  </Step>
</Steps>

## About pre-release versions

We regularly publish pre-release versions of the Augment extension. To use the pre-release version, go to the Augment extension in the Extensions panel and click <Command text="Switch to Pre-Release Version" /> and then <Command text="Restart extensions" />.

Pre-release versions may sometimes contain bugs or otherwise be unstable. As with the released version, please report any problems by sending us [feedback](/troubleshooting/feedback).


# Keyboard Shortcuts for JetBrains IDEs
Source: https://docs.augmentcode.com/setup-augment/jetbrains-keyboard-shortcuts

Augment integrates with your IDE to provide keyboard shortcuts for common actions. Use these shortcuts to quickly accept suggestions, write code, and navigate your codebase.

export const mac = {
  openPanel: "Cmd L",
  commandsPalette: "Cmd Shift A",
  completions: {
    toggle: "Cmd Option A",
    toggleIntelliJ: "Cmd Option 9",
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Cmd →"
  },
  instructions: {
    start: "Cmd I",
    accept: "Return",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Cmd ;",
    goToPrevious: "Cmd Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Cmd Z",
    redo: "Cmd Shift Z"
  }
};

export const win = {
  openPanel: "Ctrl L",
  commandsPalette: "Ctrl Shift A",
  completions: {
    toggle: "Ctrl Alt A",
    toggleIntelliJ: "Ctrl Alt 9",
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Ctrl →"
  },
  instructions: {
    start: "Ctrl I",
    accept: "Return",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Ctrl ;",
    goToPrevious: "Ctrl Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Ctrl Z",
    redo: "Ctrl Y"
  }
};

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

export const Command = ({text}) => <span className="font-bold">{text}</span>;

## About keyboard shortcuts

Augment is deeply integrated into your IDE and utilizes many of the standard keyboard shortcuts you are already familiar with. These shortcuts allow you to quickly accept suggestions, write code, and navigate your codebase. We also suggest updating a few keyboard shortcuts to make working with code suggestions even easier.

<Tabs>
  <Tab title="MacOS">
    To update keyboard shortcuts, use one of the following:

    | Method   | Action                                                         |
    | :------- | :------------------------------------------------------------- |
    | Keyboard | <Keyboard shortcut="Cmd ," /> select <Command text="Keymap" /> |
    | Menu bar | <Command text="IntelliJ IDEA > Settings > Keymap" />           |

    ## General

    | Action             | Default shortcut                     |
    | :----------------- | :----------------------------------- |
    | Open Augment panel | <Keyboard shortcut="Cmd Option I" /> |

    ## Chat

    | Action                   | Default shortcut                     |
    | :----------------------- | :----------------------------------- |
    | Focus or open Chat panel | <Keyboard shortcut="Cmd Option I" /> |

    ## Completions

    | Action                       | Default shortcut                                       |
    | :--------------------------- | :----------------------------------------------------- |
    | Accept entire suggestion     | <Keyboard shortcut="Tab" />                            |
    | Accept word-by-word          | <Keyboard shortcut="Option Right" />                   |
    | Reject suggestion            | <Keyboard shortcut="Esc" />                            |
    | Toggle automatic completions | <Keyboard shortcut={mac.completions.toggleIntelliJ} /> |
  </Tab>

  <Tab title="Windows/Linux">
    To update keyboard shortcuts, use one of the following:

    | Method   | Action                                                               |
    | :------- | :------------------------------------------------------------------- |
    | Keyboard | <Keyboard shortcut="Ctrl ," /> then select <Command text="Keymap" /> |
    | Menu bar | <Command text="File > Settings > Keymap" />                          |

    ## General

    | Action             | Default shortcut                   |
    | :----------------- | :--------------------------------- |
    | Open Augment panel | <Keyboard shortcut="Ctrl Alt I" /> |

    ## Chat

    | Action                   | Default shortcut                   |
    | :----------------------- | :--------------------------------- |
    | Focus or open Chat panel | <Keyboard shortcut="Ctrl Alt I" /> |

    ## Completions

    | Action                       | Default shortcut                                       |
    | :--------------------------- | :----------------------------------------------------- |
    | Accept entire suggestion     | <Keyboard shortcut="Tab" />                            |
    | Accept word-by-word          | <Keyboard shortcut="Ctrl Right" />                     |
    | Reject suggestion            | <Keyboard shortcut="Esc" />                            |
    | Toggle automatic completions | <Keyboard shortcut={win.completions.toggleIntelliJ} /> |
  </Tab>
</Tabs>


# Sign in and out
Source: https://docs.augmentcode.com/setup-augment/sign-in

After you have installed the Augment extension, you will need to sign in to your account.

export const MoreVertIcon = () => <div className="inline-block w-4 h-4 mr-2">
    <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="#5f6368">
      <path d="M479.79-192Q450-192 429-213.21t-21-51Q408-294 429.21-315t51-21Q510-336 531-314.79t21 51Q552-234 530.79-213t-51 21Zm0-216Q450-408 429-429.21t-21-51Q408-510 429.21-531t51-21Q510-552 531-530.79t21 51Q552-450 530.79-429t-51 21Zm0-216Q450-624 429-645.21t-21-51Q408-726 429.21-747t51-21Q510-768 531-746.79t21 51Q552-666 530.79-645t-51 21Z" />
    </svg>
  </div>;

export const k = {
  openPanel: "Cmd/Ctrl L",
  commandsPalette: "Cmd/Ctrl Shift A",
  completions: {
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Cmd/Ctrl →"
  },
  instructions: {
    start: "Cmd/Ctrl I",
    accept: "Return/Enter",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Cmd/Ctrl ;",
    goToPrevious: "Cmd/Ctrl Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Cmd/Ctrl Z",
    redo: "Cmd Shift Z/Ctrl Y"
  }
};

export const Command = ({text}) => <span className="font-bold">{text}</span>;

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

## About Authentication

You can sign in to Augment using one of the supported identity providers–Google or Microsoft–or sign in using your email address and a single-use code we send to you. During the process, you will be redirected to your browser to sign in to your account.

## Sign in

<video controls className="rounded-xl aspect-video" src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/sign-in.mp4" />

<Steps>
  <Step title="Sign in to Augment">
    Click the <Command text="Sign in to Augment" /> button in the Augment panel. If you do not see the Augment panel press <Keyboard shortcut={k.openPanel} />. If you are using Visual Studio Code, you be asked to confirm going to Augment's authentication portal.
  </Step>

  <Step title="Sign in with your email">
    In your browser, you may sign in with Google, Microsoft, or by receiving a single-use code in your email.
  </Step>

  <Step title="Accept the terms and conditions">
    If this is the first time you've signed in to Augment, you will be asked to accept the terms and conditions.
  </Step>

  <Step title="Return to your IDE">
    You will be automically redirected back to your IDE and you will see the Augment icon
    change to{" "}
    <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/augment-icon-smile.svg" className="inline h-3 p-0 m-0" /> in the status bar.
  </Step>

  <Step title="Sync your workspace">
    If this is your first time using Augment, or you are working on a new workspace, you will see the <Command text="Sync modal" /> in the Augment panel. Click the <Command text="Sync" /> button in the Augment panel to enable Augment's rich codebase awareness. See [Syncing your workspace](/setup-augment/sync) to customize syncing behavior and learn more.
  </Step>
</Steps>

## Sign out

<Tabs>
  <Tab title="Visual Studio Code">
    <Steps>
      <Step title="Open the Augment panel">
        Click the Augment icon <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/augment-icon-smile.svg" className="inline h-3 p-0 m-0" /> in the status bar or press <Keyboard shortcut={k.openPanel} /> to open the Augment panel.
      </Step>

      <Step title="Show the Augment command menu">
        Click the overflow menu icon<MoreVertIcon />in the top right of the Augment panel or press  <Keyboard shortcut={k.commandsPalette} /> to show the Augment command menu.
      </Step>

      <Step title="Click Sign Out">Click <Command text="Sign Out" /> from the bottom of the commands menu.</Step>

      <Step title="You are now signed out of Augment">
        You will see the icon changed to{" "}

        <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/augment-icon-simple.svg" className="inline h-3 p-0 m-0" />

        {" "}

        and you will be signed out of Augment in all of your active workspaces.
      </Step>
    </Steps>
  </Tab>

  <Tab title="JetBrains IDEs">
    <Steps>
      <Step title="Open the Augment panel">
        Click the Augment icon{" "}

        <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/augment-icon-smile.svg" className="inline h-3 p-0 m-0" />

        {" "}

        in the status bar.
      </Step>

      <Step title="Click Sign Out">Click <Command text="Sign Out" /> from the bottom of the commands menu.</Step>

      <Step title="You are now signed out of Augment">
        You will see the icon changed to{" "}

        <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/augment-icon-simple.svg" className="inline h-3 p-0 m-0" />

        {" "}

        and you will be signed out of Augment in all of your active workspaces.
      </Step>
    </Steps>
  </Tab>
</Tabs>


# Keyboard Shortcuts for Vim and Neovim
Source: https://docs.augmentcode.com/setup-augment/vim-keyboard-shortcuts

Augment flexibly integrates with your editor to provide keyboard shortcuts for common actions. Customize your keymappings to quickly accept suggestions and chat with Augment.

export const Command = ({text}) => <span className="font-bold">{text}</span>;

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

## All available commands

| Command                                         | Action                                      |
| :---------------------------------------------- | :------------------------------------------ |
| <Keyboard shortcut=":Augment enable" />         | Globally enable suggestions (on by default) |
| <Keyboard shortcut=":Augment disable" />        | Globally disable suggestions                |
| <Keyboard shortcut=":Augment chat <message>" /> | Send a chat message to Augment              |
| <Keyboard shortcut=":Augment chat-new" />       | Start a new chat conversation               |
| <Keyboard shortcut=":Augment chat-toggle" />    | Toggle the chat panel visibility            |
| <Keyboard shortcut=":Augment signin" />         | Start the sign in flow                      |
| <Keyboard shortcut=":Augment signout" />        | Sign out of Augment                         |
| <Keyboard shortcut=":Augment status" />         | View the current status of the plugin       |
| <Keyboard shortcut=":Augment log" />            | View the plugin log                         |

## Creating custom shortcuts

You can create custom shortcuts for any of the above commands by adding mappings to your `.vimrc` or `init.lua` file. For example, to create a shortcut for the :Augment chat\* commands, you can add the following mappings:

```vim
" Send a chat message in normal and visual mode
nnoremap <leader>ac :Augment chat<CR>
vnoremap <leader>ac :Augment chat<CR>

" Start a new chat conversation
nnoremap <leader>an :Augment chat-new<CR>

" Toggle the chat panel visibility
nnoremap <leader>at :Augment chat-toggle<CR>
```

## Customizing accepting a completion suggestion

By default <Keyboard shortcut="Tab" /> is used to accept a suggestion. If you want to use a key other than <Keyboard shortcut="Tab" /> to accept a suggestion, create a mapping that calls `augment#Accept()`. The function takes an optional arugment used to specify the fallback text to insert if no suggestion is available.

```vim
" Use Ctrl-Y to accept a suggestion
inoremap <c-y> <cmd>call augment#Accept()<cr>

" Use enter to accept a suggestion, falling back to a newline if no suggestion
" is available
inoremap <cr> <cmd>call augment#Accept("\n")<cr>
```

You can disable the default <Keyboard shortcut="Tab" /> mapping by setting `g:augment_disable_tab_mapping = v:true` before the plugin is loaded.


# Keyboard Shortcuts for Visual Studio Code
Source: https://docs.augmentcode.com/setup-augment/vscode-keyboard-shortcuts

Augment integrates with your IDE to provide keyboard shortcuts for common actions. Use these shortcuts to quickly accept suggestions, write code, and navigate your codebase.

export const win = {
  openPanel: "Ctrl L",
  commandsPalette: "Ctrl Shift A",
  completions: {
    toggle: "Ctrl Alt A",
    toggleIntelliJ: "Ctrl Alt 9",
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Ctrl →"
  },
  instructions: {
    start: "Ctrl I",
    accept: "Return",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Ctrl ;",
    goToPrevious: "Ctrl Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Ctrl Z",
    redo: "Ctrl Y"
  }
};

export const mac = {
  openPanel: "Cmd L",
  commandsPalette: "Cmd Shift A",
  completions: {
    toggle: "Cmd Option A",
    toggleIntelliJ: "Cmd Option 9",
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Cmd →"
  },
  instructions: {
    start: "Cmd I",
    accept: "Return",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Cmd ;",
    goToPrevious: "Cmd Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Cmd Z",
    redo: "Cmd Shift Z"
  }
};

export const k = {
  openPanel: "Cmd/Ctrl L",
  commandsPalette: "Cmd/Ctrl Shift A",
  completions: {
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Cmd/Ctrl →"
  },
  instructions: {
    start: "Cmd/Ctrl I",
    accept: "Return/Enter",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Cmd/Ctrl ;",
    goToPrevious: "Cmd/Ctrl Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Cmd/Ctrl Z",
    redo: "Cmd Shift Z/Ctrl Y"
  }
};

export const Command = ({text}) => <span className="font-bold">{text}</span>;

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

## About keyboard shortcuts

Augment is deeply integrated into your IDE and utilizes many of the standard keyboard shortcuts you are already familiar with. These shortcuts allow you to quickly accept suggestions, write code, and navigate your codebase. We also suggest updating a few keyboard shortcuts to make working with code suggestions even easier.

<Tabs>
  <Tab title="MacOS">
    To update keyboard shortcuts, use one of the following:

    | Method          | Action                                                                                                  |   |
    | :-------------- | :------------------------------------------------------------------------------------------------------ | - |
    | Keyboard        | <Keyboard shortcut="Cmd K" /> then <Keyboard shortcut="Cmd S" />                                        |   |
    | Menu bar        | <Command text="Code > Settings... > Keyboard Shortcuts" />                                              |   |
    | Command palette | <Keyboard shortcut="Cmd Shift P" /> then search <Command text="Preferences: Open Keyboard Shortcuts" /> |   |

    ## General

    | Action                | Recommended shortcut                        |
    | :-------------------- | :------------------------------------------ |
    | Open Augment panel    | <Keyboard shortcut={mac.openPanel} />       |
    | Show Augment commands | <Keyboard shortcut={mac.commandsPalette} /> |

    ## Chat

    | Action                   | Default shortcut                      |
    | :----------------------- | :------------------------------------ |
    | Focus or open Chat panel | <Keyboard shortcut={mac.openPanel} /> |

    ## Next Edit

    | Action            | Default shortcut                                     |
    | :---------------- | :--------------------------------------------------- |
    | Go to next        | <Keyboard shortcut={mac.suggestions.goToNext} />     |
    | Go to previous    | <Keyboard shortcut={mac.suggestions.goToPrevious} /> |
    | Accept suggestion | <Keyboard shortcut={mac.suggestions.accept} />       |
    | Reject suggestion | <Keyboard shortcut={mac.suggestions.reject} />       |

    ## Instructions

    | Action            | Default shortcut                                |
    | :---------------- | :---------------------------------------------- |
    | Start instruction | <Keyboard shortcut={mac.instructions.start} />  |
    | Accept            | <Keyboard shortcut={mac.instructions.accept} /> |
    | Reject            | <Keyboard shortcut={mac.instructions.reject} /> |

    ## Completions

    | Action                         | Default keyboard shortcut                              |
    | :----------------------------- | :----------------------------------------------------- |
    | Accept inline suggestion       | <Keyboard shortcut={mac.completions.accept} />         |
    | Accept next word of suggestion | <Keyboard shortcut={mac.completions.acceptNextWord} /> |
    | Accept next line of suggestion | None (see below)                                       |
    | Reject suggestion              | <Keyboard shortcut={mac.completions.reject} />         |
    | Ignore suggestion              | Continue typing through the suggestion                 |
    | Toggle automatic completions   | <Keyboard shortcut={mac.completions.toggle} />         |

    **Recommended shortcuts**

    We recommend updating your keybindings to include the following shortcuts to
    make working with code suggestions even easier. These changes update the
    default behavior of Visual Studio Code.

    | Action                         | Recommended shortcut               |
    | :----------------------------- | :--------------------------------- |
    | Accept next line of suggestion | <Keyboard shortcut="Cmd Ctrl →" /> |
  </Tab>

  <Tab title="Windows/Linux">
    To update keyboard shortcuts, use one of the following:

    | Method          | Action                                                                                                   |
    | :-------------- | :------------------------------------------------------------------------------------------------------- |
    | Keyboard        | <Keyboard shortcut="Ctrl K" /> then <Keyboard shortcut="Ctrl S" />                                       |
    | Menu bar        | <Command text="File > Settings... > Keyboard Shortcuts" />                                               |
    | Command palette | <Keyboard shortcut="Ctrl Shift P" /> then search <Command text="Preferences: Open Keyboard Shortcuts" /> |

    ## General

    | Action                | Recommended shortcut                        |
    | :-------------------- | :------------------------------------------ |
    | Open Augment panel    | <Keyboard shortcut={win.openPanel} />       |
    | Show Augment commands | <Keyboard shortcut={win.commandsPalette} /> |

    ## Chat

    | Action                   | Default shortcut                      |
    | :----------------------- | :------------------------------------ |
    | Focus or open Chat panel | <Keyboard shortcut={win.openPanel} /> |

    ## Next Edit

    | Action            | Default shortcut                                     |
    | :---------------- | :--------------------------------------------------- |
    | Go to next        | <Keyboard shortcut={win.suggestions.goToNext} />     |
    | Go to previous    | <Keyboard shortcut={win.suggestions.goToPrevious} /> |
    | Accept suggestion | <Keyboard shortcut={win.suggestions.accept} />       |
    | Reject suggestion | <Keyboard shortcut={win.suggestions.reject} />       |

    ## Instructions

    | Action            | Default shortcut                                |
    | :---------------- | :---------------------------------------------- |
    | Start instruction | <Keyboard shortcut={win.instructions.start} />  |
    | Accept            | <Keyboard shortcut={win.instructions.accept} /> |
    | Reject            | <Keyboard shortcut={win.instructions.reject} /> |

    ## Completions

    | Action                         | Default keyboard shortcut                              |
    | :----------------------------- | :----------------------------------------------------- |
    | Accept inline suggestion       | <Keyboard shortcut={win.completions.accept} />         |
    | Accept next word of suggestion | <Keyboard shortcut={win.completions.acceptNextWord} /> |
    | Accept next line of suggestion | None (see below)                                       |
    | Reject suggestion              | <Keyboard shortcut={win.completions.reject} />         |
    | Ignore suggestion              | Continue typing through the suggestion                 |
    | Toggle automatic completions   | <Keyboard shortcut={win.completions.toggle} />         |

    **Recommended shortcuts**

    We recommend updating your keybindings to include the following shortcuts to
    make working with code suggestions even easier. These changes update default
    behavior of Visual Studio Code.

    | Action                         | Recommended shortcut               |
    | :----------------------------- | :--------------------------------- |
    | Accept next line of suggestion | <Keyboard shortcut="Ctrl Alt →" /> |
  </Tab>
</Tabs>


# Add context to your workspace
Source: https://docs.augmentcode.com/setup-augment/workspace-context-vim

You can add additional context to your workspace–such as additional repositories and folders–to give Augment a full view of your system.

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

export const Availability = ({tags}) => {
  const tagTypes = {
    invite: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    beta: {
      styles: "border border-zinc-500/20 bg-zinc-50/50 dark:border-zinc-500/30 dark:bg-zinc-500/10 text-zinc-900 dark:text-zinc-200"
    },
    vscode: {
      styles: "border border-sky-500/20 bg-sky-50/50 dark:border-sky-500/30 dark:bg-sky-500/10 text-sky-900 dark:text-sky-200"
    },
    jetbrains: {
      styles: "border border-amber-500/20 bg-amber-50/50 dark:border-amber-500/30 dark:bg-amber-500/10 text-amber-900 dark:text-amber-200"
    },
    vim: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    neovim: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    default: {
      styles: "bg-gray-200"
    }
  };
  return <div className="flex items-center space-x-2 border-b pb-4 border-gray-200 dark:border-white/10">
      <span className="text-sm font-medium">Availability</span>
      {tags.map(tag => {
    const tagType = tagTypes[tag] || tagTypes.default;
    return <div key={tag} className={`px-2 py-0.5 rounded-md text-xs font-medium ${tagType.styles}`}>
            {tag}
          </div>;
  })}
    </div>;
};

<Availability tags={["vim","neovim"]} />

## About Workspace Context

Augment is powered by its deep understanding of your code. You'll need to configure your project's source in your workspace context to get full codebase understanding in your chats and suggestions.

Sometimes important parts of your system exist outside of the current project. For example, you may have seperate frontend and backend repositories or have many services across multiple repositories. Adding additional codebases to your workspace context will improve the code suggestions and chat responses from Augment.

## Add context to your workspace

<Note>
  Be sure to set `g:augment_workspace_folders` before the Augment plugin is loaded.
</Note>

To add context to your workspace, in your `.vimrc` set `g:augment_workspace_folders` to a list of paths to the folders you want to add to your workspace context. For example:

```vim
let g:augment_workspace_folders = ['/path/to/folder', '~/path/to/another/folder']
```

You may want to ignore specific folders, like `node_modules`, see [Ignoring files with .augmentignore](/setup-augment/sync#ignoring-files-with-augmentignore) for more details.

After adding a workspace folder and restarting Vim, the output of the <Keyboard shortcut=":Augment status" /> command will include the syncing progress for the added folder.


# Add context to your workspace
Source: https://docs.augmentcode.com/setup-augment/workspace-context-vscode

You can add additional context to your workspace–such as additional repositories and folders–to give Augment a full view of your system.

export const Availability = ({tags}) => {
  const tagTypes = {
    invite: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    beta: {
      styles: "border border-zinc-500/20 bg-zinc-50/50 dark:border-zinc-500/30 dark:bg-zinc-500/10 text-zinc-900 dark:text-zinc-200"
    },
    vscode: {
      styles: "border border-sky-500/20 bg-sky-50/50 dark:border-sky-500/30 dark:bg-sky-500/10 text-sky-900 dark:text-sky-200"
    },
    jetbrains: {
      styles: "border border-amber-500/20 bg-amber-50/50 dark:border-amber-500/30 dark:bg-amber-500/10 text-amber-900 dark:text-amber-200"
    },
    vim: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    neovim: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    default: {
      styles: "bg-gray-200"
    }
  };
  return <div className="flex items-center space-x-2 border-b pb-4 border-gray-200 dark:border-white/10">
      <span className="text-sm font-medium">Availability</span>
      {tags.map(tag => {
    const tagType = tagTypes[tag] || tagTypes.default;
    return <div key={tag} className={`px-2 py-0.5 rounded-md text-xs font-medium ${tagType.styles}`}>
            {tag}
          </div>;
  })}
    </div>;
};

export const Command = ({text}) => <span className="font-bold">{text}</span>;

<Availability tags={["vscode",]} />

## About Workspace Context

Augment is powered by its deep understanding of your code. Sometimes important parts of your system exist outside of the current workspace you have open in your IDE. For example, you may have seperate frontend and backend repositories or have many services across multiple repositories. Adding additional context to your workspace will improve the code suggestions and chat responses from Augment.

## View Workspace Context

To view your Workspace Context, click the folder icon <Icon icon="folder-open" iconType="light" /> in the top right corner of the Augment sidebar panel.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/workspace-context.png" alt="Workspace Context" className="rounded-xl" />

## Add context to your workspace

To add context to your workspace, click <Command text="+ Add more..." /> at the bottom of the Source Folders section of the context manager. From the file browser select the folders you want to add to your workspace context and click <Command text="Add Source Folder" />.

## View sync status

When viewing Workspace Context, each file and folder will have an icon that indicates whether its sync status. The following icons indicate the sync status of each file in your workspace:

|                                                                   Indicator                                                                   | Status                                  |
| :-------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------- |
|      <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/wsc-included.svg" className="inline h-4 p-0 m-0" />      | Synced, or sync in progress             |
|      <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/wsc-excluded.svg" className="inline h-4 p-0 m-0" />      | Not synced                              |
| <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/wsc-partially-included.svg" className="inline h-4 p-0 m-0" /> | Some files within the folder are synced |


# Index your workspace
Source: https://docs.augmentcode.com/setup-augment/workspace-indexing

When your workspace is indexed, Augment can provide tailored code suggestions and answers based on your unique codebase, best practices, coding patterns, and preferences. You can always control what files are indexed.

## About indexing your workspace

When you open a workspace with Augment enabled, your codebase will be automatically uploaded to Augment's secure cloud. You can control what files get indexed using `.gitignore` and `.augmentignore` files. Indexing usually takes less than a minute but can take longer depending on the size of your codebase. In Visual Studio Code, you can use Workspace Context to [view what files are indexed](/setup-augment/workspace-context#view-index-status-in-visual-studio-code) and [add additional context](/setup-augment/workspace-context).

## Security and privacy

Augment stores your code securely and privately to enable our powerful context engine. We ensure code privacy through a proof-of-possession API and maintain strict internal data minimization principles. [Read more about our security](https://www.augmentcode.com/security).

## What gets indexed

Augment will index all the files in your workspace, except for the files that match patterns in your `.gitignore` file and the `.augmentignore` file. You can [view what files are indexed](/setup-augment/workspace-context#view-sync-status-in-visual-studio-code) in Workspace Context.

## Ignoring files with .augmentignore

The `.augmentignore` file is a list of file patterns that Augment will ignore when indexing your workspace. Create an `.augmentignore` file in the root of your workspace. You can use any glob pattern that is supported by the [gitignore](https://git-scm.com/docs/gitignore) file.

## Including files that are .gitignored

If you have a file or directory in your `.gitignore` that you want to indexed, you can add it to your `.augmentignore` file using the `!` prefix.

For example, you may want your `node_modules` indexed to provide Augment with context about the dependencies in their project, but it is typically included in their `.gitignore`. Add `!node_modules` to your `.augmentignore` file.

<CodeGroup>
  ```bash .augmentignore
  # Include .gitignore excluded files with ! prefix
  !node_modules

  # Exclude other files with .gitignore syntax
  data/test.json
  ```

  ```bash .gitignore
  # Exclude dependencies
  node_modules

  # Exclude secrets
  .env

  # Exclude build artifacts
  out
  build
  ```
</CodeGroup>


# Disable GitHub Copilot
Source: https://docs.augmentcode.com/troubleshooting/disable-copilot

Disable additional code assistants, like GitHub Copilot, to avoid conflicts and unexpected behavior.

export const Command = ({text}) => <span className="font-bold">{text}</span>;

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

## About additional code assistants

Augment is a code assistant that integrates into your favorite IDE's code suggestion system. When multiple code assistants are enabled, they can conflict with each other and cause unexpected behavior. There are multiple ways to prevent conflicts, including uninstalling the additional code assistants or disabling them. For the most up to date instructions on disabling other assistants, please refer to their documentation.

<Tabs>
  <Tab title="Visual Studio Code">
    ### Disable GitHub Copilot

    <Steps>
      <Step title="Open the Extensions panel in Visual Studio Code">
        Click the Extensions icon in the sidebar, or use the keyboard shortcut <Keyboard shortcut="Cmd/Ctrl Shift X" /> to showthe Extensions panel.
      </Step>

      <Step title="Search for GitHub Copilot in your installed extensions">
        Using the search bar in the Extensions panel, search for <Command text="GitHub Copilot" />.
      </Step>

      <Step title="Disable the extension">
        Click `Disable` to disable the extension, and click <Command text="Restart Extensions" />.
      </Step>
    </Steps>

    ### Disable GitHub Copilot inline completions

    <Steps>
      <Step title="Show GtiHub Copilot commands in the Command Palette">
        Click the GitHub Copilot icon in the status bar, or use the keyboard
        shortcut <Keyboard shortcut="Cmd/Ctrl Shift P" /> to show the Command Palette.
      </Step>

      <Step title="Find Disable Completions in the Command Palette">
        Search or scroll for <Command text="Disable Completions" /> in the Command Palette.
      </Step>

      <Step title="Disable completions">
        Click <Command text="Disable Completions" /> to disable inline code completions.
      </Step>
    </Steps>
  </Tab>

  <Tab title="JetBrains IDEs">
    <Note>
      For these instructions we use *JetBrains IntelliJ* as an example; please substitute the name of your JetBrains IDE for *IntelliJ* if you are using a different IDE.
    </Note>

    ### Disable GitHub Copilot

    <Steps>
      <Step title="Open the Plugins settings in your IDE">
        From the menu bar, go to <Command text="IntelliJ IDEA > Settings..." />, or use the
        keyboard shortcut <Keyboard shortcut="Cmd/Ctrl ," /> to open the Settings window. Select <Command text="Plugins" />
        from the sidebar.
      </Step>

      <Step title="Search for GitHub Copilot in your installed extensions">
        Switch to the <Command text="Installed" /> tab in the Plugins panel. Using the search bar in the Plugins panel, search for <Command text="GitHub Copilot" />.
      </Step>

      <Step title="Disable the extension">
        Click <Command text="Disable" /> to disable the extension. Then click <Command text="OK" /> to close the
        Settings window. You will need to restart your IDE for the changes to take effect.
      </Step>
    </Steps>

    ### Disable GitHub Copilot inline completions

    <Steps>
      <Step title="Show GtiHub Copilot plugin menu">
        Click the GitHub Copilot icon in the status bar to show the plugin menu.
      </Step>

      <Step title="Disable completions">
        Click <Command text="Disable Completions" /> to disable inline code completions from GitHub Copilot.
      </Step>
    </Steps>
  </Tab>
</Tabs>


# Feedback
Source: https://docs.augmentcode.com/troubleshooting/feedback

We love feedback, and want to hear from you. We want to make the best AI-powered code assistant so you can get more done.

Feedback helps us improve, and we encourage you to share your feedback on every aspect of using Augment—from suggestion and chat response quality, to user experience nusances, and even how we can improve getting your feedback.

### Reporting a bug

To report a bug, please send an email to [support@augmentcode.com](mailto:support@augmentcode.com). Include as much detail to reproduce the problem as possible; screenshots and videos are very helpful.

### Feedback on completions

We are always balancing the needs for speed and accuracy. We want to know when you get a poor suggestion, hallucination, or a completion that actually doesn't work. The History panel has a log of all of your completions; we encourage you to use it to send us feedback on the completions you've received.

<Note>
  Providing feedback directly in your IDE through the History panel is currently
  only available in Visual Studio Code.
</Note>

<Steps>
  <Step title="Open the History panel">
    Open the History panel by clicking the Augment icon{" "}

    <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/augment-icon-smile.svg" className="inline h-4 p-0 m-0" />

    {" "}

    in the status bar at the bottom right corner of your editor, and select
    `Show History` from the command menu.
  </Step>

  <Step title="Find the completion you want to report">
    Recent completions are listed in reverse chronological order. Locate the
    completion you want to report and add complete the feedback form.
  </Step>

  <Step title="Submit your feedback">
    After completing the form, click either the red button for bad completions
    or the green button for good completions.
  </Step>
</Steps>

### Feedback on chat

After each Chat interaction, you have the opportunity to provide feedback on the quality of the response. At the bottom of the response click either the thumbs up <Icon icon="thumbs-up" iconType="light" /> or thumbs down <Icon icon="thumbs-down" iconType="light" /> icon. Add additional information in the feedback field, and click `Send Feedback`.


# Chat panel steals focus
Source: https://docs.augmentcode.com/troubleshooting/jetbrains-stealing-focus

Fix issue where the Augment Chat panel takes focus while typing in JetBrains IDEs.

export const Command = ({text}) => <span className="font-bold">{text}</span>;

## About focus issues in JetBrains IDEs

Some users on Linux systems have reported that the Augment Chat window steals focus from the editor while typing. This can interrupt your workflow and make it difficult to use the IDE effectively. This issue can be resolved by enabling off-screen rendering in your JetBrains IDE.

### Enable off-screen rendering

<Steps>
  <Step title="Open the Custom Properties editor">
    From the menu bar, go to <Command text="Help > Edit Custom Properties..." />. If the `idea.properties` file doesn't exist yet, you'll be prompted to create it.
  </Step>

  <Step title="Add the off-screen rendering property">
    Add the following line to the properties file:

    ```
    augment.off.screen.rendering=true
    ```
  </Step>

  <Step title="Save and restart your IDE">
    Save the file and restart your JetBrains IDE for the changes to take effect.
  </Step>
</Steps>

After restarting, the Augment Chat window should no longer steal focus from the editor while you're typing.


# Request IDs
Source: https://docs.augmentcode.com/troubleshooting/request-id

Request IDs are generated with every code suggestion and chat interaction. Our team may ask you to provide the request ID when you report a bug or issue.

## Finding a Request ID for Chat

<Steps>
  <Step title="Open the Chat panel">
    Open the Chat panel by clicking the Augment icon{" "}

    <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/augment-icon-chat.png" className="inline h-4 p-0 m-0" />

    {" "}

    in the action bar on the left side of your editor.
  </Step>

  <Step title="Open the chat thread">
    If the chat reply you are interested is in a previous chat thread, find the
    chat thread by clicking the <Icon icon="chevron-right" /> at the top of the
    chat panel and clicking the relevant chat thread.
  </Step>

  <Step title="Find the request ID">
    Find the reply in question and click the <Icon icon="link-simple" /> icon
    above the reply to copy the request ID to your clipboard.
  </Step>
</Steps>

## Finding a Request ID for Completions

<Steps>
  <Step title="Open the History panel">
    Open the History panel by clicking the Augment icon{" "}

    <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/augment-icon-smile.svg" className="inline h-4 p-0 m-0" />

    {" "}

    in the status bar at the bottom right corner of your editor, and select
    `Show History` from the command menu.
  </Step>

  <Step title="Find the request ID">
    Recent requests are listed in reverse chronological order. Locate the
    request you are interested in and copy the request ID by clicking on the
    request ID, for example:
    <br /> `-- Request ID: 7f67c0dd-4c80-4167-9383-8013b18836cb`
  </Step>
</Steps>


# Using Chat
Source: https://docs.augmentcode.com/using-augment/chat

Use Chat to explore your codebase, quickly get up to speed on unfamiliar code, and get help working through a technical problem.

export const win = {
  openPanel: "Ctrl L",
  commandsPalette: "Ctrl Shift A",
  completions: {
    toggle: "Ctrl Alt A",
    toggleIntelliJ: "Ctrl Alt 9",
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Ctrl →"
  },
  instructions: {
    start: "Ctrl I",
    accept: "Return",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Ctrl ;",
    goToPrevious: "Ctrl Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Ctrl Z",
    redo: "Ctrl Y"
  }
};

export const mac = {
  openPanel: "Cmd L",
  commandsPalette: "Cmd Shift A",
  completions: {
    toggle: "Cmd Option A",
    toggleIntelliJ: "Cmd Option 9",
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Cmd →"
  },
  instructions: {
    start: "Cmd I",
    accept: "Return",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Cmd ;",
    goToPrevious: "Cmd Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Cmd Z",
    redo: "Cmd Shift Z"
  }
};

export const DeleteIcon = () => <div className="inline-block w-4 h-4 mr-2">
    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#5f6368" viewBox="0 -960 960 960">
      <path d="M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z" />
    </svg>
  </div>;

export const ChevronRightIcon = () => <div className="inline-block w-4 h-4 mr-2">
    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#5f6368" viewBox="0 -960 960 960">
      <path d="M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z" />
    </svg>
  </div>;

export const NewChatIcon = () => <div className="inline-block w-4 h-4 mr-2">
    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#5f6368" viewBox="0 -960 960 960">
      <path d="M120-160v-600q0-33 23.5-56.5T200-840h480q33 0 56.5 23.5T760-760v203q-10-2-20-2.5t-20-.5q-10 0-20 .5t-20 2.5v-203H200v400h283q-2 10-2.5 20t-.5 20q0 10 .5 20t2.5 20H240L120-160Zm160-440h320v-80H280v80Zm0 160h200v-80H280v80Zm400 280v-120H560v-80h120v-120h80v120h120v80H760v120h-80ZM200-360v-400 400Z" />
    </svg>
  </div>;

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

export const Command = ({text}) => <span className="font-bold">{text}</span>;

## About Chat

Chat is a new way to work with your codebase using natural language. Chat will automatically use the current workspace as context and you can [provide focus](/using-augment/chat-context) for Augment by selecting specific code blocks, files, folders, or external documentation. Details from your current chat, including the additional context, are used to provide more relevant code suggestions as well.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/chat-explain.png" alt="Augment Chat" className="rounded-xl" />

## Accessing Chat

Access the Chat sidebar by clicking the Augment icon <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/augment-icon-chat.png" className="inline h-4 p-0 m-0" /> in the sidebar or the status bar. You can also open Chat by using one of the keyboard shortcuts below.

**Keyboard Shortcuts**

| Platform      | Shortcut                              |
| :------------ | :------------------------------------ |
| MacOS         | <Keyboard shortcut={mac.openPanel} /> |
| Windows/Linux | <Keyboard shortcut={win.openPanel} /> |

## Using Chat

To use Chat, simply type your question or command into the input field at the bottom of the Chat panel. You will see the currently included context which includes the workspace and current file by default. Use Chat to explain your code, investigate a bug, or use a new library. See [Example Prompts for Chat](/using-augment/chat-prompts) for more ideas on using Chat.

#### Conversations about code

To get the best possible results, you can go beyond asking simple questions or commands, and instead have a back and forth conversation with Chat about your code. For example, you can ask Chat to explain a specific function and then ask follow-up questions about possible refactoring options. Chat can act as a pair programmer, helping you work through a technical problem or understand unfamiliar code.

#### Starting a new chat

You should start a new Chat when you want to change the topic of the conversation since the current conversation is used as part of the context for your next question. To start a new chat, open the Augment panel and click the new chat icon <NewChatIcon /> at the top-right of the Chat panel.

#### Previous chats

You can continue a chat by clicking the chevron icon<ChevronRightIcon />at the top-left of the Chat panel. Your previous chats will be listed in reverse chronological order, and you can continue your conversation where you left off.

#### Deleting a chat

You can delete a previous chat by clicking the chevron icon<ChevronRightIcon />at the top-left of the Chat panel to show the list of previous chats. Click the delete icon <DeleteIcon /> next to the chat you want to delete. You will be asked to confirm that you want to delete the chat.


# Using Actions in Chat
Source: https://docs.augmentcode.com/using-augment/chat-actions

Actions let you take common actions on code blocks without leaving Chat. Explain, improve, or find everything you need to know about your codebase.

export const ArrowUpIcon = () => <div className="inline-block w-4 h-4 mr-2">
    <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="#5f6368">
      <path d="M444-192v-438L243-429l-51-51 288-288 288 288-51 51-201-201v438h-72Z" />
    </svg>
  </div>;

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

<img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/chat-actions.png" alt="Augment Chat Actions" className="rounded-xl" />

## Using actions in Chat

To use a quick action, you an use a <Keyboard shortcut="/" /> command or click the up arrow icon<ArrowUpIcon />to show the available actions. For explain, fix, and test actions, first highlight the code in the editor and then use the command.

| Action                           | Usage                                                                    |
| :------------------------------- | :----------------------------------------------------------------------- |
| <Keyboard shortcut="/find" />    | Use natural language to find code or functionality                       |
| <Keyboard shortcut="/explain" /> | Augment will explain the hightlighted code                               |
| <Keyboard shortcut="/fix" />     | Augment will suggest improvements or find errors in the highlighted code |
| <Keyboard shortcut="/test" />    | Augment will suggest tests for the highlighted code                      |

Augment will typically include code blocks in the response to the action. See [Applying code blocks from Chat](/using-augment/chat-apply) for more details.


# Applying code blocks from Chat
Source: https://docs.augmentcode.com/using-augment/chat-apply

Use Chat to explore your codebase, quickly get up to speed on unfamiliar code, and get help working through a technical problem.

export const Availability = ({tags}) => {
  const tagTypes = {
    invite: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    beta: {
      styles: "border border-zinc-500/20 bg-zinc-50/50 dark:border-zinc-500/30 dark:bg-zinc-500/10 text-zinc-900 dark:text-zinc-200"
    },
    vscode: {
      styles: "border border-sky-500/20 bg-sky-50/50 dark:border-sky-500/30 dark:bg-sky-500/10 text-sky-900 dark:text-sky-200"
    },
    jetbrains: {
      styles: "border border-amber-500/20 bg-amber-50/50 dark:border-amber-500/30 dark:bg-amber-500/10 text-amber-900 dark:text-amber-200"
    },
    vim: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    neovim: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    default: {
      styles: "bg-gray-200"
    }
  };
  return <div className="flex items-center space-x-2 border-b pb-4 border-gray-200 dark:border-white/10">
      <span className="text-sm font-medium">Availability</span>
      {tags.map(tag => {
    const tagType = tagTypes[tag] || tagTypes.default;
    return <div key={tag} className={`px-2 py-0.5 rounded-md text-xs font-medium ${tagType.styles}`}>
            {tag}
          </div>;
  })}
    </div>;
};

export const MoreVertIcon = () => <div className="inline-block w-4 h-4 mr-2">
    <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="#5f6368">
      <path d="M479.79-192Q450-192 429-213.21t-21-51Q408-294 429.21-315t51-21Q510-336 531-314.79t21 51Q552-234 530.79-213t-51 21Zm0-216Q450-408 429-429.21t-21-51Q408-510 429.21-531t51-21Q510-552 531-530.79t21 51Q552-450 530.79-429t-51 21Zm0-216Q450-624 429-645.21t-21-51Q408-726 429.21-747t51-21Q510-768 531-746.79t21 51Q552-666 530.79-645t-51 21Z" />
    </svg>
  </div>;

export const CheckIcon = () => <div className="inline-block w-4 h-4 mr-2">
    <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="#5f6368">
      <path d="M389-267 195-460l51-52 143 143 325-324 51 51-376 375Z" />
    </svg>
  </div>;

export const FileNewIcon = () => <div className="inline-block w-4 h-4 mr-2">
    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#5f6368" viewBox="0 -960 960 960">
      <path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h360v80H200v560h560v-360h80v360q0 33-23.5 56.5T760-120H200Zm120-160v-80h320v80H320Zm0-120v-80h320v80H320Zm0-120v-80h320v80H320Zm360-80v-80h-80v-80h80v-80h80v80h80v80h-80v80h-80Z" />
    </svg>
  </div>;

export const FileCopyIcon = () => <div className="inline-block w-4 h-4 mr-2">
    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#5f6368" viewBox="0 -960 960 960">
      <path d="M760-200H320q-33 0-56.5-23.5T240-280v-560q0-33 23.5-56.5T320-920h280l240 240v400q0 33-23.5 
      56.5T760-200ZM560-640v-200H320v560h440v-360H560ZM160-40q-33 0-56.5-23.5T80-120v-560h80v560h440v80H
      160Zm160-800v200-200 560-560Z" />
    </svg>
  </div>;

<img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/chat-apply.png" alt="Augment Chat Apply" className="rounded-xl" />

## Using code blocks from within Chat

Whenever Chat responds with code, you will have the option to add the code to your codebase. The most common option will be shown as a button and you can access the other options by clicking the overflow menu icon<MoreVertIcon />at the top-right of the code block. You can use the following options to apply the code:

* <FileCopyIcon />**Copy**
  the code from the block to your clipboard
* <FileNewIcon />**Create**
  a new file with the code from the block
* <CheckIcon />**Apply**
  the code from the block intelligently to your file


# Focusing Context in Chat
Source: https://docs.augmentcode.com/using-augment/chat-context

You can specify context from files, folders, and external documentation in your conversation to focus your chat responses.

export const AtIcon = () => <div className="inline-block w-4 h-4 mr-2">
    <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="#5f6368">
      <path d="M480.39-96q-79.52 0-149.45-30Q261-156 208.5-208.5T126-330.96q-30-69.96-30-149.5t30-149.04q30-69.5 82.5-122T330.96-834q69.96-30 149.5-30t149.04 30q69.5 30 122 82.5t82.5 122Q864-560 864-480v60q0 54.85-38.5 93.42Q787-288 732-288q-34 0-62.5-17t-48.66-45Q593-321 556.5-304.5T480-288q-79.68 0-135.84-56.23-56.16-56.22-56.16-136Q288-560 344.23-616q56.22-56 136-56Q560-672 616-615.84q56 56.16 56 135.84v60q0 25.16 17.5 42.58Q707-360 732-360t42.5-17.42Q792-394.84 792-420v-60q0-130-91-221t-221-91q-130 0-221 91t-91 221q0 130 91 221t221 91h192v72H480.39ZM480-360q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Z" />
    </svg>
  </div>;

export const Command = ({text}) => <span className="font-bold">{text}</span>;

## About Chat Context

Augment intelligently includes context from your entire workspace based on the ongoing conversation–even if you don't have the relevant files open in your editor–but sometimes you want Augment to prioritize specific details for more relevant responses.

<video src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/chat-context.mp4" loop muted controls className="rounded-xl" />

### Focusing context for your conversation

You can specify context by clicking the <AtIcon /> icon at the top-left of the Chat panel or by <Command text="@-mentioning" /> in the input field. You can use fuzzy search to filter the list of context options quickly. There are a number of different types of additional context you can add to your conversation:

1. Highlighted code blocks
2. Specific files or folders within your workspace
3. 3rd party documentation, like Next.js documentation

#### Mentioning files and folders

Include specific files or folders in your context by typing `@` followed by the file or folder name. For example, `@routes.tsx` will include the `routes.tsx` file in your context. You can include multiple files or folders.

#### Mentioning 3rd party documentation

You can also mention 3rd party documentation in your context by typing `@` followed by the name of the documentation. For example, `@Next.js` will include Next.js documentation in your context. Augment provides nearly 300 documentation sets spanning across a wide range of domains such as programming languages, packages, software tools, and frameworks.


# Guidelines for Chat
Source: https://docs.augmentcode.com/using-augment/chat-guidelines

You can provide custom guidelines written in natural language to improve Chat with your preferences, best practices, styles, and technology stack.

export const Command = ({text}) => <span className="font-bold">{text}</span>;

export const Availability = ({tags}) => {
  const tagTypes = {
    invite: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    beta: {
      styles: "border border-zinc-500/20 bg-zinc-50/50 dark:border-zinc-500/30 dark:bg-zinc-500/10 text-zinc-900 dark:text-zinc-200"
    },
    vscode: {
      styles: "border border-sky-500/20 bg-sky-50/50 dark:border-sky-500/30 dark:bg-sky-500/10 text-sky-900 dark:text-sky-200"
    },
    jetbrains: {
      styles: "border border-amber-500/20 bg-amber-50/50 dark:border-amber-500/30 dark:bg-amber-500/10 text-amber-900 dark:text-amber-200"
    },
    vim: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    neovim: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    default: {
      styles: "bg-gray-200"
    }
  };
  return <div className="flex items-center space-x-2 border-b pb-4 border-gray-200 dark:border-white/10">
      <span className="text-sm font-medium">Availability</span>
      {tags.map(tag => {
    const tagType = tagTypes[tag] || tagTypes.default;
    return <div key={tag} className={`px-2 py-0.5 rounded-md text-xs font-medium ${tagType.styles}`}>
            {tag}
          </div>;
  })}
    </div>;
};

<Availability tags={["vscode"]} />

## About guidelines

Chat guidelines are natural language instructions that can help Augment reply with more accurate and relevant responses. Guidelines are perfect for telling Augment to take into consideration specific preferences, package versions, styles, and other implementation details that can't be managed with a linter or compiler. You can create guidelines for a specific workspace or globally for all chats; guidelines do not currently apply to Completions, Instructions, or Next Edit.

## User guidelines

<img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/user-guidelines.png" alt="Adding user guidelines" className="rounded-xl" />

#### Adding user guidelines

You can add user guidelines by clicking <Command text="Context" /> menu or starting an <Command text="@-mention" /> from the Chat input box. User guidelines will be applied to all future chats in all open editors.

1. Select <Command text="User Guidelines" />
2. Enter your guidelines (see below for tips)
3. Click <Command text="Save" />

#### Updating or removing user guidelines

You can update or remove your guidelines by clicking on the <Command text="User Guidelines" /> context chip. Update or remove your guidelines and click <Command text="Save" />. Updating or removing user guidelines in any editor will modify them in all open editors.

## Workspace guidelines

You can add an `.augment-guidelines` file to the root of a repository to specify a set of guidelines that Augment Chat will follow for all Chat sessions on the codebase. The `.augment-guidelines` file should be added to your version control system so that everyone working on the codebase has the same guidelines.

## Tips for good guidelines

* Provide guidelines as a list
* Use simple, clear, and concise language for your guidelines
* Asking for shorter or code-only answers may hurt response quality

#### User guideline examples

* Ask for additional explaination (e.g., For Typescript code, explain what the code is doing in more detail)
* Set a preferred language (e.g, Respond to questions in Spanish)

#### Workspace guideline examples

* Identifying preferred libraries (e.g., pytest vs unittest)
* Identifying specific patterns (e.g., For NextJS, use the App Router and server components)
* Rejecting specific anti-patterns (e.g., a deprecated internal module)
* Defining naming convensions (e.g., functions start with verbs)

#### Limitations

Guidelines are currently limited to a maximum of 2000 characters.


# Example Prompts for Chat
Source: https://docs.augmentcode.com/using-augment/chat-prompts

Using natural language to interact with your codebase unlocks a whole new way of working. Learn how to get the most out of Chat with the following example prompts.

## About chatting with your codebase

Augment's Chat has deep understanding about your codebase, dependencies, and best practices. You can use Chat to ask questions about your code, but it also can help you with general software engineering questions, think through technical decisions, explore new libraries, and more. Here are a few example prompts to get you started.

## Explain code

* Explain this codebase to me
* How do I use the Twilio API to send a text message?
* Explain how generics work in TypeScript and give me a simple example

## Finding code

* Where are all the useEffect hooks that depend on the 'currentUser' variable?
* Find the decorators that implement retry logic across our microservices
* Find coroutines that handle database transactions without a timeout parameter

## Generate code

* Write a function to check if a string is a valid email address
* Generate a middleware function that rate-limits API requests using a sliding window algorithm
* Create a SQL query to find the top 5 customers who spent the most money last month

## Write tests

* Write integration tests for this API endpoint
* What edge cases have I not included in this test?
* Generate mock data for testing this customer order processing function

## Refactor and improve code

* This function is running slowly with large collections - how can I optimize it?
* Refactor this callback-based code to use async/await instead
* Rewrite this function in Rust

## Find and fix errors

* This endpoint sometimes returns a 500 error. Here's the error log - what's wrong?
* I'm getting 'TypeError: Cannot read property 'length' of undefined' in this component.
* Getting CORS errors when my frontend tries to fetch from the API


# Completions
Source: https://docs.augmentcode.com/using-augment/completions

Use code completions to get more done. Augment's radical context awareness means more relevant suggestions, fewer hallucinations, and less time hunting down documentation.

export const MoreVertIcon = () => <div className="inline-block w-4 h-4 mr-2">
    <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="#5f6368">
      <path d="M479.79-192Q450-192 429-213.21t-21-51Q408-294 429.21-315t51-21Q510-336 531-314.79t21 51Q552-234 530.79-213t-51 21Zm0-216Q450-408 429-429.21t-21-51Q408-510 429.21-531t51-21Q510-552 531-530.79t21 51Q552-450 530.79-429t-51 21Zm0-216Q450-624 429-645.21t-21-51Q408-726 429.21-747t51-21Q510-768 531-746.79t21 51Q552-666 530.79-645t-51 21Z" />
    </svg>
  </div>;

export const win = {
  openPanel: "Ctrl L",
  commandsPalette: "Ctrl Shift A",
  completions: {
    toggle: "Ctrl Alt A",
    toggleIntelliJ: "Ctrl Alt 9",
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Ctrl →"
  },
  instructions: {
    start: "Ctrl I",
    accept: "Return",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Ctrl ;",
    goToPrevious: "Ctrl Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Ctrl Z",
    redo: "Ctrl Y"
  }
};

export const mac = {
  openPanel: "Cmd L",
  commandsPalette: "Cmd Shift A",
  completions: {
    toggle: "Cmd Option A",
    toggleIntelliJ: "Cmd Option 9",
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Cmd →"
  },
  instructions: {
    start: "Cmd I",
    accept: "Return",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Cmd ;",
    goToPrevious: "Cmd Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Cmd Z",
    redo: "Cmd Shift Z"
  }
};

export const k = {
  openPanel: "Cmd/Ctrl L",
  commandsPalette: "Cmd/Ctrl Shift A",
  completions: {
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Cmd/Ctrl →"
  },
  instructions: {
    start: "Cmd/Ctrl I",
    accept: "Return/Enter",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Cmd/Ctrl ;",
    goToPrevious: "Cmd/Ctrl Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Cmd/Ctrl Z",
    redo: "Cmd Shift Z/Ctrl Y"
  }
};

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

export const Command = ({text}) => <span className="font-bold">{text}</span>;

## About Code Completions

Augment's Code Completions integrates with your IDE's native completions system to give you autocomplete-like suggestions as you type. You can accept all of a suggestion, accept partial suggestions a word or a line at a time, or just keep typing to ignore the suggestion.

## Using Code Completions

To use code completions, simply start typing in your IDE. Augment will provide suggestions based on the context of your code. You can accept a suggestion by pressing <Keyboard shortcut={k.completions.accept} />, or ignore it by continuing to type.

For example, add the following function to a TypeScript file:

```typescript
function getUser(): Promise<User>;
```

As you type `getUser`, Augment will suggest the function signature. Press <Keyboard shortcut={k.completions.accept} /> to accept the suggestion. Augment will continue to offer suggestions until the function is complete, at which point you will have a function similar to:

```typescript
function getUser(): Promise<User> {
  return fetch("/api/user/1")
    .then((response) => response.json())
    .then((json) => {
      return json as User;
    });
}
```

### Accepting Completions

<Tabs>
  <Tab title="MacOS">
    <Tip>
      We recommend configuring a custom keybinding to accept a word or line, see
      [Keyboard shortcuts](/setup-augment/vscode-keyboard-shortcuts) for more
      details.
    </Tip>

    | Action                         | Default keyboard shortcut                                         |
    | :----------------------------- | :---------------------------------------------------------------- |
    | Accept inline suggestion       | <Keyboard shortcut={mac.completions.accept} />                    |
    | Accept next word of suggestion | <Keyboard shortcut={mac.completions.acceptNextWord} />            |
    | Accept next line of suggestion | None (see above)                                                  |
    | Reject suggestion              | <Keyboard shortcut={mac.completions.reject} />                    |
    | Ignore suggestion              | Continue typing through the suggestion                            |
    | Toggle automatic completions   | VSCode: <Keyboard shortcut={mac.completions.toggle} />            |
    |                                | JetBrains: <Keyboard shortcut={mac.completions.toggleIntelliJ} /> |
  </Tab>

  <Tab title="Windows/Linux">
    <Tip>
      We recommend configuring a custom keybinding to accept a word or line, see
      [Keyboard shortcuts](/setup-augment/vscode-keyboard-shortcuts) for more
      details.
    </Tip>

    | Action                         | Default keyboard shortcut                                         |
    | :----------------------------- | :---------------------------------------------------------------- |
    | Accept inline suggestion       | <Keyboard shortcut={win.completions.accept} />                    |
    | Accept next word of suggestion | <Keyboard shortcut={win.completions.acceptNextWord} />            |
    | Accept next line of suggestion | None (see above)                                                  |
    | Reject suggestion              | <Keyboard shortcut={win.completions.reject} />                    |
    | Ignore suggestion              | Continue typing through the suggestion                            |
    | Toggle automatic completions   | VSCode: <Keyboard shortcut={win.completions.toggle} />            |
    |                                | JetBrains: <Keyboard shortcut={win.completions.toggleIntelliJ} /> |
  </Tab>
</Tabs>

### Disabling Completions

<Tabs>
  <Tab title="Visual Studio Code">
    You can disable automatic code completions by clicking the overflow menu icon<MoreVertIcon />at the top-right of the Augment panel, then selecting <Command text="Turn Automatic Completions Off" />.
  </Tab>

  <Tab title="JetBrains IDEs">
    You can disable automatic code completions by clicking the Augment icon <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/augment-icon-smile.svg" className="inline h-3 p-0 m-0" /> in the status bar at the bottom right corner of your IDE, then selecting <Command text="Disable Completions" />.
  </Tab>
</Tabs>

### Enable Completions

<Tabs>
  <Tab title="Visual Studio Code">
    If you've temporarily disabled completions, you can re-enable them by clicking the overflow menu icon<MoreVertIcon />at the top-right of the Augment panel, then selecting <Command text="Turn Automatic Completions On" />.
  </Tab>

  <Tab title="JetBrains IDEs">
    If you've temporarily disabled completions, you can re-enable them by clicking the Augment icon <img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/augment-icon-smile.svg" className="inline h-3 p-0 m-0" /> in the status bar at the bottom right corner of your IDE, then selecting <Command text="Enable Completions" />.
  </Tab>
</Tabs>


# Instructions
Source: https://docs.augmentcode.com/using-augment/instructions

Use Instructions to write or modify blocks of code using natural language. Refactor a function, write unit tests, or craft any prompt to transform your code.

export const win = {
  openPanel: "Ctrl L",
  commandsPalette: "Ctrl Shift A",
  completions: {
    toggle: "Ctrl Alt A",
    toggleIntelliJ: "Ctrl Alt 9",
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Ctrl →"
  },
  instructions: {
    start: "Ctrl I",
    accept: "Return",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Ctrl ;",
    goToPrevious: "Ctrl Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Ctrl Z",
    redo: "Ctrl Y"
  }
};

export const mac = {
  openPanel: "Cmd L",
  commandsPalette: "Cmd Shift A",
  completions: {
    toggle: "Cmd Option A",
    toggleIntelliJ: "Cmd Option 9",
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Cmd →"
  },
  instructions: {
    start: "Cmd I",
    accept: "Return",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Cmd ;",
    goToPrevious: "Cmd Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Cmd Z",
    redo: "Cmd Shift Z"
  }
};

export const k = {
  openPanel: "Cmd/Ctrl L",
  commandsPalette: "Cmd/Ctrl Shift A",
  completions: {
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Cmd/Ctrl →"
  },
  instructions: {
    start: "Cmd/Ctrl I",
    accept: "Return/Enter",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Cmd/Ctrl ;",
    goToPrevious: "Cmd/Ctrl Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Cmd/Ctrl Z",
    redo: "Cmd Shift Z/Ctrl Y"
  }
};

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

export const Availability = ({tags}) => {
  const tagTypes = {
    invite: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    beta: {
      styles: "border border-zinc-500/20 bg-zinc-50/50 dark:border-zinc-500/30 dark:bg-zinc-500/10 text-zinc-900 dark:text-zinc-200"
    },
    vscode: {
      styles: "border border-sky-500/20 bg-sky-50/50 dark:border-sky-500/30 dark:bg-sky-500/10 text-sky-900 dark:text-sky-200"
    },
    jetbrains: {
      styles: "border border-amber-500/20 bg-amber-50/50 dark:border-amber-500/30 dark:bg-amber-500/10 text-amber-900 dark:text-amber-200"
    },
    vim: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    neovim: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    default: {
      styles: "bg-gray-200"
    }
  };
  return <div className="flex items-center space-x-2 border-b pb-4 border-gray-200 dark:border-white/10">
      <span className="text-sm font-medium">Availability</span>
      {tags.map(tag => {
    const tagType = tagTypes[tag] || tagTypes.default;
    return <div key={tag} className={`px-2 py-0.5 rounded-md text-xs font-medium ${tagType.styles}`}>
            {tag}
          </div>;
  })}
    </div>;
};

<Availability tags={["vscode",]} />

## About Instructions

Augment's Instructions let you use natural language prompts to insert new code or modify your existing code. Instructions can be initiated by hitting <Keyboard shortcut={k.instructions.start} /> and entering an instruction inside the input box that appears in the diff view. The change will be applied as a diff to be reviewed before accepting.

## Using Instructions

To start a new Instruction, there are two options. You can select & highlight the code you want to change or place your cursor where you want new code to be added, then press <Keyboard shortcut={k.instructions.start} />. You'll be taken to a diff view where you can enter your prompt and see the results.

For example, you can generate new functions based on existing code:

```
> Add a getUser function that takes userId as a parameter
```

<img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/instructions.png" className="rounded-xl" alt="Augment Instructions Diff" />

Your change will be made as a diff, so you can review the suggested updates before modifying your code. Use the following shortcuts or click the options in the UI to accept or reject the changes.

<Tabs>
  <Tab title="MacOS">
    | Action            | Shortcut                                        |
    | :---------------- | :---------------------------------------------- |
    | Start instruction | <Keyboard shortcut={mac.instructions.start} />  |
    | Accept            | <Keyboard shortcut={mac.instructions.accept} /> |
    | Reject            | <Keyboard shortcut={mac.instructions.reject} /> |
  </Tab>

  <Tab title="Windows/Linux">
    | Action            | Shortcut                                        |
    | :---------------- | :---------------------------------------------- |
    | Start instruction | <Keyboard shortcut={win.instructions.start} />  |
    | Accept            | <Keyboard shortcut={win.instructions.accept} /> |
    | Reject            | <Keyboard shortcut={win.instructions.reject} /> |
  </Tab>
</Tabs>


# Next Edit
Source: https://docs.augmentcode.com/using-augment/next-edit

Use Next Edit to flow through complex changes across your codebase. Cut down the time you spend on repetitive work like refactors, library upgrades, and schema changes.


export const NextEditSettingsIcon = () => <div className="inline-block w-4 h-4 mr-2">
    <svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
    <path fill-rule="evenodd" clip-rule="evenodd" d="M19.85 8.75l4.15.83v4.84l-4.15.83 2.35 3.52-3.43 3.43-3.52-2.35-.83 4.15H9.58l-.83-4.15-3.52 2.35-3.43-3.43 2.35-3.52L0 14.42V9.58l4.15-.83L1.8 5.23 5.23 1.8l3.52 2.35L9.58 0h4.84l.83 4.15 3.52-2.35 3.43 3.43-2.35 3.52zm-1.57 5.07l4-.81v-2l-4-.81-.54-1.3 2.29-3.43-1.43-1.43-3.43 2.29-1.3-.54-.81-4h-2l-.81 4-1.3.54-3.43-2.29-1.43 1.43L6.38 8.9l-.54 1.3-4 .81v2l4 .81.54 1.3-2.29 3.43 1.43 1.43 3.43-2.29 1.3.54.81 4h2l.81-4 1.3-.54 3.43 2.29 1.43-1.43-2.29-3.43.54-1.3zm-8.186-4.672A3.43 3.43 0 0 1 12 8.57 3.44 3.44 0 0 1 15.43 12a3.43 3.43 0 1 1-5.336-2.852zm.956 4.274c.281.188.612.288.95.288A1.7 1.7 0 0 0 13.71 12a1.71 1.71 0 1 0-2.66 1.422z" />
    </svg>
  </div>;

export const NextEditDiffIcon = () => <div className="inline-block w-4 h-4 mr-2">
    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
    <path fill-rule="evenodd" clip-rule="evenodd" d="M10.7099 1.28902L13.7099 4.28902L13.9999 4.99902V13.999L12.9999 14.999H3.99994L2.99994 13.999V1.99902L3.99994 0.999023H9.99994L10.7099 1.28902ZM3.99994 13.999H12.9999V4.99902L9.99994 1.99902H3.99994V13.999ZM8 5.99902H6V6.99902H8V8.99902H9V6.99902H11V5.99902H9V3.99902H8V5.99902ZM6 10.999H11V11.999H6V10.999Z" />
    </svg>
  </div>;

export const NextEditPencil = () => <div className="inline-block w-4 h-4 mr-2">
    <svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <title>nextedit_available_dark</title>
    <g id="nextedit_available_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
        <path d="M11.0070258,7 C11.1334895,7 11.2318501,6.90866511 11.2529274,6.76814988 C11.5409836,4.95550351 11.8641686,4.52693208 13.7751756,4.2529274 C13.9156909,4.23185012 14,4.13348946 14,4 C14,3.8735363 13.9156909,3.77517564 13.7751756,3.75409836 C11.8571429,3.48009368 11.618267,3.07259953 11.2529274,1.21779859 C11.2248244,1.09133489 11.1334895,1 11.0070258,1 C10.8735363,1 10.7751756,1.09133489 10.7540984,1.22482436 C10.4660422,3.07259953 10.1498829,3.48009368 8.23887588,3.75409836 C8.09836066,3.78220141 8.00702576,3.8735363 8.00702576,4 C8.00702576,4.13348946 8.09836066,4.23185012 8.23887588,4.2529274 C10.1569087,4.52693208 10.4028103,4.92740047 10.7540984,6.77517564 C10.7822014,6.91569087 10.8805621,7 11.0070258,7 Z" id="Path" fill="#BF5AF2"></path>
        <path d="M14.0056206,8.8 C14.0814988,8.8 14.1405152,8.74519906 14.1531616,8.66088993 C14.3259953,7.57330211 14.5199063,7.31615925 15.6665105,7.15175644 C15.7508197,7.13911007 15.8014052,7.08009368 15.8014052,7 C15.8014052,6.92412178 15.7508197,6.86510539 15.6665105,6.85245902 C14.5156909,6.68805621 14.3723653,6.44355972 14.1531616,5.33067916 C14.1362998,5.25480094 14.0814988,5.2 14.0056206,5.2 C13.9255269,5.2 13.8665105,5.25480094 13.8538642,5.33489461 C13.6810304,6.44355972 13.4913349,6.68805621 12.3447307,6.85245902 C12.2604215,6.86932084 12.2056206,6.92412178 12.2056206,7 C12.2056206,7.08009368 12.2604215,7.13911007 12.3447307,7.15175644 C13.4955504,7.31615925 13.6430913,7.55644028 13.8538642,8.66510539 C13.870726,8.74941452 13.9297424,8.8 14.0056206,8.8 Z" id="Path-Copy" fill="#BF5AF2" opacity="0.600000024"></path>
        <g id="Pencil_Base" fill="#168AFF">
            <path d="M3.07557525,3.27946831 C3.10738379,3.27258798 3.13664209,3.26682472 3.16597818,3.26160513 C3.19407786,3.25661079 3.22181021,3.25217747 3.24959807,3.24822758 C3.3431507,3.23490837 3.43787348,3.22705558 3.53270619,3.22474499 C3.54619312,3.22441336 3.56021661,3.22418981 3.57424082,3.22408741 L3.59202055,3.22402251 C3.61600759,3.22402251 3.63999463,3.22437692 3.66397314,3.22508575 C3.69176119,3.22590043 3.72012236,3.22722855 3.74845755,3.22905289 C3.77692744,3.23089046 3.80498198,3.23319023 3.83299719,3.23597733 C3.86236278,3.23889105 3.89230728,3.24242516 3.92218997,3.24651769 C3.95842477,3.25149198 3.99379267,3.25714552 4.02904516,3.2635852 C4.04457753,3.26641925 4.06056799,3.26950351 4.07653203,3.27274998 C4.1217801,3.28195855 4.16647313,3.29238022 4.21089814,3.30408537 C4.22093231,3.3067264 4.23153789,3.30959531 4.24212737,3.31253756 C4.27196202,3.32083528 4.30106886,3.32952376 4.33003598,3.33877116 C4.35855924,3.347869 4.38751122,3.35771229 4.41630528,3.3681193 C4.42116985,3.36987869 4.42551008,3.37146263 4.42984665,3.3730594 C4.4761162,3.39008583 4.52241276,3.4087674 4.56821184,3.42893807 C4.59406406,3.44033198 4.61917606,3.45191971 4.64412424,3.46396063 C4.67111495,3.47697976 4.69839649,3.4907848 4.72546291,3.50513959 C4.75890801,3.52288219 4.79178851,3.54132453 4.82431475,3.56059431 C4.8374698,3.56838641 4.85073285,3.5764165 4.86393439,3.58458539 C4.89491851,3.60376145 4.92539479,3.6235868 4.95550936,3.64416832 C4.9772823,3.65904443 4.99913454,3.67451232 5.02078256,3.69038541 C5.03998798,3.70447076 5.05881967,3.71870909 5.07748715,3.73325923 C5.10440445,3.75423289 5.13126725,3.7760983 5.15775949,3.79862613 C5.1821715,3.81939236 5.20595148,3.84042939 5.22940861,3.86201411 C5.24512436,3.87647694 5.26059993,3.89109333 5.27592752,3.90595256 C5.28442786,3.91418351 5.29385225,3.92345739 5.30321896,3.9328241 L10.2031018,8.83270693 C10.255475,8.88508012 10.3065885,8.93859789 10.3564099,8.99321224 L10.2031018,8.83270693 C10.2748395,8.90444467 10.344214,8.97832987 10.4111413,9.05423915 C10.4223877,9.06699478 10.4335715,9.07981507 10.4446856,9.092692 C10.7663645,9.46539004 11.0297601,9.88553066 11.2252237,10.3388957 L11.6780206,11.3880225 L12.548286,13.4076516 C12.7467158,13.8678966 12.5344727,14.4018581 12.0742277,14.6002879 C11.9977866,14.6332447 11.9179446,14.6552159 11.836969,14.6662015 L11.7149387,14.6744406 C11.592625,14.6744406 11.4703113,14.6497231 11.3556497,14.6002879 L11.2340206,14.5480225 L9.33602055,13.7300225 L8.28689372,13.2772256 C7.83352871,13.081762 7.41338809,12.8183665 7.04069004,12.4966876 L7.0022372,12.4631433 C6.98177889,12.4451057 6.9614676,12.4268903 6.94130575,12.4084989 L7.04069004,12.4966876 C6.95122931,12.4194733 6.86450207,12.3389008 6.78070498,12.2551038 L1.88082214,7.35522092 C0.935753358,6.41015213 0.935753358,4.87789288 1.88082214,3.9328241 L1.90902055,3.90502251 L2.01192506,3.8109306 C2.19120357,3.65606766 2.38780913,3.5318516 2.59488381,3.4382824 C2.62872186,3.42311621 2.65522016,3.41182111 2.68187195,3.40102033 C2.76025666,3.36925866 2.83986347,3.34180278 2.92043821,3.31861145 L3.07557525,3.27946831 Z M9.58610551,9.95149698 L7.89951995,11.6381324 C8.10279642,11.805046 8.32371441,11.9494547 8.55841217,12.068738 L8.76594574,12.166096 L10.2570206,12.8090225 L10.7570206,12.3090225 L10.114094,10.8179477 C9.97930356,10.5053101 9.80144069,10.2137385 9.58610551,9.95149698 Z" id="Combined-Shape" fill-rule="nonzero"></path>
            <rect id="Rectangle" opacity="0.005" x="0" y="0" width="16" height="16" rx="2"></rect>
        </g>
    </g>
    </svg>
  </div>;

export const Availability = ({tags}) => {
  const tagTypes = {
    invite: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    beta: {
      styles: "border border-zinc-500/20 bg-zinc-50/50 dark:border-zinc-500/30 dark:bg-zinc-500/10 text-zinc-900 dark:text-zinc-200"
    },
    vscode: {
      styles: "border border-sky-500/20 bg-sky-50/50 dark:border-sky-500/30 dark:bg-sky-500/10 text-sky-900 dark:text-sky-200"
    },
    jetbrains: {
      styles: "border border-amber-500/20 bg-amber-50/50 dark:border-amber-500/30 dark:bg-amber-500/10 text-amber-900 dark:text-amber-200"
    },
    vim: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    neovim: {
      styles: "bg-gray-700 text-white dark:border-gray-50/10"
    },
    default: {
      styles: "bg-gray-200"
    }
  };
  return <div className="flex items-center space-x-2 border-b pb-4 border-gray-200 dark:border-white/10">
      <span className="text-sm font-medium">Availability</span>
      {tags.map(tag => {
    const tagType = tagTypes[tag] || tagTypes.default;
    return <div key={tag} className={`px-2 py-0.5 rounded-md text-xs font-medium ${tagType.styles}`}>
            {tag}
          </div>;
  })}
    </div>;
};

export const win = {
  openPanel: "Ctrl L",
  commandsPalette: "Ctrl Shift A",
  completions: {
    toggle: "Ctrl Alt A",
    toggleIntelliJ: "Ctrl Alt 9",
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Ctrl →"
  },
  instructions: {
    start: "Ctrl I",
    accept: "Return",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Ctrl ;",
    goToPrevious: "Ctrl Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Ctrl Z",
    redo: "Ctrl Y"
  }
};

export const mac = {
  openPanel: "Cmd L",
  commandsPalette: "Cmd Shift A",
  completions: {
    toggle: "Cmd Option A",
    toggleIntelliJ: "Cmd Option 9",
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Cmd →"
  },
  instructions: {
    start: "Cmd I",
    accept: "Return",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Cmd ;",
    goToPrevious: "Cmd Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Cmd Z",
    redo: "Cmd Shift Z"
  }
};

export const k = {
  openPanel: "Cmd/Ctrl L",
  commandsPalette: "Cmd/Ctrl Shift A",
  completions: {
    accept: "Tab",
    reject: "Esc",
    acceptNextWord: "Cmd/Ctrl →"
  },
  instructions: {
    start: "Cmd/Ctrl I",
    accept: "Return/Enter",
    reject: "Esc"
  },
  suggestions: {
    goToNext: "Cmd/Ctrl ;",
    goToPrevious: "Cmd/Ctrl Shift ;",
    accept: "Enter",
    reject: "Backspace",
    undo: "Cmd/Ctrl Z",
    redo: "Cmd Shift Z/Ctrl Y"
  }
};

export const Command = ({text}) => <span className="font-bold">{text}</span>;

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

<Availability tags={["vscode"]} />

## About Next Edit

<iframe class="w-full aspect-video rounded-md" src="https://www.youtube.com/embed/GPQgQpXbunc?si=opEGaxWlnWWtDimK" title="Feature Intro: Augment Next Edit" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />

Next Edit helps you complete your train of thought by suggesting changes based on
your recent work and other context. You can jump to the next edit and quickly accept or
reject the suggested change with a single keystroke.

## Using Next Edit

<img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/next-edit-example.webp" className="rounded-xl" />

When Next Edit has a suggestion available, you will see a gutter icon and a summary
of the change in gray at the end of the line.
To jump to the next suggestion, press <Keyboard shortcut={k.suggestions.goToNext} /> and
after reviewing the change, press <Keyboard shortcut={k.suggestions.accept} /> to accept
or <Keyboard shortcut={k.suggestions.reject} /> to reject. If there are multiple
changes, press <Keyboard shortcut={k.suggestions.goToNext} /> to accept and go to the
next suggestion.

{/*TODO(arun): Take screenshots with keybindings. */}

<img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/next-edit-before.png" className="rounded-xl" />

<img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/next-edit-after.png" className="rounded-xl" />

By default, Next Edit will briefly highlight which parts of the existing code will
change before applying the change and highlighting the new code. Use Undo
(<Keyboard shortcut={k.suggestions.undo} />) and Redo
(<Keyboard shortcut={k.suggestions.redo} />) to manually review the change.
You can configure this behavior in your Augment extension settings.

### Keyboard Shortcuts

<Tabs>
  <Tab title="MacOS">
    | Action            | Default shortcut                                     |
    | :---------------- | :--------------------------------------------------- |
    | Go to next        | <Keyboard shortcut={mac.suggestions.goToNext} />     |
    | Go to previous    | <Keyboard shortcut={mac.suggestions.goToPrevious} /> |
    | Accept suggestion | <Keyboard shortcut={mac.suggestions.accept} />       |
    | Reject suggestion | <Keyboard shortcut={mac.suggestions.reject} />       |
  </Tab>

  <Tab title="Windows/Linux">
    | Action            | Default shortcut                                     |
    | :---------------- | :--------------------------------------------------- |
    | Go to next        | <Keyboard shortcut={win.suggestions.goToNext} />     |
    | Go to previous    | <Keyboard shortcut={win.suggestions.goToPrevious} /> |
    | Accept suggestion | <Keyboard shortcut={win.suggestions.accept} />       |
    | Reject suggestion | <Keyboard shortcut={win.suggestions.reject} />       |
  </Tab>
</Tabs>

### Next Edit Indicators And Actions

There are several indicators to let you know Next Edits are available:

<img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/next-edit-indicators-1.png" className="rounded-xl" />

1. **Editor Title Icon** (Top Right): Changes colors when next edits are available.
   Click on the <NextEditPencil /> icon to open the next edit menu for
   additional actions like enabling/disabling the feature or accessing settings.
2. **Gutter Icon** (Left) - Indicates which lines will be changed by the suggestion
   and whether it will insert, delete or change code.
3. **Grey Text** (Right) -  appears on the line with the suggestion on screen with a
   brief summary of the change and the keybinding to press (typically
   <Keyboard shortcut={k.suggestions.goToNext} />).

<img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/next-edit-indicators-2.png" className="rounded-xl" />

4. **Hint Box** (Bottom Left) - appears when the next suggestion is off screen with
   brief summary of the change and the keybinding to press (typically
   <Keyboard shortcut={k.suggestions.goToNext} />).

The tooltip also presents a few actions as icons:

* <NextEditDiffIcon /> Toggles showing diffs for suggestions in the tooltip.
* <NextEditSettingsIcon /> Opens Next Edit settings.

### Next Edit Settings

You can configure Next Edit settings in your Augment extension settings.
To open Augment extension settings, either navigate to the option through the pencil
menu, or open the Augment Commands panel by pressing
<Keyboard shortcut={k.commandsPalette} /> and select <Command text="⚙ Edit Settings" />.

Here are some notable settings:

* <Command text="Augment > Next Edit: Enable Background Suggestions" />: Use to enable or
  disable the feature.
* <Command text="Augment > Next Edit: Enable Global Background Suggestions" />: When enabled, Next
  Edits will suggest changes in other files via the hint box.
* <Command text="Augment > Next Edit: Enable Auto Apply" />: When enabled, Next
  Edits will automatically apply changes when you jump to them.
* <Command text="Augment > Next Edit: Show Diff in Hover" />: When enabled,
  Next Edits will show a diff of the suggested change in the hover.
* <Command text="Augment > Next Edit: Highlight Suggestions in The Editor" />: When enabled,
  Next Edits will highlight all lines with a suggestion in addition to showing gutter
  icons and grey text.


# Using Augment for Slack
Source: https://docs.augmentcode.com/using-augment/slack

Chat with Augment directly in Slack to explore your codebase, get instant help, and collaborate with your team on technical problems.

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

export const Command = ({text}) => <span className="font-bold">{text}</span>;

## About Augment for Slack

Augment for Slack brings the power of Augment Chat to your team's Slack workspace. Mention <Command text="@Augment" /> in any channel or start a DM with Augment to have deep codebase-aware conversations with your team. Before you can use Augment for Slack, you will need to [install the Augment Slack App](/setup-augment/install-slack-app).

<img src="https://mintlify.s3.us-west-1.amazonaws.com/augment-mtje7p526w/images/slack-chat-reply.png" alt="Augment for Slack" className="rounded-xl" />

## Adding Augment to Channels

Mention <Command text="@Augment" /> to add it to any public or private channel.

*Note: To protect your code, Augment excludes repository context in channels with external members.*

## Starting Conversations in Channels

Mention <Command text="@Augment" /> anywhere in your message or thread to start a conversation. Augment will consider the entire thread's context when responding. Remove messages by adding a ❌ reaction.

## Direct Messages

While group discussions help share knowledge, you can also have private conversations with Augment. Access it by:

* Clicking the Augment logo in the top right of your Slack workspace
* Finding it under <Command text="Apps" /> in the Slack sidebar
* Pressing <Keyboard shortcut="Cmd/Ctrl T" /> and searching for <Command text="@Augment" />

If you don't see the Augment logo, add it to your [navigation bar](/setup-augment/install-slack-app#3-add-augment-to-the-slack-navigation-bar). *If you don't see this option, contact your workspace admin to [re-install the App](/setup-augment/install-slack-app#2-install-slack-app).*

You do not need to mention Augment in direct messages - it will respond to every message!

## Restricting where Augment can be used

Augment already avoids responding with codebase context in external channels, to protect your codebase from Slack users outside of your organization. Beyond this, you can also further restrict what channels Augment can be used in, with an allowlist. If configured, Augment will only respond in channels or DMs that are in the allowlist. To use this feature, contact us.

## Repository Context

Augment uses the default branch (typically `main`) of your linked repositories. Currently, other branches aren't accessible.

If you have multiple repositories installed, use <Command text="/augment repo-select" /> to choose which repository Augment should use for the current conversation. This selection applies to the specific channel or DM where you run the command, allowing you to work with different repositories in different conversations.

## Feedback

Help us improve by reacting with 👍 or 👎 to Augment's responses, or use the `Send feedback` message shortcut. We love hearing from you!


# Using Augment with Vim and Neovim
Source: https://docs.augmentcode.com/using-augment/vim-neovim

Augment for Vim and Neovim gives you powerful code completions and chat capabilities integrated into your favorite code editor.

export const Next = ({children}) => <div className="border-t border-b pb-8 border-gray dark:border-white/10">
    <h3>Next steps</h3>
    {children}
  </div>;

export const Keyboard = ({shortcut}) => <span className="inline-block border border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-800 rounded-md text-xs text-gray font-bold px-1 py-0.5">
    {shortcut}
  </span>;

export const Command = ({text}) => <span className="font-bold">{text}</span>;

## Using completions

Augment’s code completions integrates with Vim and Neovim to give you autocomplete-like suggestions as you type. Completions are enable by default and you can use <Keyboard shortcut="Tab" /> to accept a suggestion.

| Command                                  | Action                                      |
| :--------------------------------------- | :------------------------------------------ |
| <Keyboard shortcut="Tab" />              | Accept the current suggestion               |
| <Keyboard shortcut=":Augment enable" />  | Globally enable suggestions (on by default) |
| <Keyboard shortcut=":Augment disable" /> | Globally disable suggestions                |

### Customizing accepting a suggestion

If you want to use a key other than <Keyboard shortcut="Tab" /> to accept a suggestion, create a mapping that calls `augment#Accept()`. The function takes an optional arugment used to specify the fallback text to insert if no suggestion is available.

```vim
" Use Ctrl-Y to accept a suggestion
inoremap <c-y> <cmd>call augment#Accept()<cr>

" Use enter to accept a suggestion, falling back to a newline if no suggestion
" is available
inoremap <cr> <cmd>call augment#Accept("\n")<cr>
```

You can disable the default <Keyboard shortcut="Tab" /> mapping by setting `g:augment_disable_tab_mapping = v:true` before the plugin is loaded.

## Using chat

Chat is a new way to work with your codebase using natural language. Use Chat to explore your codebase, quickly get up to speed on unfamiliar code, and get help working through a technical problem.

| Command                                         | Action                           |
| :---------------------------------------------- | :------------------------------- |
| <Keyboard shortcut=":Augment chat <message>" /> | Send a chat message to Augment   |
| <Keyboard shortcut=":Augment chat-new" />       | Start a new chat conversation    |
| <Keyboard shortcut=":Augment chat-toggle" />    | Toggle the chat panel visibility |

### Sending a message

You can send a message to Chat using the <Keyboard shortcut=":Augment chat" /> command. You can send your message as an optional argument to the command or enter it into the command-line when prompted. Each new message will continue the current conversation which will be used as context for your next message.

**Focusing on selected text**

If you have text selected in `visual mode`, Augment will automatically include it in your message. This is useful for asking questions about specific code or requesting changes to the selected code.

### Starting a new conversation

You can start a new conversation by using the <Keyboard shortcut=":Augment chat-new" /> command.

## All available commands

| Command                                         | Action                                      |
| :---------------------------------------------- | :------------------------------------------ |
| <Keyboard shortcut=":Augment enable" />         | Globally enable suggestions (on by default) |
| <Keyboard shortcut=":Augment disable" />        | Globally disable suggestions                |
| <Keyboard shortcut=":Augment chat <message>" /> | Send a chat message to Augment              |
| <Keyboard shortcut=":Augment chat-new" />       | Start a new chat conversation               |
| <Keyboard shortcut=":Augment chat-toggle" />    | Toggle the chat panel visibility            |
| <Keyboard shortcut=":Augment signin" />         | Start the sign in flow                      |
| <Keyboard shortcut=":Augment signout" />        | Sign out of Augment                         |
| <Keyboard shortcut=":Augment status" />         | View the current status of the plugin       |
| <Keyboard shortcut=":Augment log" />            | View the plugin log                         |

<Next>
  * [Configure workspace context](/setup-augment/workspace-context-vim)
  * [Configure keyboard shortcuts](/setup-augment/vim-keyboard-shortcuts)
</Next>


