Skip to content

kevinnft/enowX-Coder

Β 
Β 

Repository files navigation

πŸš€ enowX Coder

Agentic Coding Tools - AI-Powered Development Assistant

License Tauri React Rust TypeScript

A powerful desktop application that combines AI agents with an intuitive interface for enhanced coding workflows

Features β€’ Installation β€’ Usage β€’ Architecture β€’ Contributing


✨ Features

πŸ€– AI-Powered Chat Interface

  • Multi-Provider Support: Connect to enowX Labs, OpenAI, Anthropic, Google, or custom providers
  • Conversation Memory: Smart context management with sliding window (up to 20 message pairs)
  • Agent Execution Timeline: Visual representation of AI thinking process, tool usage, and results
  • Markdown Rendering: Full GitHub-flavored markdown with syntax highlighting
  • Code Block Actions: Copy, execute, or preview code directly from chat

🎨 Excalidraw Canvas Integration

  • Collaborative Whiteboard: Full-featured drawing canvas with shapes, arrows, text, and freehand tools
  • AI-Generated Diagrams: Describe what you want to draw, AI generates native Excalidraw elements
  • Context-Aware Editing: AI understands existing canvas elements for precise modifications
  • Auto-Save: Drawings persist per project with 1-second auto-save
  • Theme Sync: Dark/light mode automatically syncs with app theme

πŸ› οΈ Advanced Agent System

  • Multiple Specialized Agents: Orchestrator, Planner, Coder (FE/BE), Tester, Reviewer, Security, and more
  • Tool Execution: File operations, shell commands, web scraping, and custom tools
  • Permission System: User approval required for sensitive operations
  • Streaming Responses: Real-time token streaming for immediate feedback

🎯 Project Management

  • Multi-Project Support: Switch between projects seamlessly
  • Session History: Persistent chat sessions per project
  • SQLite Backend: Fast, reliable local storage for all data

πŸŒ“ Beautiful UI/UX

  • Warm Dark Mode: Claude-inspired color palette with terracotta accents
  • Responsive Layout: Three-panel layout with collapsible sidebars
  • Smooth Animations: Polished transitions and micro-interactions
  • Accessibility: Keyboard shortcuts and screen reader support

πŸ“Έ Screenshots

enowX Flux - AI Chat Interface

Powerful AI-powered conversations with enowX Flux integration and warm Claude-inspired dark theme

enowX Flux

Chat Interface - Light Mode

Clean and modern light theme for comfortable daytime coding

Light Mode

Excalidraw Canvas

Collaborative whiteboard with AI diagram generation

Canvas

Provider Settings

Manage multiple AI providers and models with enable/disable toggles

Settings


πŸš€ Installation

Prerequisites

  • Node.js 18+ or Bun 1.0+
  • Rust 1.75+ (for Tauri)
  • Git

Quick Start

# Clone the repository
git clone https://github.com/mhmmadazis/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 for Production

# Build the application
npm run tauri build
# or
bun run tauri build

The compiled application will be available in src-tauri/target/release/bundle/.


🎯 Usage

Getting Started

  1. Launch the Application

    • Run npm run tauri dev or open the built executable
  2. Configure AI Provider

    • Click the settings icon (βš™οΈ) in the top-right corner
    • Navigate to "Providers" tab
    • Add your API key for enowX Labs, OpenAI, Anthropic, or custom provider
    • Enable the provider and select a model
  3. Create a Project

    • Click "New Project" in the left sidebar
    • Enter project name and optional path
    • Start chatting with AI agents

Chat Commands

  • Ask Questions: Type naturally, AI understands context
  • Request Code: "Create a React component for user authentication"
  • Execute Tools: AI can read/write files, run shell commands (with permission)
  • Generate Diagrams: Switch to Canvas tab and describe what to draw

Canvas Mode

  1. Switch to Canvas: Click "Canvas" in the header segmented control
  2. Draw Manually: Use Excalidraw toolbar for shapes, arrows, text
  3. AI Generation: Type prompt in bottom bar (e.g., "Draw a system architecture diagram")
  4. Edit with AI: "Change the color of Database to blue" - AI modifies only that element

Keyboard Shortcuts

  • Ctrl/Cmd + N - New chat session
  • Ctrl/Cmd + , - Open settings
  • Ctrl/Cmd + B - Toggle left sidebar
  • Ctrl/Cmd + Shift + B - Toggle right sidebar
  • Esc - Close dialogs/modals

πŸ—οΈ Architecture

Tech Stack

Frontend

  • 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

Project Structure

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

Key Components

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

πŸ”§ Configuration

Environment Variables

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

Custom Providers

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

🀝 Contributing

Contributions are welcome! Please follow these guidelines:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'feat: add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Commit Convention

Follow Conventional Commits:

  • feat: - New feature
  • fix: - Bug fix
  • refactor: - Code refactoring
  • docs: - Documentation changes
  • chore: - Maintenance tasks
  • test: - Test additions/changes

Development Guidelines

  • Run cargo clippy before committing Rust code
  • Run npm run build to check TypeScript compilation
  • Test on multiple platforms (Windows, macOS, Linux)
  • Update CHANGELOG.md for notable changes

πŸ“ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.


πŸ™ Acknowledgments

  • Tauri Team - For the amazing cross-platform framework
  • Excalidraw - For the collaborative whiteboard library
  • Anthropic - For Claude AI inspiration and design patterns
  • enowX Labs - For AI infrastructure and model access

πŸ“ž Support


Built with ❀️ by the enowX Community

⭐ Star this repo if you find it useful!

About

Agentic Coding Tools

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 51.2%
  • Rust 47.2%
  • CSS 1.5%
  • HTML 0.1%