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 Type | Purpose |
|---|---|
| @File | Reference specific files in your project |
| @Web | Search the internet for up-to-date information |
| @Git | Reference commits or branches |
| @Signal | Reference a detected Signal issue |
| @Task | Reference a previous Task |
@File
Reference files to give Enia context about your code.
How to use:
- Type
@in the input field - Select File or start typing the filename
- 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:
- Type
@webin the input field - Enter your search query
- 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:
- Type
@in the input field - Select Git
- Choose @commit or @branch
- 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:
- Type
@signalin the input field - 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:
- Type
@taskin the input field - 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:
- Type
@terminalin the input field - 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:
- Click the image icon in the input area
- Select an image file
- 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:
| Pattern | Meaning |
|---|---|
*.log | Ignore all .log files |
secret_data/ | Ignore entire directory |
**/tests/ | Ignore tests folders at any level |
!config.example.js | Force include (whitelist) |
# comment | Comment line |
Priority
.eniaignore rules override .gitignore. If a file is in .gitignore but explicitly included in .eniaignore with !, Enia can access it.