diff --git a/README.md b/README.md index 2d8a6d34..beb37c84 100644 --- a/README.md +++ b/README.md @@ -1,74 +1,41 @@ -

+

- OpenIDEA + OpenIDEA -

+

-An open-source desktop IDE in the spirit of IntelliJ IDEA, built with Rust and Tauri. +

+ The IDE you know, rebuilt in Rust. +

-Not affiliated with JetBrains. IntelliJ IDEA is a trademark of JetBrains s.r.o. +

+ + OpenIDEA in 50 seconds: search, completion, usages, tests, debugger, commit + +
+ ▶ Watch the 50-second tour +

-> [!WARNING] -> OpenIDEA is early-stage software (0.1). Expect rough edges and breaking changes. +
-## Features +OpenIDEA brings the IntelliJ IDEA way of working — its keymap, its tool windows, +its search-everything habits — to a native app with a Rust core. -- **Editor** — CodeMirror 6 with tree-sitter highlighting, folding, multi-caret, - live templates and an IDEA-style keymap. -- **Code insight** — LSP-backed completion, navigation, find usages, rename and - refactorings, diagnostics and inspections, plus a fast project-wide index. -- **Search** — Search Everywhere, Go to File / Symbol / Action, Find in Files. -- **Run & debug** — run configurations, DAP debugging, test runner, coverage and - a profiler. -- **Build tools** — Maven and Gradle project sync and builds. -- **Version control** — Git (status, diff, commit, history, branches, blame) and - GitHub pull requests. -- **Tools** — integrated terminal, database client (PostgreSQL, MySQL, SQLite, - SSH tunnels), HTTP client, Docker, scratch files and TODO view. -- **Languages** — 60+ languages via declarative definitions in - [`languages/`](languages): detection, comments, language server and debug - adapter in one TOML file each. -- **Plugins** — sandboxed WebAssembly plugins against the [`wit/plugin.wit`](wit) - interface; see [`plugins/`](plugins) for examples. +Editor, code insight, debugger, Git, terminal, database and HTTP clients, +for 60+ languages. -## Building from source - -Requirements: Rust 1.96+, Node.js 22+, pnpm, and the -[Tauri prerequisites](https://v2.tauri.app/start/prerequisites/) for your platform. +## Build ```sh pnpm install -pnpm tauri dev # run the app in development mode -pnpm tauri build # produce a release bundle +pnpm tauri dev ``` -Language servers and debug adapters are not bundled; OpenIDEA finds them on -`PATH` or offers to download them on first use. - -## Development - -```sh -pnpm typecheck && pnpm lint && pnpm test # frontend -cargo nextest run --workspace # backend tests -cargo clippy --workspace --all-targets -- -D warnings -cargo fmt --all -pnpm gen:bindings # regenerate src/bindings.ts after IPC changes -pnpm perf && pnpm perf:rust # performance checks vs perf/budgets.json -``` - -Project layout: - -| Path | Contents | -| --- | --- | -| `crates/ide-*` | Backend crates, one domain each (VFS, index, LSP, DAP, VCS, run, …) | -| `src-tauri/` | Tauri app: state and thin IPC command adapters | -| `src/` | React UI: `platform/` (IPC, actions, keymaps), `workbench/`, `ui/` (design system), `features/` | -| `languages/` | Language definitions | -| `plugins/`, `wit/` | Example plugins and the plugin interface | +Rust 1.96, Node 22, pnpm and the [Tauri prerequisites](https://v2.tauri.app/start/prerequisites/). ## License -[Apache License 2.0](LICENSE); see [`NOTICE`](NOTICE). Bundled third-party assets, -including icons from the IntelliJ Platform, are listed in -[`THIRD_PARTY_LICENSES.md`](THIRD_PARTY_LICENSES.md). +[Apache 2.0](LICENSE). Bundled third-party assets are listed in [`THIRD_PARTY_LICENSES.md`](THIRD_PARTY_LICENSES.md). + +Not affiliated with JetBrains. IntelliJ IDEA is a trademark of JetBrains s.r.o. diff --git a/docs/media/openidea-promo-poster.jpg b/docs/media/openidea-promo-poster.jpg new file mode 100644 index 00000000..a9a57d01 Binary files /dev/null and b/docs/media/openidea-promo-poster.jpg differ diff --git a/docs/media/openidea-promo.mp4 b/docs/media/openidea-promo.mp4 new file mode 100644 index 00000000..9bbff688 Binary files /dev/null and b/docs/media/openidea-promo.mp4 differ