# Mike ![Mike](docs/assets/link-image.jpg) Mike (MikeOSS) is an open-source legal AI platform for document review, drafting, and legal research. It combines a Next.js frontend, an Express backend, Supabase Auth/Postgres, and Cloudflare R2-compatible object storage. Website: [mikeoss.com](https://mikeoss.com) ![Mike assistant home screen](docs/assets/mike-home.png) ## Features - Chat with legal documents and open matters - Review documents and apply suggested edits - Run reusable assistant and tabular-review workflows - Organize projects, folders, and a document library - Verify citations and research US case law with CourtListener - Work from Microsoft Word with the task-pane add-in - Run supported language models locally through Ollama ## Quick start The included Docker Compose stack runs Mike, Supabase, RustFS object storage, and local email capture without requiring managed infrastructure. 1. Copy the local environment templates: ```bash cp .env.example .env cp backend/.env.example backend/.env ``` 2. In `backend/.env`, set `DOWNLOAD_SIGNING_SECRET` and `USER_API_KEYS_ENCRYPTION_SECRET` to separate values generated with: ```bash openssl rand -hex 32 ``` 3. Add an Anthropic, Gemini, or OpenAI API key to `backend/.env`, unless you plan to use Ollama exclusively. 4. Start the stack. Either run the published images (built once in CI, with their Sentry source maps and release) by pinning a version in `.env`: ```bash echo "MIKE_IMAGE_TAG=$(cat VERSION)" >> .env docker compose pull && docker compose up --no-build -d ``` or build everything from this checkout: ```bash docker compose up --build ``` 5. Open [http://localhost:3000](http://localhost:3000) and create an account. To stop, run `npm run stack:down` rather than `docker compose stop`: stopped containers are never removed on their own and keep images and volumes in use. See "Stop and clean up" in `docs/local-development.md`. The bundled credentials and infrastructure are intended for local development only. See [Local development](docs/local-development.md) for service endpoints, authentication behavior, Ollama setup, and first-run guidance. ### Telemetry Mike sends scrubbed error reports (no document content, user identities, or request data) to the project's Sentry by default. Development builds (`next dev`, the backend run from source, the add-in's dev server) send nothing unless you set a DSN yourself. Set `SENTRY_DISABLED=true` to opt out, or set `SENTRY_DSN` and `FRONTEND_SENTRY_DSN` to use your own. Both take effect at runtime for the published images as well, because browser reports travel through the Next server. See the [observability guide](docs/observability.md) for the exact policy, per-runtime variables, and the [Sentry data audit](docs/sentry-data-audit.md). ## Repository | Path | Purpose | | --- | --- | | `frontend/` | Next.js web application | | `backend/` | Express API, document processing, and database access | | `word-addin/` | Microsoft Word task-pane add-in | | `backend/schema.sql` | Complete schema for fresh databases | | `backend/migrations/` | Dated migrations for existing deployments | | `docker-compose.yml` | Local application and infrastructure stack | | `docs/` | Development, deployment, testing, and feature guides | ## Documentation - [Documentation index](docs/README.md) - [Local development](docs/local-development.md) - [Manual and production deployment](docs/deployment.md) - [Troubleshooting](docs/troubleshooting.md) - [MCP connectors](docs/connectors.md) - [Google Workspace: Drive, Gmail, and Calendar](docs/google-workspace.md) - [CourtListener integration](docs/courtlistener.md) - [Microsoft Word add-in](word-addin/README.md) - [Tamper-evident exports](docs/tamper-evident-exports.md) - [Safe local testing](docs/safe-local-testing.md) - [Preset contract templates and publisher credits](docs/preset-templates.md) - [End-to-end testing and CI](docs/e2e-ci.md) - [Contributing](CONTRIBUTING.md) - [Open-source credits](CREDITS.md) - [Security policy](SECURITY.md) ## System workflows Mike's system assistant and tabular-review workflows are maintained in the [`Open-Legal-Products/mike-workflows`](https://github.com/Open-Legal-Products/mike-workflows) repository. See [Contributing](CONTRIBUTING.md#mike-workflows) for how they are packaged and synchronized with this application. ## License Mike is available under the [GNU Affero General Public License v3.0](LICENSE). Bundled [public contract templates](docs/preset-templates.md#maintaining-the-catalog) retain their publishers' separate licenses and notices.