Skip to main content
Experimental API - Context Connectors is experimental and subject to breaking changes.

Prerequisites

  • A GitHub repository
  • Augment API credentials

Steps

1. Create the workflow file

Create .github/workflows/augment-index.yml in your repository:
name: Index Repository

on:
  push:
    branches:
      - main
  workflow_dispatch:  # Allow manual triggering

jobs:
  index:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Restore index state
        uses: actions/cache@v4
        with:
          path: .augment-index-state
          key: augment-index-${{ github.ref_name }}-${{ github.sha }}
          restore-keys: |
            augment-index-${{ github.ref_name }}-

      - name: Index repository
        run: |
          npx @augmentcode/context-connectors index github \
            --owner ${{ github.repository_owner }} \
            --repo ${{ github.event.repository.name }} \
            --ref ${{ github.sha }} \
            -i ${{ github.repository_owner }}/${{ github.event.repository.name }}
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          AUGMENT_SESSION_AUTH: ${{ secrets.AUGMENT_SESSION_AUTH }}

2. Set up GitHub repository secrets

Go to your repository Settings → Secrets and variables → Actions and add:
Secret NameValue
AUGMENT_SESSION_AUTHYour Augment session JSON (from auggie token print)
How to get your credentials:
# Login to Augment
auggie login

# Print your session JSON
auggie token print
Copy the full session JSON output and use it as the value for AUGMENT_SESSION_AUTH.

3. Commit and push

git add .github/workflows/augment-index.yml
git commit -m "Add Augment indexing workflow"
git push

4. Verify it’s working

Go to your repository’s Actions tab. You should see the “Index Repository” workflow running. Once complete, you can search your index:
export AUGMENT_SESSION_AUTH='<session-json>'  # from auggie token print
npx ctxc search "authentication logic" -i myorg/myrepo

Done!

Your repository will now automatically re-index on every push to the main branch. The workflow uses GitHub Actions cache to store index state for efficient incremental updates.

Also Works With

Instead of…Try…
Main branch onlyEdit the workflow to add more branches: branches: [main, develop]
GitHub cacheUse S3 storage: add --store s3 and set CC_S3_BUCKET env var
Custom index nameChange the -i value to your preferred name

How It Works

The workflow:
  1. Triggers on every push to your main branch
  2. Restores the previous index state from GitHub Actions cache
  3. Indexes the repository using the GitHub API (no checkout needed for indexing)
  4. Caches the new index state for the next run
This approach is much faster than full re-indexing on every push.

Advanced: Using S3 Storage

For production use or team sharing, you can store indexes in S3 instead of GitHub cache:
  1. Edit .github/workflows/augment-index.yml
  2. Add S3 configuration to the command:
- name: Index repository
  run: |
    npx @augmentcode/context-connectors index github \
      --owner ${{ github.repository_owner }} \
      --repo ${{ github.event.repository.name }} \
      --ref ${{ github.sha }} \
      -i ${{ github.repository_owner }}/${{ github.event.repository.name }} \
      --store s3
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    AUGMENT_SESSION_AUTH: ${{ secrets.AUGMENT_SESSION_AUTH }}
    AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
    AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
    CC_S3_BUCKET: my-team-indexes
  1. Add AWS credentials to repository secrets
This allows multiple repositories or team members to share the same index.