Thank you for your interest in contributing! enowX-Coder is a Tauri-based AI code editor built with Rust + React + TypeScript.
- Backend:
src-tauri/β Rust (Tauri v2) - Frontend:
src/β React + TypeScript - Database: SQLite via
sqlx - AI: Streaming chat via OpenAI/Anthropic compatible providers
# Clone the repository
git clone https://github.com/enowdev/enowX-Coder.git
cd enowX-Coder
# Install frontend dependencies
bun install
# Run in development mode
cargo tauri devWe use Conventional Commits:
<type>(<scope>): <description>
| Type | Description |
|---|---|
feat |
New feature |
fix |
Bug fix |
refactor |
Code restructure, no behavior change |
chore |
Maintenance, tooling |
docs |
Documentation |
build |
Dependencies, build config |
test |
Adding/fixing tests |
perf |
Performance improvement |
Examples:
feat(chat): add model selector dropdown
fix(editor): resolve tab sync issue on file switch
refactor(agents): simplify prompt construction
docs: add setup guide for Linux
- Trunk-based development: branch from
main, short-lived branches only - Delete branches after merge
- Never force push to
main - Use
git add -p(interactive staging), never blindgit add .
- Use
AppErrorenum withthiserrorβ neverunwrap()in production paths - Commands are thin wrappers β all business logic in
services/ - All Tauri commands must be
async - Use
#[serde(rename_all = "camelCase")]on structs sent to frontend
- Strict TypeScript β no
as any, no@ts-ignore - Follow existing component patterns
Before submitting a PR:
- Make sure
cargo clippy -- -D warningspasses - Make sure
bunx tsc --noEmitpasses - Squash your commits into logical units
- Write a clear description of what changes and why
We follow Contributor Covenant. Be respectful, constructive, and inclusive.