# Docs Agent reference

import { Aside } from '@astrojs/starlight/components';

## Supported file types

Upload files to give the agent more context. Click the attachment icon in the chat panel and select your files.

### Documents

| Category | Formats | Max size |
|----------|---------|----------|
| Text and markup | `.txt`, `.md`, `.markdown`, `.csv`, `.rst`, `.html`, `.htm`, `.adoc`, `.asciidoc`, `.tex`, `.latex` | 50 MB |
| Data and configuration | `.json`, `.yaml`, `.yml`, `.toml`, `.log`, `.sql`, `.ini`, `.config` | 50 MB |
| Office | `.doc`, `.docx`, `.xls`, `.xlsx`, `.ppt`, `.pptx`, `.rtf` | 50 MB |
| PDF | `.pdf` | 50 MB |
| Images | `.jpg`, `.jpeg`, `.png`, `.gif`, `.webp`, `.tiff`, `.tif`, `.bmp` | 50 MB |

### Code files

| Language | Formats | Max size |
|----------|---------|----------|
| Python | `.py`, `.ipynb` | 50 MB |
| JavaScript / TypeScript | `.js`, `.jsx`, `.ts`, `.tsx`, `.css` | 50 MB |
| JVM | `.java`, `.kt`, `.kts`, `.scala` | 50 MB |
| C family | `.c`, `.cpp`, `.cxx`, `.h`, `.hpp`, `.cs` | 50 MB |
| Systems and scripting | `.rs`, `.go`, `.rb`, `.php`, `.swift`, `.dart`, `.lua`, `.pl`, `.pm`, `.t`, `.m`, `.r`, `.rmd` | 50 MB |
| Shell | `.sh`, `.bash`, `.zsh` | 50 MB |

### Video

| Formats | Max size |
|---------|----------|
| `.mp4`, `.webm`, `.mov`, `.avi`, `.mpeg`, `.mpg`, `.ogg` | 500 MB |

### Processing notes

- **Text-based PDFs** — The agent extracts text instantly.
- **Scanned PDFs** — The agent processes these with optical character recognition (OCR), which may take longer.
- **Images** — The agent sees the image content directly. You can use images as visual context or [insert them into your documentation](/agent/create/#from-screenshots-and-images) as files.
- **Code, data, and configuration files** — Content is extracted as plain text. Files larger than 500,000 characters are truncated with a marker indicating where the content was cut.
- **Video** — The agent transcribes and summarizes the content; processing time varies with length.

### Binary files in the editor

When the agent inserts an image into your repository, it appears as a placeholder in the editor. Binary files don't preview inline, but the agent adds the correct markdown reference in the surrounding document. Binary files appear when you [create a pull request](/agent/update-review/#create-a-pull-request).

## Limits

<Aside type="caution" title="Upload limits">
| Limit | Value |
|-------|-------|
| Document file size | 50 MB per file |
| Video file size | 500 MB per file |
| Extracted text | 500,000 characters per file |
| Files per message | 20 |
</Aside>

## Troubleshooting

### Docs Agent doesn't appear in the navigation

Docs Agent is in beta. Email **support@ekline.io** with your organization name to request access.

### The agent doesn't understand the repository structure

Be more specific in your prompt:

- Reference file paths: `"Look at src/api/auth.ts"`
- Mention the framework: `"This is a Next.js project using App Router"`
- Describe the architecture: `"API routes are in src/pages/api, components in src/components"`

You can also add this kind of context permanently through [custom instructions](#can-i-give-the-agent-context-about-my-organization).

### Generated content doesn't match the documentation style

The agent learns from your existing docs. If styles are inconsistent, results may vary.

Try:
- Reference a specific doc as an example: `"Match the style of docs/getting-started.md"`
- Be explicit about formatting: `"Use numbered steps, not bullet points"`
- Specify tone: `"Technical but approachable, similar to Stripe's docs"`

### Integration content isn't loading

Verify that:

1. The integration is connected in **Settings > Organization > Integrations**.
2. You have access to the Slack channel, Notion page, or ticket.
3. The URL or reference ID is correct.

### Pull request creation fails

Verify that:

- Your repository is connected to EkLine.
- You have write access to the repository.
- The branch you're targeting exists.
- The PR title is at least 5 characters.

If the issue persists, contact **support@ekline.io**.

### Video processing is slow or fails

Video processing time depends on length. For a 10-minute video, expect 2 to 3 minutes of processing.

If processing fails:
- Verify that the file format is supported.
- Check that the file is under 500 MB.
- Try re-uploading the file.

## FAQ

### What repositories can Docs Agent access?

Repositories connected to your EkLine organization. Manage repository access in **Settings > Organization > GitHub Integration**.

### Does the agent modify files directly?

In the editor, no. The agent generates content that you review, edit, and then publish through a pull request.

When triggered from a [GitHub PR comment](/agent/github-integration/) or a [Slack @mention](/agent/slack-bot#automatic-pull-requests), the agent automatically opens a docs PR on your configured documentation repository. You still review and merge the PR before changes reach your main branch.

### Can I use Docs Agent for private repositories?

Yes. The agent respects your repository permissions and only accesses repositories you've connected and authorized.

### Can I give the agent context about my organization?

Yes. Go to **Settings > Organization > Docs Agent** and add custom instructions. Use these to give the agent context it can't infer from your code alone — for example, the purpose of each repository, how your documentation is organized, which versions to support, or company-specific conventions. The agent applies these instructions to every session for your organization. Click **Refresh Docs Agent Instructions** to apply changes. Any organization member can edit custom instructions up to 5,000 characters.

### How does the agent know my documentation style?

The agent analyzes your existing documentation to understand patterns:

- Heading structure and hierarchy.
- Code example conventions.
- Terminology and voice.
- File organization and naming.

For best results, keep a consistent style in your existing docs. You can also use [custom instructions](#can-i-give-the-agent-context-about-my-organization) to specify preferences the agent can't pick up from the codebase.

### What happens to uploaded files?

EkLine extracts content from uploaded files to inform the agent's response. EkLine stores files securely and associates them with your session. EkLine does not share them with other users or organizations.

### Can I stop the agent or send messages while it works?

Yes. The chat input button has three states: **Send**, **Stop**, and **Queue**. When the agent is working, click the Stop button to cancel the current turn, or type a follow-up and click the Queue button to send it after the current turn completes. See [Control the agent while it works](/agent/getting-started/#control-the-agent-while-it-works) for details.

### Can I use Docs Agent without creating a pull request?

Yes. You can copy content directly from the editor or download the generated files. The PR workflow is optional.

### How does Docs Agent select reviewers for pull requests?

The agent uses two sources to assign reviewers:

- **Default reviewers** — usernames your organization administrator configures in **Settings > Organization > Docs Agent**. The agent adds these reviewers to every PR it opens.
- **Auto-assign** — enabled by default, the agent identifies who triggered the session and adds them as a reviewer. For example, if someone requests documentation from Slack, the agent looks up their GitHub username. If the session started from a source PR, the PR author is added.

Bot accounts are automatically excluded. If the agent cannot find a reviewer, the PR is still created without one.

## Get help

For issues not covered here, contact **support@ekline.io** with:

- A description of what you're trying to do.
- The prompt you used.
- Any error messages you received.
- Screenshots if applicable.