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 pointsProduct 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 devnpm 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 --checkFormatter 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