-
-
Notifications
You must be signed in to change notification settings - Fork 1
Getting Started
The public web application is available at studio.openmanuscript.org. Native packages and platform notes are published from the Studio download page.
Studio works with structured OMI manuscripts and supports portable OMI packages (.omi.zip) and OMI JSON (.omi.json) alongside publication exports such as JATS XML, HTML, DOCX, EPUB, LaTeX, and supported desktop publishing formats.
Recommended baseline:
- Node.js 24
- npm
- Git
git clone https://github.com/open-manuscript-initiative/open-manuscript-studio.git
cd open-manuscript-studio
npm ci
npm run devVite serves the development client at the address printed in the terminal, normally http://localhost:5173.
npm run lint
npm test
npm run buildFor browser journeys:
npm run playwright:install
npm run test:e2eSee Playwright browser tests for headed and debug modes.
The API requires PostgreSQL and its own dependency installation. Create separate application and identity databases, then configure server/.env from server/.env.example.
cd server
npm ci
npm run prisma:generate:all
npm run prisma:migrate:dev
npm run prisma:migrate:identity:dev
npm run devThe default API port is 3001. The default frontend origin is http://localhost:5173.
The server configuration requires DATABASE_URL and a 64-character hexadecimal INTEGRATION_MASTER_KEY. Identity commands also require IDENTITY_DATABASE_URL. Generate the master key with:
openssl rand -hex 32Never commit .env, credentials, signing material, or integration secrets.
Desktop builds additionally require Rust stable and the platform-specific Tauri prerequisites.
npm run desktop:dev
npm run desktop:buildAndroid:
npm run android:init
npm run android:dev
npm run android:buildiOS/iPadOS requires macOS, Xcode, CocoaPods, Rust iOS targets, and Apple signing configuration for device or store builds:
npm run ios:init
npm run ios:dev
npm run ios:buildContinue with Build and Release or the repository's desktop and mobile guide.