ManaVault is a Phoenix application with a Vite/React frontend and optional
Capacitor native shells. Tool versions are pinned in mise.toml.
mise- a platform that can run Elixir, Node, and SQLite
- macOS with Xcode only when building/running the iOS shell
Install the pinned toolchain, JavaScript dependencies, Elixir dependencies, database, and assets:
mise run setupStart Phoenix:
mise run devVisit http://localhost:4000.
Health check:
curl http://localhost:4000/health
# {"status":"ok"}Run the Elixir test suite:
mise run testRun the fuller local precommit suite:
mise run precommitUseful frontend commands:
aube run typecheck
aube run test:react
aube run buildGraphQL TypeScript artifacts are generated from codegen.ts:
aube run codegenInstall JavaScript dependencies and sync Capacitor native projects:
mise run setup:nativeAndroid uses the project-local Java and Android SDK toolchains declared in
mise.toml. Accept licenses and install SDK packages needed by Capacitor and
native-run:
mise run setup:android-sdkBuild, run, or open Android:
mise run android:build
mise run android:run
mise run android:openThe Android tasks sync the web/native metadata before building or running.
Sync or open iOS from macOS:
mise run ios:sync
mise run ios:openThe iOS project is checked into the repo and syncs from the same web assets, but building or running requires Xcode.
Release commands are documented in releasing.md. The short form is:
mise run changelog -- patch
mise run release -- patchUse minor or major instead of patch when the version bump requires it.