MCPcopy Index your code
hub / github.com/enz1m/enzim-coder

github.com/enz1m/enzim-coder @v0.1.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.3 ↗ · + Follow
1,590 symbols 4,263 edges 124 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Enzim Coder

Enzim Coder is a GTK4/libadwaita desktop app for working with coding threads, workspaces, Git context, file browsing, and local agent sessions in one place.

Today it supports Codex Codex and OpenCode OpenCode.

Soon: Claude Code Claude Code, Google CLI Google CLI

Main chat view

Multi-pane chat view Worktree and Git workflow Remote control and integrations
Multi-chat view Worktrees Remote

✨ Features

💬 Persistent Threads 📁 Workspace-Scoped Chats
👤 Multi-Profile Sessions 🔄 Background Thread State
🪟 Multi-Pane Chat View 🌿 Built-in Git Tab
📂 Built-in File Browser 🔌 MCP and Skills UI
🎨 Runtime Theming 🗄️ Local SQLite Storage

🚀 Getting Started

🧩 AppImage

Download the latest AppImage from the GitHub Releases page.

Make it executable:

chmod +x EnzimCoder-*.AppImage

Run:

./EnzimCoder-*.AppImage

What the AppImage does:

  1. On first ./EnzimCoder-*.AppImage launch, it creates a user-scoped .desktop entry and icon automatically.
  2. If you later move the AppImage to a different folder and run it again, that .desktop entry is updated to the new path automatically.
  3. AppImage builds should offer update notifications automatically from GitHub Releases.
  4. If the update prompt does not appear or the in-app update fails, download the latest release manually.

📦 Flatpak

Flatpak is coming soon.

For now, use the AppImage release.

⚙️ Runtime Requirements

Enzim Coder currently supports either the Codex CLI or the OpenCode CLI on the machine.

Install one or both:

npm i -g @openai/codex
curl -fsSL https://opencode.ai/install | bash

You can then create Codex and OpenCode profiles inside the app and authenticate the runtime you want to use. If neither supported CLI is available, the app will prompt for installation in the UI.

🖥️ Platform

  • Linux desktop app
  • Rust 1.92
  • GTK4 + libadwaita
  • GTK 4.21+ enables backdrop blur
  • older GTK builds fall back to a more opaque surface style automatically

🛠️ Development

🧱 Build From Source

System packages required:

  • gtk4
  • libadwaita
  • gtksourceview-5
  • glib2
  • pkg-config
  • C build toolchain

Check the workspace:

cargo check --workspace

Run the GTK app:

cargo run -p enzimcoder-gtk --release

For local testing with isolated app data:

ENZIMCODER_PROFILE_HOME_DIR=/path/to/testdir cargo run -p enzimcoder-gtk --release

Build the release binary used by packaging:

cargo build -p enzimcoder-gtk --release --locked

Build the AppImage:

scripts/build_appimage.sh

🗂️ Project Layout

  • apps/gtk/ GTK app crate
  • crates/enzim_core/ shared core logic
  • src/ shared app/service layer used by the platform apps
  • packaging/ release packaging
  • icons/ bundled icon subset used by the resource file

📝 Notes

🚧 Status

This project is still in active iteration.

Core symbols most depended-on inside this repo

set_setting
called by 90
src/data/app_db_impl/profiles_chat.rs
get_setting
called by 61
src/data/app_db_impl/profiles_chat.rs
run_git_command
called by 46
apps/gtk/src/ui/components/git_tab/operations.rs
title
called by 34
apps/gtk/src/ui/components/settings_dialog.rs
set_plain_label_text
called by 34
apps/gtk/src/ui/components/chat/message_render.rs
backend_kind
called by 29
src/backend/mod.rs
path_join
called by 28
packaging/appimage/AppRun.c
scroll_to_bottom
called by 25
apps/gtk/src/ui/components/chat/message_render.rs

Shape

Function 1,090
Method 368
Class 112
Enum 20

Languages

Rust99%
C1%

Modules by API surface

src/backend/opencode.rs142 symbols
apps/gtk/src/ui/components/chat/message_render.rs130 symbols
apps/gtk/src/ui/components/chat/history.rs89 symbols
apps/gtk/src/ui/components/chat/composer.rs48 symbols
src/backend/mod.rs43 symbols
apps/gtk/src/ui/components/thread_list.rs42 symbols
src/restore/repository.rs40 symbols
apps/gtk/src/ui/components/chat/codex_runtime.rs38 symbols
src/data/app_db_impl/profiles_chat.rs36 symbols
apps/gtk/src/ui/components/file_preview.rs36 symbols
src/remote/runtime.rs33 symbols
src/data/app_db_impl/threads_runtime.rs33 symbols

For agents

$ claude mcp add enzim-coder \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact