Skip to main content

Context

Context allows you to provide additional information to Enia when asking questions or requesting code changes. By referencing files, git history, signals, or tasks, you help Enia understand exactly what you're working with.

@ Add Context

Type @ in the Chat input field to see available context options:

Context TypePurpose
@FileReference specific files in your project
@WebSearch the internet for up-to-date information
@GitReference commits or branches
@SignalReference a detected Signal issue
@TaskReference a previous Task

@File

Reference files to give Enia context about your code.

How to use:

  1. Type @ in the input field
  2. Select File or start typing the filename
  3. Choose from the file list or continue typing to filter

Tag behavior:

  • Click: Opens the file in the editor

Example: "@UserService.ts can you add input validation to the login method?"

@Web

Search the internet for up-to-date information. Use this when you need current documentation, latest API references, or real-time information that may not be in your codebase.

How to use:

  1. Type @web in the input field
  2. Enter your search query
  3. Enia will search the internet and include relevant results in its response

Use cases:

  • Finding latest library documentation
  • Checking current best practices
  • Looking up error messages or solutions
  • Researching new APIs or frameworks

Example: "@web what's the latest syntax for React Server Components?"

@Git

Reference git commits or branches for context about code changes.

How to use:

  1. Type @ in the input field
  2. Select Git
  3. Choose @commit or @branch
  4. Select the specific commit or branch

Example: "@commit abc1234 what changed in this commit?"

@Signal

Reference a Signal issue to discuss it in Chat before applying.

How to use:

  1. Type @signal in the input field
  2. Select from the list of recent Signals (up to 10 most recent)

Tag behavior:

  • Hover: Shows full Signal card preview

Example: "@signal-123 is this fix safe to apply?"

@Task

Reference a previous Task to discuss or iterate on it.

How to use:

  1. Type @task in the input field
  2. Select from the list of recent Tasks

Tag behavior:

  • Click: Opens Task details in a new editor tab

Example: "@task-456 can you also add error handling?"

@Terminal

Reference terminal output in your conversation. (VS Code only)

How to use:

  1. Type @terminal in the input field
  2. Recent terminal output is automatically included

Example: "@terminal why did this test fail?"

Add Image

Attach screenshots or diagrams to help explain your question.

How to use:

  1. Click the image icon in the input area
  2. Select an image file
  3. The image appears as a thumbnail tag

Tag behavior:

  • Hover anywhere on the tag: Shows image preview
  • Click: No action

Tip: Use images to share error screenshots, UI mockups, or architecture diagrams.

Managing Context Tags

Multiple References

You can add multiple context items in a single message:

"@UserService.ts @AuthService.ts can you show me how these interact?"

Removing Tags

Click the × on any tag to remove it before sending.

Tag Appearance

Tags appear above the input field with:

  • Icon indicating type (file, signal, task, etc.)
  • Truncated label (max 100px width)
  • Remove button (×)

Sensitive File Protection

.eniaignore

Create a .eniaignore file in your project root to prevent Enia from accessing sensitive files:

# Ignore all env files
.env
.env.*

# Ignore secrets directory
secrets/

# Ignore specific config
config/credentials.json

Behavior

Files matching .eniaignore rules:

  • Will not appear in @File suggestions
  • Will not be indexed for code search
  • Will not be automatically read by Enia

Syntax

.eniaignore follows gitignore syntax:

PatternMeaning
*.logIgnore all .log files
secret_data/Ignore entire directory
**/tests/Ignore tests folders at any level
!config.example.jsForce include (whitelist)
# commentComment line

Priority

.eniaignore rules override .gitignore. If a file is in .gitignore but explicitly included in .eniaignore with !, Enia can access it.