RSM Studio is the reference implementation and collaborative editor for RSM (Readable Science Markup). Write documents that preserve semantic meaning, render beautifully on any device, and enable true interactivity. Real-time collaboration, universal device support, planned Pandoc integration for import/export.
Governance: Studio is community-maintained—open source, bug reports and maintenance contributions accepted. Part of the Aris Program, supported by community donations and academic grants.
- Frontend: Node.js
>=23, NPM>=10 - Backend: Python
>=3.13, PostgreSQL>=14, FastAPI>=0.115
-
Clone the repository
git clone https://github.com/leotrs/aris.git cd aris -
Install Just (task runner)
# macOS brew install just # Or download from: https://github.com/casey/just/releases
-
Initialize development environment
just init # Sets up all .env files and installs dependenciesCRITICAL: All environment variables are REQUIRED. The system will crash immediately if any are missing.
-
Start development containers
just dev # Starts all services in Docker containers
Tests use SQLite locally for fast iteration and PostgreSQL in CI for production-like testing. Backend tests run with 8 parallel workers for maximum speed.
# Run all tests
just test
# Run all checks (lint + typecheck + tests)
just check
# Backend tests only
cd backend && uv run pytest -n8
# Frontend unit tests
cd frontend && npm test
# E2E tests (requires both servers running)
cd frontend && npm run test:e2eFor detailed testing documentation, see CONTRIBUTING.md.
We welcome contributions! Please see our Contributing Guide for details.
Ensure all tests pass and code is linted before submitting PRs:
just check # Run all checksThis project is licensed under the MIT License - see the LICENSE file for details.
Made with <3 by leotrs.
Aris, empowering researchers, one draft at a time.