Your First Enki Session
This guide walks you through launching Enki, understanding the initial setup, and creating your first task.Make sure you’ve completed the Installation steps before proceeding.
Launch the TUI
Navigate to any project directory (Git repository or not) and run:First Run: Project Initialization
On first run in a new directory, Enki automatically:Initializes the database
Creates SQLite tables for tasks, executions, merge requests, and worker state.
Understanding the Interface
The TUI consists of:- Chat Area: Main interaction space where you describe work and see responses
- Task Status: Visual indicators showing running, completed, and failed tasks
- Streaming Output: Live updates from agents as they work
Create Your First Task
Enki uses a coordinator agent to break down your requests into executable tasks. Let’s try a simple example:Example: Code Documentation
In the TUI chat, type:What Happens Next
Coordinator analyzes your request
The coordinator agent (running via Claude Code) analyzes your instruction and decides how to break it into tasks.
Tasks are created
The coordinator creates one or more tasks with dependencies. For this example, likely a single task:
- “Document public functions in src/main.rs”
Workers are spawned
For each task, Enki:
- Creates a copy-on-write clone of your project at
.enki/copies/<task-id>/ - Spawns an ACP agent in that isolated copy
- The agent works independently without affecting your main files
Real Terminal Output
Here’s what you might see:Multi-Step Workflows
Enki excels at complex, multi-step work with dependencies. Try:- Create a dependency graph (DAG)
- Implement the command first
- After implementation completes, run tests and documentation in parallel
- Merge changes in order
Parallel Execution
Enki runs independent tasks in parallel based on tier limits:- Light tier: Up to 5 concurrent workers (simple tasks)
- Standard tier: Up to 3 concurrent workers (typical coding tasks)
- Heavy tier: 1 worker at a time (complex refactors)
Working in Git Repositories
If your project is a Git repository, Enki:- Creates a
task/<id>branch for each task - Commits worker output to that branch
- Merges through a queue to avoid conflicts
- Preserves your Git history with structured commits
In non-Git directories, Enki uses Git internally for tracking changes but doesn’t create a permanent repository.
Common Commands in the TUI
While chatting with the coordinator, you can:- Create tasks: Describe work naturally
- Check status: “What tasks are running?”
- Pause work: “Pause the refactoring task”
- Cancel tasks: “Cancel all pending documentation tasks”
- Retry failures: “Retry the failed test task”
- Stop everything: “Stop all workers”
Coordinator Agent Behavior
Worker agents, on the other hand, work in isolated copies and their changes are merged through the queue.Checking Logs
If something goes wrong, check the logs:Tips for Success
- Be specific: The more detail you provide, the better the coordinator can plan
- Use natural language: Describe tasks as you would to a colleague
- Check status frequently: Use “show status” to see what’s running
- Let it work: Agents work in isolated copies, so your main code stays safe
- Review merges: Check merged changes before committing to your main branch
Next Steps
Core Concepts
Learn how Enki’s DAG orchestration works
Task Management
Master creating, managing, and monitoring tasks
Merge Queue
Understand how changes are merged back
Troubleshooting
Solutions for common issues
