Skip to main content

Graph-based coding intelligence system - The 'Senior Engineer' Context Engine

Project description

emdash-ai

Graph-based coding intelligence system - The 'Senior Engineer' Context Engine

Quick Install (macOS)

brew install uv cmake
uv tool install emdash-ai

Quick Install (Linux)

# Install dependencies
sudo apt-get install cmake  # Debian/Ubuntu
# or: sudo dnf install cmake  # Fedora

# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Add uv to PATH (add to ~/.bashrc or ~/.zshrc)
export PATH="$HOME/.cargo/bin:$PATH"

uv tool install emdash-ai

Note: After installation, you may need to reload your shell config:

source ~/.zshrc  # or ~/.bashrc

Update

uv tool upgrade emdash-ai

Requirements

  • Python 3.10+ (3.10-3.13 recommended)
  • cmake (for building the graph database)

Usage

em              # Start the AI coding agent
emdash index    # Index your codebase
emdash agent    # Start the AI agent (alternative)

Slash Commands

Once inside the agent REPL, use these slash commands:

Mode Switching

Command Description
/plan Switch to plan mode (explore codebase, create plans)
/code Switch to code mode (execute file changes)
/mode Show current operating mode

Generation & Research

Command Description
/projectmd Generate PROJECT.md describing your codebase architecture
/pr [url] Review a pull request (e.g., /pr 123 or /pr https://github.com/org/repo/pull/123)
/research [goal] Deep research on a topic (e.g., /research How does auth work?)

Status & Context

Command Description
/status Show index and PROJECT.md status
/context Show current context frame (tokens, reranked items)
/compact Compact message history using LLM summarization
/spec Show current specification from plan mode

Todo Management

Command Description
/todos Show current agent todo list
/todo-add [title] Add a todo item for the agent

Session Management

Command Description
/session Interactive session menu
/session save [name] Save current session
/session load [name] Load a saved session
/session list List all saved sessions
/session delete [name] Delete a session
/reset Reset session state

Configuration

Command Description
/agents Manage agents (create, show, edit, delete)
/rules Manage rules that guide agent behavior
/skills Manage reusable skills
/hooks Manage event hooks (triggers on tool_start, session_end, etc.)
/mcp Manage MCP servers
/registry Browse and install community plugins, skills, rules, agents, and verifiers
/setup Interactive setup wizard

Verification

Command Description
/verify Run verification checks on current work
/verify-loop [task] Run task in loop until all verifications pass

Authentication & Diagnostics

Command Description
/auth GitHub authentication (login, logout, status)
/doctor Check environment and diagnose issues

Help & Exit

Command Description
/help Show available commands
/quit Exit the agent (also /exit, /q)

Keyboard Shortcuts

Shortcut Action
Ctrl+Space Auto-complete commands
Alt+Enter Multi-line input
Ctrl+V Paste image from clipboard
@filename Reference a file in your prompt

Features

  • Graph-based code analysis
  • Semantic code search
  • AI-powered code exploration
  • MCP server integration
  • Session persistence
  • Custom agents, rules, and skills
  • Event hooks for automation
  • Verification loops
  • Plugin system for bundled workflows

Configuration

Configuration files are stored in .emdash/ in your project root:

.emdash/
├── agents/       # Custom agent definitions
├── rules/        # Coding rules and guidelines
├── skills/       # Reusable skills
├── plugins/      # Installed plugin manifests
├── sessions/     # Saved sessions
├── hooks.json    # Event hooks configuration
├── plugins.json  # Installed plugins tracking
└── verifiers.json # Verification configurations

Global config at ~/.config/emdash/:

~/.config/emdash/
├── mcp.json      # MCP server configuration
└── config.json   # Global settings

Troubleshooting

Build fails with "cmake: command not found"

If you see Failed to build kuzu with cmake errors:

# macOS
brew install cmake

# Linux (Debian/Ubuntu)
sudo apt-get install cmake

# Then retry
uv tool install emdash-ai

"permission denied: em"

If you get zsh: permission denied: em or similar:

# Check if uv tool installed it
uv tool list

# Reinstall
uv tool uninstall emdash-ai && uv tool install emdash-ai

Command not found

If em or emdash is not found, add ~/.local/bin to your PATH:

# For zsh (add to ~/.zshrc)
export PATH="$HOME/.local/bin:$PATH"

# For bash (add to ~/.bashrc or ~/.bash_profile)
export PATH="$HOME/.local/bin:$PATH"

# Then reload
source ~/.zshrc  # or ~/.bashrc

Debug installation

# Check which em is being found
which em
type em

# Check permissions
ls -la ~/.local/bin/em

# Check installed version
uv tool list

Uninstall

uv tool uninstall emdash-ai

Running Terminal-Bench

Run the terminal-bench benchmark to evaluate agent performance.

Prerequisites

  • Docker running (Colima or Rancher Desktop)
  • Harbor installed: pip install harbor

Setup

cd benchmarks
uv venv .venv
uv pip install -r requirements.txt

Run

./benchmarks/scripts/run.sh

With custom settings:

MODEL="qwen3-vl-235b" PARALLEL=2 ./benchmarks/scripts/run.sh
Variable Default Description
MODEL claude-haiku-4-5 Model to benchmark
PARALLEL 4 Concurrent tasks
DATASET terminal-bench@2.0 Dataset to run

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emdash_ai-0.1.176.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

emdash_ai-0.1.176-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file emdash_ai-0.1.176.tar.gz.

File metadata

  • Download URL: emdash_ai-0.1.176.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for emdash_ai-0.1.176.tar.gz
Algorithm Hash digest
SHA256 8b6b7c5375f3c0e3adf1025176d4e3a90e5ef5babb158e8dc3aa7c42334e5731
MD5 36bb9bc08be8e255ad6b15815385383a
BLAKE2b-256 15c96340484062ed80f665246e71aaa722042e886ff091fe5ab1d138fab97693

See more details on using hashes here.

File details

Details for the file emdash_ai-0.1.176-py3-none-any.whl.

File metadata

  • Download URL: emdash_ai-0.1.176-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for emdash_ai-0.1.176-py3-none-any.whl
Algorithm Hash digest
SHA256 071d4cc627e9d89aa199811557098aa89777c10ed315af86b994965ae5c4e698
MD5 0d1a54e8297864ded1d8aaeda3e3426f
BLAKE2b-256 d39bd55eba33af244153b1d5fd961b620a3dc3c17487ce8b6ae77df84e7f59a4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page