Browse documentation

Development

The technology stack, repository layout, check commands, release process and license for mIDE.

mIDE is an open-source Tauri desktop application. This page is for people reading or changing the code; installing the app is covered inGetting started.

Stack

Tauri 2 provides the native shell, Rust handles the backend, and the interface is React and TypeScript built with Vite. The editor is CodeMirror 6. Styles are ordinary CSS with no utility framework, and there is no global state library.

Desktop shell
Tauri 2 with a Rust backend in src-tauri.
Interface
React, TypeScript and Vite in src.
Editor
CodeMirror 6, with a pinned Prettier and Astro plugin for formatting.
Scope
One window, one project, local preferences. No telemetry or cloud services.

Repository layout

src/            React interface, editor, components and styles
src-tauri/      Rust backend, Tauri config and formatter resources
themes/         Built-in and example theme JSON files
docs/           Sources documentation and release notes
public/         Icons and third-party license notices
tests/          Unit and integration tests, plus fixtures
scripts/        Native smoke-test entry points

Product intent lives in PRODUCT.md, interface rules inDESIGN.md, and README.md describes actual behaviour. When they disagree, the README reflects what the application does.

Working on mIDE

Install Tauri's prerequisites, stable Rust and Node.js 22.12+ (Node 24 LTS recommended), then:

npm ci
npm run tauri dev

npm ci installs the pinned formatter resources alongside the frontend dependencies. Rust dependencies are locked insrc-tauri/Cargo.lock. Do not copy node_modulesbetween platforms or CPU architectures: formatter resources include a native Astro compiler built for the host.

A build produces the Linux AppImage withnpm run tauri build -- --bundles appimage, written tosrc-tauri/target/release/bundle/appimage/.

Checks

npm run build
npm test
cargo test --manifest-path src-tauri/Cargo.toml
cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets --all-features -- -D warnings
cargo fmt --manifest-path src-tauri/Cargo.toml --check

Formatter tests spawn Node, and PTY tests spawn the system shell. Environments that forbid child processes cannot run these integration checks faithfully.

CI is configured to run checks and executable builds on Linux, macOS and Windows without packaging installers. CI configuration is not evidence that other systems have been tested successfully: interactive verification has been done only on Arch Linux and Omarchy.

For an opt-in native Linux smoke test, seetests/VERIFICATION.md. The smoke-test feature and VITE_NATIVE_SMOKE=1build flag are test-only and absent from ordinary builds.

Releases

Pushing a matching v version tag runs the release workflow. It builds on Ubuntu 22.04 and uploads an AppImage and SHA256SUMS to a draft release for review before publication. Release notes live indocs/releases/<tag>.md.

License

mIDE is released under theMIT License. Third-party dependencies retain their own licenses. The bundled file icons are selected Devicon SVGs, with their notice inpublic/licenses/devicon.txt; MDX grammar notices are inpublic/licenses/mdx.txt.

Source, issues and releases:https://github.com/Morganczech/mIDE