Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/meteor/meteor/llms.txt

Use this file to discover all available pages before exploring further.

Meteor Logo

What is Meteor?

Meteor is an ultra-simple environment for building modern web applications. It’s a full-stack JavaScript platform that allows you to build apps for web, iOS, Android, and desktop using the same codebase.

Modern JavaScript

Benefit from the latest technology updates to rapidly prototype and develop your applications with ES6+, TypeScript, and modern bundlers.

Real-Time by Default

Built-in data synchronization keeps your UI automatically in sync with the server through DDP (Distributed Data Protocol).

Universal JavaScript

Write isomorphic code that runs on both client and server. Share business logic, validation, and data models seamlessly.

Integrated Database

MongoDB integration out of the box with Minimongo on the client. No separate database setup required for development.

Key Features

Full-Stack Reactivity

Meteor’s reactive system automatically propagates data changes from the database to the UI without writing synchronization code.
import { Meteor } from 'meteor/meteor';
import { Mongo } from 'meteor/mongo';

// Define a collection (works on both client and server)
export const TasksCollection = new Mongo.Collection('tasks');

// Changes are automatically synchronized
await TasksCollection.insertAsync({ text: 'New task', completed: false });

Integrated Build System

Meteor 3.4+ uses Rspack by default for faster builds, Hot Module Replacement (HMR), and better control over bundle size. The platform also includes:
  • Automatic transpilation: ES6+, TypeScript, JSX support out of the box
  • Smart bundling: Code splitting and tree shaking
  • Development speed: Fast rebuilds with HMR
  • Package system: 140+ official packages for common functionality

Multiple Frontend Frameworks

Build with your preferred frontend framework:

React

First-class React support with hooks, Fast Refresh, and react-meteor-data integration.

Vue

Official Vue 3 support with reactive data bindings and composition API.

Blaze

Meteor’s own reactive templating engine for simple, powerful UIs.
Meteor also supports Svelte, Solid, and other modern frontend frameworks through community packages.

Built-In Features

Accounts & Authentication

Comprehensive user authentication system with multiple strategies:
import { Meteor } from 'meteor/meteor';
import { Accounts } from 'meteor/accounts-base';

// Create a user account
await Accounts.createUser({
  username: 'meteorite',
  password: 'secure-password',
  email: 'user@example.com'
});

// Login with password
Meteor.loginWithPassword(username, password);
Supported authentication methods:
  • Username/password (accounts-password)
  • OAuth providers (Google, Facebook, GitHub, Twitter, etc.)
  • Two-factor authentication (accounts-2fa)
  • Passwordless authentication (accounts-passwordless)

Publications & Methods

Secure, efficient data transfer with Publications (for data subscriptions) and Methods (for remote procedure calls):
// Server-side publication
Meteor.publish('tasks', function() {
  return TasksCollection.find({ userId: this.userId });
});

// Server-side method
Meteor.methods({
  async 'tasks.insert'(text) {
    return await TasksCollection.insertAsync({
      text,
      createdAt: new Date(),
      userId: this.userId
    });
  }
});

// Client-side usage
const isLoading = useSubscribe('tasks');
await Meteor.callAsync('tasks.insert', 'New task');

Platform Support

Build once, deploy everywhere:
  • Web: Progressive Web Apps with service workers
  • Mobile: iOS and Android via Cordova integration
  • Desktop: Electron support for native desktop apps
  • All platforms: Shared codebase with platform-specific customizations

Modern JavaScript Ecosystem

Meteor 3.0+ brings full async/await support and modern Node.js capabilities:
// Modern async patterns
const tasks = await TasksCollection.find({}).fetchAsync();
const result = await Meteor.callAsync('myMethod', arg1, arg2);

// Server-side async methods
Meteor.methods({
  async 'processData'(data) {
    const result = await externalAPI.fetch(data);
    return await TasksCollection.updateAsync({ _id: data.id }, result);
  }
});

Developer Experience

Zero Configuration

Start building immediately with sensible defaults. No webpack config, no database setup, no server configuration.

Hot Module Replacement

See changes instantly without losing application state. Rspack HMR keeps you in flow.

Integrated Testing

Built-in test runner with TinyTest for packages and support for Jest, Mocha, and other frameworks.

Rich Ecosystem

Access 140+ official packages and thousands of npm packages. Atmosphere package repository for Meteor-specific code.

Community & Resources

Deploy on Galaxy

Official cloud hosting platform optimized for Meteor applications.

Community Forums

Get help, share knowledge, and connect with other Meteor developers.

Discord Community

Real-time chat with the Meteor community and core team.

GitHub Repository

Contribute to Meteor, report issues, and track development.

Why Choose Meteor?

Rapid Development: Go from idea to production faster with integrated tools, real-time data, and full-stack JavaScript.
Proven at Scale: Used by thousands of companies worldwide for production applications serving millions of users.
Modern Stack: Stay current with the latest JavaScript features, Node.js versions, and build tools while maintaining simplicity.

Next Steps

Ready to start building with Meteor?

Installation

Install Meteor and set up your development environment in minutes.

Quick Start

Build your first Meteor app in under 10 minutes.

Tutorial

Follow our comprehensive tutorial to build a complete To-Do application.

API Documentation

Explore the complete Meteor API reference.