Skip to content

Repository files navigation

Lithe app icon

Lithe

The IDEA-shaped core for AI-assisted development

Native macOS IDE · familiar workflows · a lighter memory footprint

AI writes the code. Lithe helps you see it, run it, and review it.

简体中文 · Core capabilities · Product tour · Use Lithe · Architecture · Develop Lithe · Contact us

Latest release macOS 14+ Swift 6.2+

SwiftUI and AppKit IDEA-style workflow Apache License 2.0

Download the latest release · View the repository

🧭
Familiar IDE core
Project · Editor · Search · Diff

Native and on demand
SwiftUI/AppKit with services that start when needed
🤖
AI-ready review loop
See, run, diff, undo, and commit external changes
🪶
Lighter footprint
Keep the resident app small and focused

Lithe Java editor and project tree

About Lithe

Lithe is a native macOS IDE built for AI-assisted development. It preserves the project browsing, editing, search, code navigation, Git, run, and debug workflows familiar to IntelliJ IDEA users while starting Java language services, terminals, Maven, and debug processes only when needed.

When an external AI tool changes a project, Lithe helps you locate the affected code, run the project, review the diff, and decide which changes to stage, undo, or commit.

A familiar IDE core with a lighter resource footprint.

Core capabilities

Workflow What Lithe provides
Project browsing Welcome screen, recent projects, file tree, file type icons, path breadcrumbs, and workspace restoration
Code reading Native multi-tab editor, basic Java highlighting, code folding, line numbers, saves, and dirty-state tracking
Java navigation Eclipse JDT LS definitions, references, implementations, workspace symbols, and live diagnostics
Search File name, path, full text, Search Everywhere, case/word/regex matching, and project replace
External changes FSEvents watching, create/delete/update refreshes, and disk-versus-editor conflict prompts
Git review Changes, side-by-side diff, diff search, hunk-level stage/revert, commit, shelf, branches, and Git graph
Build and run Maven roots, multimodule projects, profiles, lifecycle, build output, current file, Spring Boot, and Maven module
Java debug Local JDWP, Maven/Spring Boot debug, remote JVM/Tomcat attach, breakpoints, stepping, threads, and variables
Productivity Project-level local history, built-in terminal, draggable tool windows, and restored split layouts
Updates GitHub Release checks, matching artifact validation, confirmed replacement, and restart
Interface language English by default with Simplified Chinese available in Settings

Product tour

Welcome screen and recent projects Java editor and project tree

Search Everywhere JDT LS Java usages

Git diff review Spring Boot run configuration

Use Lithe

Lithe requires macOS 14 or later. Java project features require a JDK; JDK 17 or JDK 21 is recommended. Semantic navigation requires Eclipse JDT LS. Maven projects need either a project mvnw or a system Maven installation.

Download the latest macOS .dmg from GitHub Releases. If a release provides architecture-specific installers, choose arm64 for Apple silicon or x86_64 for an Intel Mac. Open the disk image, drag Lithe.app into /Applications, and launch it.

If macOS blocks an app from an unidentified developer, right-click the app and select Open, or go to System Settings → Privacy & Security → Open Anyway. Only after confirming that the app came from an official Lithe GitHub Release, you can also run:

xattr -dr com.apple.quarantine "/Applications/Lithe.app"
open "/Applications/Lithe.app"

Install JDT LS with Homebrew:

brew install jdtls

After opening a project, use Settings → Project to configure the project JDK, Maven, and the JDK used by Maven. Lithe also detects Java and Maven from common system locations.

Architecture

flowchart TB
    CORE["Shared Rust Core<br/>JSON C ABI and shared contracts"]

    subgraph MACOS["macOS · Available"]
        MUI["SwiftUI / AppKit Views"] --> MAPP["AppModel · Feature models · AppServices"]
        MAPP --> MADAPTERS["Native macOS adapters"]
        MADAPTERS --> MNATIVE["FSEvents · Process · PTY · Native UI"]
    end

    MAPP --> CORE

    subgraph WINDOWS["Windows · In development"]
        WUI["Qt Widgets Workbench<br/>Foundation available"] --> WAPP["C++ application workflows<br/>To be completed"]
        WAPP --> WCLIENT["C++ CoreClient<br/>Foundation available"]
        WAPP --> WADAPTERS["Win32 adapters<br/>Foundation available"]
        WADAPTERS --> WNATIVE["Win32 · ConPTY · File watching"]
        WAPP -.-> WPARITY["Full feature parity<br/>Planned"]
        WCLIENT -.-> WPACKAGE["Rust library integration and packaging<br/>Planned"]
        WNATIVE -.-> WBUILD["Native Windows build and validation<br/>To be completed"]
        WUI -.-> WSHIP["Installer · Updates<br/>Planned"]
    end

    WCLIENT --> CORE

    classDef planned fill:#fff3cd,stroke:#d97706,stroke-width:2px,stroke-dasharray:6 4,color:#111827
    class WAPP,WPARITY,WPACKAGE,WBUILD,WSHIP planned
Loading

Develop Lithe

Development requires Swift 6.2 or later. Running the complete test suite requires Xcode; basic SwiftPM builds only need Command Line Tools.

Run the development build from the repository root:

./scripts/preview.sh

The script builds and links Rust Core before launching the macOS app. To validate only the Swift source, run:

swift run --disable-sandbox Lithe

Build an app bundle:

./scripts/package-app.sh
open dist/Lithe.app

Before submitting a change, run:

swift test --disable-sandbox
./scripts/verify-core.sh
./scripts/verify-git-graph.sh
./scripts/verify-service-boundaries.sh
./scripts/verify-shared-contracts.sh
./scripts/verify-windows-boundaries.sh
./scripts/verify-rust-core.sh

See Repository layout and shared boundaries for directory ownership, cross-platform boundaries, and sharing rules. Include your verification steps and known limitations when submitting a change.

Project support

❤️ Sponsors

Code GO Code GO provides relay access to Claude models and supports the development of Lithe. Thank you to Code GO for supporting this project!
CodeZ relay service CodeZ provides relay access to GPT-family models and supports the development of Lithe. Thank you to CodeZ for supporting this project!
FastAI FastAI provides access to large language models and supports the development of Lithe. Thank you to FastAI for supporting this project!

⭐ Special thanks

LINUX DO

For all things AI, head to LINUX DO. Wishing the community ever greater success.

Contributors

Thank you to everyone who contributes to and improves Lithe.

Contributors

License

Lithe is licensed under the Apache License 2.0.

Star History

Star History Chart

Contact us

Join the Lithe-IDEA community group to discuss the project and share feedback, or contact the author directly.

Join the community group Contact the author
Lithe-IDEA community group QR code Author WeChat QR code

About

A lightweight, native macOS IDE inspired by IntelliJ IDEA.

Resources

Stars

74 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages