Agentic Coding Tools - AI-Powered Development Assistant
A powerful desktop application that combines AI agents with an intuitive interface for enhanced coding workflows
Features • Installation • Usage • Architecture • Contributing
Powerful AI-powered conversations with enowX Flux integration and warm Claude-inspired dark theme

Clean and modern light theme for comfortable daytime coding

Collaborative whiteboard with AI diagram generation

Manage multiple AI providers and models with enable/disable toggles

Prompt caching with Anthropic-format routing reduces token usage by 99.87% on repeated requests.
| Before | After | |
|---|---|---|
| Total Tokens | 19,819 | 26 |
| Prompt Tokens | 19,779 | 0 (cache hit) |
| Completion Tokens | 40 | 26 |
Before — Every request sends the full system prompt (~19K prompt tokens):

After — Prompt caching enabled via Anthropic Messages API format (0 prompt tokens on cache hit):

# Clone the repository
git clone https://github.com/enowdev/enowX-Coder.git
cd enowX-Coder
# Install dependencies
npm install
# or
bun install
# Run in development mode
npm run tauri dev
# or
bun run tauri dev
# Build the application
npm run tauri build
# or
bun run tauri build
The compiled application will be available in src-tauri/target/release/bundle/.
Run npm run tauri dev or open the built executable
Configure AI Provider
Enable the provider and select a model
Create a Project
Ctrl/Cmd + N - New chat sessionCtrl/Cmd + , - Open settingsCtrl/Cmd + B - Toggle left sidebarCtrl/Cmd + Shift + B - Toggle right sidebarEsc - Close dialogs/modalsFrontend - React 19 - UI framework with concurrent features - TypeScript - Type-safe development - Tailwind CSS 4 - Utility-first styling - Zustand - Lightweight state management - Excalidraw - Canvas whiteboard library
Backend - Rust - High-performance, memory-safe backend - Tauri 2 - Cross-platform desktop framework - SQLite - Embedded database via rusqlite - Tokio - Async runtime for concurrent operations
enowX-Coder/
├── src/ # React frontend
│ ├── components/ # UI components
│ │ ├── chat/ # Chat interface components
│ │ ├── canvas/ # Excalidraw canvas
│ │ ├── layout/ # App shell and layout
│ │ ├── settings/ # Settings panels
│ │ └── ui/ # Reusable UI primitives
│ ├── stores/ # Zustand state stores
│ ├── types/ # TypeScript type definitions
│ └── lib/ # Utility functions
│
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── agents/ # AI agent implementations
│ │ ├── commands/ # Tauri commands (IPC)
│ │ ├── services/ # Business logic layer
│ │ ├── models/ # Data models
│ │ ├── tools/ # Agent tool executors
│ │ └── state.rs # Application state
│ ├── migrations/ # SQLite schema migrations
│ └── Cargo.toml # Rust dependencies
│
├── public/ # Static assets
├── screenshots/ # Application screenshots
└── CHANGELOG.md # Version history
Agent System (src-tauri/src/agents/)
- runner.rs - Main agent execution loop with ReAct pattern
- prompts/ - Specialized agent prompts (Orchestrator, Coder, Tester, etc.)
Services (src-tauri/src/services/)
- chat_service.rs - Message handling, streaming, conversation memory
- provider_service.rs - AI provider management and API calls
- drawing_service.rs - Canvas persistence and AI diagram generation
- agent_service.rs - Agent configuration and execution
State Management - Frontend: Zustand stores for UI state, chat, projects, settings - Backend: Tauri managed state with Arc<Mutex<>> for thread-safe access
Create a .env file in the project root (optional):
# Default AI Provider
DEFAULT_PROVIDER=enowx-labs
# API Keys (can also be set in UI)
ENOWX_API_KEY=your_key_here
OPENAI_API_KEY=your_key_here
ANTHROPIC_API_KEY=your_key_here
Add custom AI providers via Settings UI: 1. Click "+ Add Provider" 2. Enter provider name, base URL, and API key 3. Add models manually or fetch from API 4. Enable provider and select model
Contributions are welcome! Please follow these guidelines:
git checkout -b feature/amazing-featuregit commit -m 'feat: add amazing feature'git push origin feature/amazing-featureFollow Conventional Commits:
- feat: - New feature
- fix: - Bug fix
- refactor: - Code refactoring
- docs: - Documentation changes
- chore: - Maintenance tasks
- test: - Test additions/changes
cargo clippy before committing Rust codenpm run build to check TypeScript compilationThis project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Built with ❤️ by the enowX Community
⭐ Star this repo if you find it useful!
$ claude mcp add enowX-Coder \
-- python -m otcore.mcp_server <graph>