Skip to content

enz1m/enzim-coder

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages